diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 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.16.0.73.ebuild b/app-editors/jove/jove-4.16.0.73.ebuild new file mode 100644 index 000000000000..d3d1fcbad232 --- /dev/null +++ b/app-editors/jove/jove-4.16.0.73.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="Jonathan's Own Version of Emacs - a light emacs-like editor without LISP bindings" +HOMEPAGE="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/" +SRC_URI="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/${PN}${PV}.tgz" + +LICENSE="JOVE" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="doc" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/${PN}${PV}" + +src_prepare() { + epatch "${FILESDIR}/${PN}-4.16.0.70.3.1-getline.patch" + epatch "${FILESDIR}/${P}-build.patch" + epatch "${FILESDIR}/${P}-sendmail.patch" + epatch "${FILESDIR}/${P}-doc.patch" +} + +src_compile() { + tc-export CC + + emake OPTFLAGS="${CFLAGS}" \ + SYSDEFS="-DSYSVR4 -D_XOPEN_SOURCE=500" \ + TERMCAPLIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)" + + if use doc; then + # Full manual (*not* man page) + emake doc/jove.man + fi +} + +src_install() { + emake DESTDIR="${D}" install + keepdir /var/lib/jove/preserve + + dodoc README + if use doc; then + dodoc doc/jove.man + fi +} diff --git a/app-editors/jove/metadata.xml b/app-editors/jove/metadata.xml new file mode 100644 index 000000000000..5c7a37a88b60 --- /dev/null +++ b/app-editors/jove/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> + Jove is a compact, powerful, Emacs-style text-editor. It provides the common + emacs keyboard bindings, together with a reasonable assortment of the most + popular advanced features (e.g., interactive shell windows, compile-it, + language specific modes) while weighing in with CPU, memory, and disk + requirements comparable to vi. +</longdescription> +</pkgmetadata> diff --git a/app-editors/juffed/Manifest b/app-editors/juffed/Manifest new file mode 100644 index 000000000000..7a99c7f300e1 --- /dev/null +++ b/app-editors/juffed/Manifest @@ -0,0 +1 @@ +DIST juffed-0.10-1054.tar.bz2 1657118 SHA256 ac58d32acaf9d60e4758e9ae05b1a6b7fc0cb7ecd3b207db769dbb9c747be16c SHA512 023e9fca1f02fdb39645bd41700c7481fe8d6ae08ec62b0bf5ba58f627eb6872f96d27f05eae4bc92d90fd204dd0c30f868c858de873ab6511ac21748254b47c WHIRLPOOL ceb9e0dc9100dd5f2578abc14fff336adf664726d8e347f9832ffc4942c36e6e28aaff931fd528e6f572bcb29e4027ee486a82ee93d216d0751b5d8aa4233f6c diff --git a/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch b/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch new file mode 100644 index 000000000000..5bd3882309ae --- /dev/null +++ b/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ccad5d1..304c0aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -190,6 +190,9 @@ add_library ( ${JUFFLIB} SHARED + target_link_libraries ( ${JUFFLIB} + ${QT_LIBRARIES} + ) ++if (ENCA_FOUND) ++ target_link_libraries( ${JUFFLIB} ${ENCA_LIBRARIES} ) ++endif (ENCA_FOUND) + + add_library ( ${QSCI_ENGINE} SHARED + ${juffed_qsci_SRCS} +@@ -277,9 +280,6 @@ target_link_libraries ( ${JUFFED} + ${QT_LIBRARIES} + ${QT_QTNETWORK_LIBRARY} + ) +-if (ENCA_FOUND) +- target_link_libraries( ${JUFFED} ${ENCA_LIBRARIES} ) +-endif (ENCA_FOUND) + + if ( UNIX ) + set(CMAKE_CXX_FLAGS "-Wall -Werror -Wextra") diff --git a/app-editors/juffed/juffed-0.10.ebuild b/app-editors/juffed/juffed-0.10.ebuild new file mode 100644 index 000000000000..068d98c47087 --- /dev/null +++ b/app-editors/juffed/juffed-0.10.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 cmake-utils + +DESCRIPTION="QScintilla-based tabbed text editor with syntax highlighting" +HOMEPAGE="http://juffed.com/" +SRC_URI="mirror://sourceforge/${PN}/${P}-1054.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc ~ppc64 x86" +IUSE="debug" + +RDEPEND=" + app-i18n/enca + dev-qt/qtcore:4 + dev-qt/qtgui:4 + dev-qt/qtsingleapplication[qt4(+),X] + x11-libs/qscintilla:= +" +DEPEND="${RDEPEND}" + +DOCS=( ChangeLog README ) + +PATCHES=( + # bug 540554 + "${FILESDIR}/0.10-link-libjuff-against-libenca.patch" +) + +src_prepare() { + cmake-utils_src_prepare + + sed -i -e '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON + ) + cmake-utils_src_configure +} diff --git a/app-editors/juffed/metadata.xml b/app-editors/juffed/metadata.xml new file mode 100644 index 000000000000..ac2cf167fb14 --- /dev/null +++ b/app-editors/juffed/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>qt</herd> + <upstream> + <remote-id type="sourceforge">juffed</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/jupp/Manifest b/app-editors/jupp/Manifest new file mode 100644 index 000000000000..864564c1ba6f --- /dev/null +++ b/app-editors/jupp/Manifest @@ -0,0 +1,4 @@ +DIST joe-3.1jupp23.tgz 446234 SHA256 7f8b2e76ebb39544f5bbca2e4f7463f2afb685bc11f16603163acc3e8af0bae1 SHA512 df90b25013211407ab6476492c483d4707315629730b2bf891ad9d1b5dcd007eec1cc69872d8f2f08c7a1b4940a7284e5bd45d5839fbf9bd5878c96a9538b770 WHIRLPOOL f6fef8af3376017a3637dedfbcec0fef112e16f1a48aeef96ed35afeb8e7b983b393eaf598103e3139ad5b2c9592c61775f81425f2a109bc41d3ea99bdb1a7f3 +DIST joe-3.1jupp24.tgz 446572 SHA256 3bd25ad5c9364ce0ff33ec346ec34cbeff990e5d2be35960d68d79910f98cf55 SHA512 5f15e0339a087a947cb52e62ee4b12e1e101dd8459acfeb4a6eba6cb701149902c33df4a8903d6b96dc01264c4c7d2910be4a7ca37d54a15f327f16afeb5fa51 WHIRLPOOL 2d652d517d8b9a7c0999f245876781e50e0cfb42afa54963ff31ae92c0824b35e7117a39b5addf9600daeb9d2fe197a706e0cd5d2d488bdce6a9f070f69d3e31 +DIST joe-3.1jupp26.tgz 446563 SHA256 99985d6f0db5cc59ba45b30291ce6c3ef9626637f0cca039b2e03484cf5dda42 SHA512 478f5489534d109fa2ac0c5f6ae783cfdb1a8ac6df9d67bb09e11708e9a578bd1a5306916c33b98447c29b551aec593f6defa8a5a2ea70acb35c8f72da8dbbc3 WHIRLPOOL b2f743375f4f8c8484f1fa5a6d724989b7a8e393c892c773bb4b39d538e4433b43623415919e87fb808a3c3e5e0ef9782251f0c9cddc1c295018349e40968161 +DIST joe-3.1jupp27.tgz 455759 SHA256 80374fbd69c4b827ba33761c669dfcddab7222755bfb858600528bb8d6b98e6f SHA512 9f7b86275ed69151e79c2b8bea4e6e0b4fbaa4093646dbd894824d8cbe5a57ead385c5f37b102bd2647f14f5426791c8d8d9fab12b8951fd27a0be79ca72c96c WHIRLPOOL 617c390957aa0ef48a65d174123155c525a62c654c530bdda7cc54f3e05151200e8768d79d537cdf51154ce6d5827d2d73555e20d19f63b74c8af123f0410bfb diff --git a/app-editors/jupp/jupp-3.1_p23.ebuild b/app-editors/jupp/jupp-3.1_p23.ebuild new file mode 100644 index 000000000000..c72e5e33260b --- /dev/null +++ b/app-editors/jupp/jupp-3.1_p23.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="portable version of JOE's Own Editor" +HOMEPAGE="https://www.mirbsd.org/jupp.htm" +SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="~amd64" +IUSE="ncurses" + +RDEPEND="ncurses? ( sys-libs/ncurses ) + !app-editors/joe" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${PN} + +src_prepare() { + chmod +x configure +} + +src_configure() { + econf \ + --enable-search_libs \ + --enable-termcap \ + $(use_enable ncurses curses) +} + +src_install() { + default + dodoc HINTS INFO LIST +} diff --git a/app-editors/jupp/jupp-3.1_p24.ebuild b/app-editors/jupp/jupp-3.1_p24.ebuild new file mode 100644 index 000000000000..939dbd89d599 --- /dev/null +++ b/app-editors/jupp/jupp-3.1_p24.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="portable version of JOE's Own Editor" +HOMEPAGE="https://www.mirbsd.org/jupp.htm" +SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ncurses" + +RDEPEND="ncurses? ( sys-libs/ncurses ) + !app-editors/joe" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${PN} + +src_prepare() { + chmod +x configure +} + +src_configure() { + econf \ + --enable-search_libs \ + --enable-termcap \ + $(use_enable ncurses curses) +} + +src_install() { + default + dodoc HINTS INFO LIST +} diff --git a/app-editors/jupp/jupp-3.1_p26.ebuild b/app-editors/jupp/jupp-3.1_p26.ebuild new file mode 100644 index 000000000000..939dbd89d599 --- /dev/null +++ b/app-editors/jupp/jupp-3.1_p26.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="portable version of JOE's Own Editor" +HOMEPAGE="https://www.mirbsd.org/jupp.htm" +SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ncurses" + +RDEPEND="ncurses? ( sys-libs/ncurses ) + !app-editors/joe" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${PN} + +src_prepare() { + chmod +x configure +} + +src_configure() { + econf \ + --enable-search_libs \ + --enable-termcap \ + $(use_enable ncurses curses) +} + +src_install() { + default + dodoc HINTS INFO LIST +} diff --git a/app-editors/jupp/jupp-3.1_p27.ebuild b/app-editors/jupp/jupp-3.1_p27.ebuild new file mode 100644 index 000000000000..b14c6b8edbba --- /dev/null +++ b/app-editors/jupp/jupp-3.1_p27.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="portable version of JOE's Own Editor" +HOMEPAGE="https://www.mirbsd.org/jupp.htm" +SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ncurses" + +RDEPEND="ncurses? ( sys-libs/ncurses ) + !app-editors/joe" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${PN} + +src_prepare() { + chmod +x configure +} + +src_configure() { + econf \ + --enable-search_libs \ + --enable-termcap \ + $(use_enable ncurses curses) +} + +src_install() { + default + dodoc HINTS INFO LIST +} diff --git a/app-editors/jupp/metadata.xml b/app-editors/jupp/metadata.xml new file mode 100644 index 000000000000..5b80fb94c393 --- /dev/null +++ b/app-editors/jupp/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> +<email>xmw@gentoo.org</email> +<name>Michael Weber</name> +</maintainer> +</pkgmetadata> diff --git a/app-editors/kile/Manifest b/app-editors/kile/Manifest new file mode 100644 index 000000000000..6e062fc04396 --- /dev/null +++ b/app-editors/kile/Manifest @@ -0,0 +1 @@ +DIST kile-2.1.3.tar.bz2 4911212 SHA256 a063ec4fca1ba5a063ffdcdb538967af35ade01d71fa7db6ea691ba2cf88cea2 SHA512 820cb5e2579f243ce87409aa4d483a58b0a2cf1d86bff72dd12264570bfe72e7819c88aa4333080f8281e54e8315e2c11f961b41f13a6215913dfa4f7bd3feda WHIRLPOOL 1bc56ad82c72807fcf93ffeb4dbd4222a7660c00e852378a9007c7aa4a96a5130497ca23815a74c92f631fcb261dbf35f7d5453e849f6fb82c9f3c802058ab31 diff --git a/app-editors/kile/kile-2.1.3-r1.ebuild b/app-editors/kile/kile-2.1.3-r1.ebuild new file mode 100644 index 000000000000..e6f2e9ee83bb --- /dev/null +++ b/app-editors/kile/kile-2.1.3-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +KDE_DOC_DIRS="doc" +KDE_HANDBOOK="optional" +MY_P=${P/_beta/b} +inherit kde4-base + +DESCRIPTION="A Latex Editor and TeX shell for KDE" +HOMEPAGE="http://kile.sourceforge.net/" +[[ ${PV} != *9999* ]] && SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2" + +LICENSE="FDL-1.2 GPL-2" +KEYWORDS="amd64 ~ppc x86" +SLOT="4" +IUSE="debug +pdf +png" + +DEPEND=" + x11-misc/shared-mime-info +" +RDEPEND="${DEPEND} + $(add_kdeapps_dep kdebase-data) + $(add_kdeapps_dep konsole) + || ( + $(add_kdeapps_dep okular 'pdf?,postscript') + app-text/acroread + ) + virtual/latex-base + virtual/tex-base + pdf? ( + || ( + app-text/dvipdfmx + >=app-text/texlive-core-2014 + ) + app-text/ghostscript-gpl + ) + png? ( + app-text/dvipng + media-gfx/imagemagick[png] + ) +" + +S=${WORKDIR}/${MY_P} + +DOCS=( kile-remote-control.txt ) + +src_prepare() { + kde4-base_src_prepare + + # I know upstream wants to help us but it doesn't work.. + sed -e '/INSTALL( FILES AUTHORS/s/^/#DISABLED /' \ + -i CMakeLists.txt || die + + [[ ${PV} != *9999* ]] && { use handbook || rm -fr doc ; } +} diff --git a/app-editors/kile/metadata.xml b/app-editors/kile/metadata.xml new file mode 100644 index 000000000000..184766816831 --- /dev/null +++ b/app-editors/kile/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>kde</herd> + <herd>tex</herd> + <upstream> + <remote-id type="sourceforge">kile</remote-id> + <bugs-to>https://bugs.kde.org/</bugs-to> + </upstream> +</pkgmetadata> diff --git a/app-editors/latexila/Manifest b/app-editors/latexila/Manifest new file mode 100644 index 000000000000..637ae354f647 --- /dev/null +++ b/app-editors/latexila/Manifest @@ -0,0 +1,2 @@ +DIST latexila-3.14.4.tar.xz 1139644 SHA256 8e087040260a6eb777382c55fd3d1260f1686453052ccdf1a5b9e0e4178c4d62 SHA512 88b3f2c8d931e49370614021f69e0711b3e78b1e49ad99601ea70f570c551b4f89558fdc3f5abaf68adba4e819a542ba3159c830b134c7e9679fbeffe8f3934d WHIRLPOOL 2d2925470e2fd27fa79b553ec8e1e9442c7817df36a907c47ace3b6b33d58977ae571aec6cc3f787e6de98c679f355592add59e3bf2e04d7090d75d8aae17068 +DIST latexila-3.16.1.tar.xz 1059308 SHA256 ab2d769546e10c86670e86271024c023c0a87f1b72856955c1883416a9f333f0 SHA512 b6854a301006c04c6f87cc3e9d5fc167ac7b3e0c7ac11fdce3dd6a0dca74d69b3ec51130feb8a8af505b50f6f85cb0684f7102bf5cc976fe1f845dd604863314 WHIRLPOOL 30ce694b1ddb5d71932679d31fb890aca0afc71634d6cdf744faddd792f47589c7593c43b6476b932002d70f74f4c738cef38f38fc6caa0452b1e13b205c57cc diff --git a/app-editors/latexila/latexila-3.14.4.ebuild b/app-editors/latexila/latexila-3.14.4.ebuild new file mode 100644 index 000000000000..485b38dcefd0 --- /dev/null +++ b/app-editors/latexila/latexila-3.14.4.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +VALA_MIN_API_VERSION="0.26" + +inherit gnome2 vala + +DESCRIPTION="Integrated LaTeX environment for GNOME" +HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="+latexmk rubber" + +COMMON_DEPEND=" + app-text/enchant + >=app-text/gtkspell-3.0.4:3 + >=dev-libs/glib-2.40:2[dbus] + >=dev-libs/libgee-0.10:0.8= + gnome-base/gsettings-desktop-schemas + >=x11-libs/gtk+-3.14:3 + >=x11-libs/gtksourceview-3.14.3:3.0 + x11-libs/gdk-pixbuf:2 + x11-libs/libX11 + x11-libs/pango + $(vala_depend) +" +RDEPEND="${COMMON_DEPEND} + virtual/latex-base + x11-themes/hicolor-icon-theme + latexmk? ( dev-tex/latexmk ) + rubber? ( dev-tex/rubber ) +" +DEPEND="${COMMON_DEPEND} + >=dev-util/intltool-0.50.1 + dev-util/itstool + virtual/pkgconfig +" + +src_prepare() { + DOCS="AUTHORS HACKING NEWS README" + gnome2_src_prepare + vala_src_prepare +} diff --git a/app-editors/latexila/latexila-3.16.1.ebuild b/app-editors/latexila/latexila-3.16.1.ebuild new file mode 100644 index 000000000000..ec405657d66e --- /dev/null +++ b/app-editors/latexila/latexila-3.16.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +VALA_MIN_API_VERSION="0.26" +VALA_USE_DEPEND="vapigen" + +inherit gnome2 vala + +DESCRIPTION="Integrated LaTeX environment for GNOME" +HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+introspection +latexmk rubber" + +COMMON_DEPEND="$(vala_depend) + app-text/enchant + >=app-text/gtkspell-3.0.4:3 + >=dev-libs/glib-2.40:2[dbus] + >=dev-libs/libgee-0.10:0.8= + gnome-base/gsettings-desktop-schemas + >=x11-libs/gtk+-3.14:3 + >=x11-libs/gtksourceview-3.16:3.0 + x11-libs/gdk-pixbuf:2 + x11-libs/libX11 + x11-libs/pango + introspection? ( >=dev-libs/gobject-introspection-1.30.0:= ) +" +RDEPEND="${COMMON_DEPEND} + virtual/latex-base + x11-themes/hicolor-icon-theme + latexmk? ( dev-tex/latexmk ) + rubber? ( dev-tex/rubber ) +" +DEPEND="${COMMON_DEPEND} + >=dev-util/gtk-doc-am-1.14 + >=dev-util/intltool-0.50.1 + dev-util/itstool + virtual/pkgconfig +" + +src_prepare() { + DOCS="AUTHORS HACKING NEWS README" + gnome2_src_prepare + vala_src_prepare +} + +src_configure() { + gnome2_src_configure \ + $(use_enable introspection) +} diff --git a/app-editors/latexila/metadata.xml b/app-editors/latexila/metadata.xml new file mode 100644 index 000000000000..bba9d6cb634f --- /dev/null +++ b/app-editors/latexila/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +<use> + <flag name="latexmk">Install <pkg>dev-tex/latexmk</pkg> (used by default + for the build tools)</flag> + <flag name="rubber">Install <pkg>dev-tex/rubber</pkg> (can be used for the + build tools)</flag> +</use> +</pkgmetadata> diff --git a/app-editors/le/Manifest b/app-editors/le/Manifest new file mode 100644 index 000000000000..b55fc3de09aa --- /dev/null +++ b/app-editors/le/Manifest @@ -0,0 +1 @@ +DIST le-1.14.3.tar.lzma 392205 SHA256 dae1222168f388f0aa264bb2849df50ce0a51f565257327409adf5076c6b4379 SHA512 5f09680ba365d80a71dcb09975d2347c0dcb725b8db6c08588fadd82a3a844bd370c3de597b644c57ecfed1c4557d22544a6e9aee6323b1e43f6d8c423843339 WHIRLPOOL 2cee978d8eadea0d213e514318f3ce780d037ce1059503441ad625e09033f2149579496d6effe9508a5059b7c0c10976970c641c0177b2918e8607ce05b2e960 diff --git a/app-editors/le/le-1.14.3.ebuild b/app-editors/le/le-1.14.3.ebuild new file mode 100644 index 000000000000..e168400f2593 --- /dev/null +++ b/app-editors/le/le-1.14.3.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DESCRIPTION="Terminal text editor" +HOMEPAGE="http://www.gnu.org/directory/text/editors/le-editor.html" +SRC_URI="ftp://ftp.yars.free.net/pub/source/le/le-${PV}.tar.lzma" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" + +RDEPEND=">=sys-libs/ncurses-5.2-r5" +DEPEND="${RDEPEND} + app-arch/xz-utils" + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + dodoc ChangeLog FEATURES HISTORY INSTALL NEWS README TODO +} diff --git a/app-editors/le/metadata.xml b/app-editors/le/metadata.xml new file mode 100644 index 000000000000..d9cd2cad66c2 --- /dev/null +++ b/app-editors/le/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/leafpad/Manifest b/app-editors/leafpad/Manifest new file mode 100644 index 000000000000..1a3c54cc6622 --- /dev/null +++ b/app-editors/leafpad/Manifest @@ -0,0 +1 @@ +DIST leafpad-0.8.18.1.tar.gz 289117 SHA256 959d22ae07f22803bc66ff40d373a854532a6e4732680bf8a96a3fbcb9f80a2c SHA512 1caad712967f634f585ab32e406534b5ce2c5621008c1eb5b2b48f17ca0f48cd834ea2ea1c67eda4053fa84e8727ff0e708e99d3b5dad838dcf0701389788257 WHIRLPOOL a279cd431483595439fe79b3d842573d42c33b81d3d3a022ed2a54e490e508c1ad7f39c80467ec0175312de381680274c7c4b3c30a6300b739ffc47ab8da8cdd diff --git a/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch b/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch new file mode 100644 index 000000000000..f978275ce399 --- /dev/null +++ b/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch @@ -0,0 +1,21 @@ +desktop-file-validate: + +leafpad.desktop: error: value "text/plain" for string list key "MimeType" in group "Desktop Entry" +does not have a semicolon (';') as trailing character + +leafpad.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated + +--- data/leafpad.desktop.in ++++ data/leafpad.desktop.in +@@ -1,10 +1,9 @@ + [Desktop Entry] +-Encoding=UTF-8 + _Name=Leafpad + _Comment=Simple text editor + Exec=leafpad %f + Icon=leafpad + Terminal=false + Type=Application +-MimeType=text/plain ++MimeType=text/plain; + Categories=GTK;Utility;TextEditor; diff --git a/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch b/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch new file mode 100644 index 000000000000..07f1e2ee111d --- /dev/null +++ b/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch @@ -0,0 +1,30 @@ +- dialog.c:39:3: error: format not a string literal and no format arguments [-Werror=format-security] + +--- src/dialog.c ++++ src/dialog.c +@@ -36,6 +36,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + type, + GTK_BUTTONS_NONE, ++ "%s", + str); + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_dialog_add_buttons(GTK_DIALOG(dialog), +@@ -61,6 +62,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_NONE, ++ "%s", + str); + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_dialog_add_buttons(GTK_DIALOG(dialog), +--- src/gtkprint.c ++++ src/gtkprint.c +@@ -165,6 +165,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_NONE, ++ "%s", + message); + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_dialog_add_buttons(GTK_DIALOG(dialog), diff --git a/app-editors/leafpad/leafpad-0.8.18.1.ebuild b/app-editors/leafpad/leafpad-0.8.18.1.ebuild new file mode 100644 index 000000000000..a2a995e6a2f1 --- /dev/null +++ b/app-editors/leafpad/leafpad-0.8.18.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils fdo-mime gnome2-utils + +DESCRIPTION="A simple GTK2 text editor" +HOMEPAGE="http://tarot.freeshell.org/leafpad/" +SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~x86-interix ~amd64-linux ~x86-linux" +IUSE="emacs" + +RDEPEND="virtual/libintl + x11-libs/gtk+:2" +DEPEND="${RDEPEND} + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +DOCS="AUTHORS ChangeLog NEWS README" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-fdo.patch \ + "${FILESDIR}"/${P}-format-security.patch +} + +src_configure() { + econf \ + --enable-chooser \ + --enable-print \ + $(use_enable emacs) +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} diff --git a/app-editors/leafpad/metadata.xml b/app-editors/leafpad/metadata.xml new file mode 100644 index 000000000000..f7204cc3c2ff --- /dev/null +++ b/app-editors/leafpad/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>tristan@gentoo.org</email> + <name>Tristan Heaven</name> + </maintainer> + <use> + <flag name="emacs">Enable Emacs key theme</flag> + </use> +</pkgmetadata> diff --git a/app-editors/leo/Manifest b/app-editors/leo/Manifest new file mode 100644 index 000000000000..6bc13108f74e --- /dev/null +++ b/app-editors/leo/Manifest @@ -0,0 +1,3 @@ +DIST Leo-4.11-final.zip 7282503 SHA256 eb1fd0e07533db4886fd7962a7d7431244b75239fd161395859e20a7e0f6ba62 SHA512 01bd8e433d25d16d3a824fb917da1f974a3a06fa19f25c0686031e03af62bad281fc10a62ac95ef463b0cc0acdb8c566f25b434a28dd12469cc489f4fc60e526 WHIRLPOOL 64c2d229c2a2ad6887739ee94de98c89f09d5fb1f2246fc446b4bb52496d52e412bcdf258fbbe12b85ed17372c2bd4272c246da65234114087fee02d27c7ac2b +DIST Leo-5.0-final.zip 8628999 SHA256 5635ac753b011a43a3096e5dc18e2d5c6e9f628a40c0ba628c789bccb10928d1 SHA512 771b00857143ea6de48bc0f1ace5c4518265462c8720a5b52868cf0490f4de7f4d987fd939141e00bf0c7abaddf1cb4b18a6186151739f6ec2024fd50d564c6e WHIRLPOOL b9cc3c22dcc4da204a00cdd2eec48f3e001cd5e4ba20e730f4bef0aadbc4e6c6f03521e1e04bc313b8f29479f1e839dbaac322af8b32a99bb46304677f135db1 +DIST Leo-5.1-final.zip 9028778 SHA256 2d742f9825959ba5c7624d1179b9f3065e14e055c90272fbce199f91770de826 SHA512 a8e1d42c0b7c8f6aa4465295515ef19965a03142997a1b65304fd72a2c541248b7dba66d7be295465fd6dbdd7fcd5c6e6542d222edb71ddcab093c0c360340b1 WHIRLPOOL b1a5bb5ba2a2a6c8afe3339a0097d0dadd01e7c18b3270784f69eb608691808bc99cf887be1079340f797b9659cd00ba2d372d3e37bf62b28774ed571a743301 diff --git a/app-editors/leo/leo-4.11.ebuild b/app-editors/leo/leo-4.11.ebuild new file mode 100644 index 000000000000..c096d5f55a8f --- /dev/null +++ b/app-editors/leo/leo-4.11.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" +PYTHON_DEPEND="2:2.6" +PYTHON_USE_WITH="tk" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="2.4 2.5 3.* *-pypy-* *-jython" + +inherit distutils eutils + +MY_P="Leo-${PV}-final" + +DESCRIPTION="Leo: Literate Editor with Outlines" +HOMEPAGE="http://leo.sourceforge.net/ http://pypi.python.org/pypi/leo" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" + +RDEPEND="app-text/silvercity + dev-python/PyQt4[X]" + +DEPEND="${RDEPEND} + app-arch/unzip" + +S="${WORKDIR}/${MY_P}" + +src_install() { + distutils_src_install + dohtml -r leo/doc/html/* || die "dohtml failed" +} diff --git a/app-editors/leo/leo-5.0.ebuild b/app-editors/leo/leo-5.0.ebuild new file mode 100644 index 000000000000..a7e9881f7c67 --- /dev/null +++ b/app-editors/leo/leo-5.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# Not py3 prepared +# https://bugs.launchpad.net/leo-editor/+bug/1399895 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQUIRED_USE="tk" + +inherit distutils-r1 + +MY_P="Leo-${PV}-final" +MY_PN="Leo${PV}-final" + +DESCRIPTION="Leo: Literate Editor with Outlines" +HOMEPAGE="https://github.com/leo-editor/leo-editor/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="doc" + +RDEPEND="app-text/silvercity[${PYTHON_USEDEP}] + dev-python/PyQt4[X,${PYTHON_USEDEP}]" +DEPEND="${RDEPEND} + app-arch/unzip" + +S="${WORKDIR}/${MY_PN}" + +python_install_all() { + use doc && local HTML_DOCS=( leo/doc/html/. ) + distutils-r1_python_install_all +} diff --git a/app-editors/leo/leo-5.1.ebuild b/app-editors/leo/leo-5.1.ebuild new file mode 100644 index 000000000000..719f3f565160 --- /dev/null +++ b/app-editors/leo/leo-5.1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# Not py3 prepared +# https://bugs.launchpad.net/leo-editor/+bug/1399895 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQUIRED_USE="tk" + +inherit distutils-r1 + +MY_P="Leo-${PV}-final" + +DESCRIPTION="Leo: Literate Editor with Outlines" +HOMEPAGE="https://github.com/leo-editor/leo-editor/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ppc ~x86" +IUSE="doc" + +RDEPEND="app-text/silvercity[${PYTHON_USEDEP}] + dev-python/PyQt4[X,${PYTHON_USEDEP}]" +DEPEND="${RDEPEND} + app-arch/unzip" + +S="${WORKDIR}/${MY_P}" + +python_install_all() { + use doc && local HTML_DOCS=( leo/doc/html/. ) + distutils-r1_python_install_all +} diff --git a/app-editors/leo/metadata.xml b/app-editors/leo/metadata.xml new file mode 100644 index 000000000000..31615d44deee --- /dev/null +++ b/app-editors/leo/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>python</herd> + <upstream> + <remote-id type="github">leo-editor/leo-editor</remote-id> + <remote-id type="sourceforge">leo</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/levee/Manifest b/app-editors/levee/Manifest new file mode 100644 index 000000000000..25101099b142 --- /dev/null +++ b/app-editors/levee/Manifest @@ -0,0 +1 @@ +DIST levee-3.5a.tar.gz 67733 SHA256 eff1c937b1079c68725c26375969a8b51109b170bc1aba9529b989e32f7b34c8 SHA512 e95b4fc6370903dda07aff0a612c7f34425ab0b854d05a08f42b7e339d1a86a436316d31f3667748943e2ce2e68be7f2369e4a3b36c0715b00d31b8ab50cdaf1 WHIRLPOOL 44346342540da79f0a6bfde0e9a289ae4b1d8e64d04865dd9156fa2c1fc4d1edc6b4ff2578b2c4f98ec684bc9471947bd26230fc437c09d660ec52d10ed5fdf4 diff --git a/app-editors/levee/files/levee-3.4o-darwin.patch b/app-editors/levee/files/levee-3.4o-darwin.patch new file mode 100644 index 000000000000..9481b1a3ade9 --- /dev/null +++ b/app-editors/levee/files/levee-3.4o-darwin.patch @@ -0,0 +1,16 @@ +--- unixcall.c.orig 2007-03-18 17:46:05 +0100 ++++ unixcall.c 2007-03-18 17:51:13 +0100 +@@ -77,6 +77,13 @@ + static int ioset = 0; + static struct termios old; + ++#if defined(__MACH__) ++# define TCGETS TIOCGETA ++# define TCSETS TIOCSETA ++# define TCGETA TIOCGETA ++# define TCSETAF TIOCSETAF ++#endif ++ + void + initcon() + { diff --git a/app-editors/levee/files/levee-3.5-glibc210.patch b/app-editors/levee/files/levee-3.5-glibc210.patch new file mode 100644 index 000000000000..51cc829cda25 --- /dev/null +++ b/app-editors/levee/files/levee-3.5-glibc210.patch @@ -0,0 +1,80 @@ +diff -NrU5 levee-3.5.original/editcor.c levee-3.5/editcor.c +--- levee-3.5.original/editcor.c 2009-07-21 22:58:18.000000000 +0000 ++++ levee-3.5/editcor.c 2009-07-21 23:07:21.000000000 +0000 +@@ -183,11 +183,11 @@ + + strcpy(scratch, "/tmp/lv.XXXXXX"); + + clrprompt(); + printch('!'); +- if ( !getline(instring) ) ++ if ( !get_line(instring) ) + return FALSE; + + if ( (tf = mkstemp(scratch)) < 0 ) { + prints("[tempfile error]"); + return FALSE; +diff -NrU5 levee-3.5.original/extern.h levee-3.5/extern.h +--- levee-3.5.original/extern.h 2009-07-21 22:58:18.000000000 +0000 ++++ levee-3.5/extern.h 2009-07-21 23:02:39.000000000 +0000 +@@ -195,11 +195,11 @@ + extern exec_type PROC editcore(); + + extern char PROC line(), peekc(), readchar(); + extern char PROC *findparse(),*makepat(); + +-extern bool PROC getline(); ++extern bool PROC get_line(); + extern bool PROC putfile(); + extern bool PROC doyank(), deletion(), putback(); + extern bool PROC pushb(),pushi(),pushmem(),uputcmd(), delete_to_undo(); + extern bool PROC ok_to_scroll(), move_to_undo(); + +diff -NrU5 levee-3.5.original/main.c levee-3.5/main.c +--- levee-3.5.original/main.c 2009-07-21 22:58:18.000000000 +0000 ++++ levee-3.5/main.c 2009-07-21 23:09:52.000000000 +0000 +@@ -251,11 +251,11 @@ + println(); + + mode=emode; + do { + prompt(FALSE,":"); +- if (getline(instring)) ++ if (get_line(instring)) + exec(instring, &mode, &noquit); + indirect = FALSE; + if (mode == E_VISUAL && zotscreen && noquit) { /*ask for more*/ + prints(" [more]"); + if ((ch=peekc()) == 13 || ch == ' ' || ch == ':') +diff -NrU5 levee-3.5.original/misc.c levee-3.5/misc.c +--- levee-3.5.original/misc.c 2009-07-21 22:58:18.000000000 +0000 ++++ levee-3.5/misc.c 2009-07-21 23:09:10.000000000 +0000 +@@ -19,11 +19,11 @@ + */ + #include "levee.h" + #include "extern.h" + + bool PROC +-getline(str) ++get_line(str) + char *str; + { + int len; + char flag; + +diff -NrU5 levee-3.5.original/move.c levee-3.5/move.c +--- levee-3.5.original/move.c 2009-07-21 22:58:18.000000000 +0000 ++++ levee-3.5/move.c 2009-07-21 23:10:26.000000000 +0000 +@@ -158,11 +158,11 @@ + case FSEARCH: + case BSEARCH: + clrprompt(); + if (cmd == PATT_FWD || cmd == PATT_BACK) { + printch(tsearch = instring[0] = chars[cmd-PATT_FWD]); +- if (!getline(&instring[1])) ++ if (!get_line(&instring[1])) + return ESCAPED; /* needs to skip later tests */ + } + else { + if (!lsearch) + return BADMOVE; diff --git a/app-editors/levee/files/levee-3.5a-QA.patch b/app-editors/levee/files/levee-3.5a-QA.patch new file mode 100644 index 000000000000..7e37c76b34ac --- /dev/null +++ b/app-editors/levee/files/levee-3.5a-QA.patch @@ -0,0 +1,16 @@ +diff -NrU5 levee-3.5a.original/configure.inc levee-3.5a/configure.inc +--- levee-3.5a.original/configure.inc 2009-08-12 19:51:26.000000000 +0000 ++++ levee-3.5a/configure.inc 2009-08-12 20:13:41.000000000 +0000 +@@ -1074,11 +1074,11 @@ + else + PROG_INSTALL="$DEST" + fi + + AC_SUB 'INSTALL' "$PROG_INSTALL" +- AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -s -m 755" ++ AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -m 755" + AC_SUB 'INSTALL_DATA' "$PROG_INSTALL -m 444" + + # finally build a little directory installer + # if mkdir -p works, use that, otherwise use install -d, + # otherwise build a script to do it by hand. diff --git a/app-editors/levee/levee-3.5a.ebuild b/app-editors/levee/levee-3.5a.ebuild new file mode 100644 index 000000000000..28f27644e20d --- /dev/null +++ b/app-editors/levee/levee-3.5a.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit toolchain-funcs eutils + +DESCRIPTION="Really tiny vi clone, for things like rescue disks" +HOMEPAGE="http://www.pell.chi.il.us/~orc/Code/" +SRC_URI="http://www.pell.chi.il.us/~orc/Code/levee/${P}.tar.gz" + +LICENSE="levee" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="" + +DEPEND="!app-text/lv + sys-libs/ncurses" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-3.4o-darwin.patch + epatch "${FILESDIR}"/${P}-QA.patch + epatch "${FILESDIR}"/${PN}-3.5-glibc210.patch +} + +src_configure() { + export AC_CPP_PROG=$(tc-getCPP) + export AC_PATH=${PATH} + export AC_LIBDIR="$($(tc-getPKG_CONFIG) --libs ncurses)" + ./configure.sh --prefix="${PREFIX}"/usr || die "configure failed" +} + +src_compile() { + emake CFLAGS="${CFLAGS} -Wall -Wextra ${LDFLAGS}" CC=$(tc-getCC) +} + +src_install() { + emake PREFIX="${D}${EPREFIX}" install +} diff --git a/app-editors/levee/metadata.xml b/app-editors/levee/metadata.xml new file mode 100644 index 000000000000..d9cd2cad66c2 --- /dev/null +++ b/app-editors/levee/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/lfhex/Manifest b/app-editors/lfhex/Manifest new file mode 100644 index 000000000000..38da762892b1 --- /dev/null +++ b/app-editors/lfhex/Manifest @@ -0,0 +1 @@ +DIST lfhex-0.42.tar.gz 868287 SHA256 4e8f8b99eb271242937037a3af2fe07369b653f7f7d8becbd84554118bf8baba SHA512 5b0d61f732b4b3a0ff2d73ae3ea551af78047a2edd45916d6ad61fb6d89c18faa4e28ed321e51e034519635c3310ce7b0b67fb809ed67d6c37cb252b78696c88 WHIRLPOOL 720e812edb8d33968d7c89ccaf85096b80dd377743819111c436ce5315d36e070ac37727d4422bb982cf0f6aba69e41335a58a76b1e4d5f143a0948feb26aba5 diff --git a/app-editors/lfhex/files/01-abs-llabs.dpatch b/app-editors/lfhex/files/01-abs-llabs.dpatch new file mode 100644 index 000000000000..74ffcbce7299 --- /dev/null +++ b/app-editors/lfhex/files/01-abs-llabs.dpatch @@ -0,0 +1,19 @@ +#!/bin/sh /usr/share/dpatch/dpatch-run +## 01-abs-llabs.dpatch by Thiemo Seufer +## +## DP: Fixes FTBFS due to abs() not being in the global anymore since g++ 4.3 +## (#495467) + +diff -up lfhex-0.42.orig/src/reader.cpp lfhex-0.42/src/reader.cpp +--- lfhex-0.42.orig/src/reader.cpp 2008-10-08 19:25:57.000000000 +0200 ++++ lfhex-0.42/src/reader.cpp 2008-10-08 19:26:16.000000000 +0200 +@@ -238,7 +238,7 @@ bool Reader::loadPage(off_t pageIdx) + // free the page which is the furthest away from the page we are loading + + // this could be trouble if off_t is unsigned! +- if( abs(_firstPage - pageIdx) > abs(_lastPage - pageIdx) ) ++ if( ::llabs(_firstPage - pageIdx) > ::llabs(_lastPage - pageIdx) ) + while(!freePage(_firstPage++)); + else + while(!freePage(_lastPage--)); + diff --git a/app-editors/lfhex/files/02-gcc-4.7.dpatch b/app-editors/lfhex/files/02-gcc-4.7.dpatch new file mode 100644 index 000000000000..0d58072d9574 --- /dev/null +++ b/app-editors/lfhex/files/02-gcc-4.7.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02-gcc-4.7.dpatch by gregor herrmann <gregoa@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: add missing include to avoid FTBFS with gcc 4.7 +## DP: Bug-Debian: http://bugs.debian.org/667238 + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' lfhex-0.42~/src/expr.h lfhex-0.42/src/expr.h +--- lfhex-0.42~/src/expr.h 2008-09-19 02:36:49.000000000 +0200 ++++ lfhex-0.42/src/expr.h 2012-05-07 17:03:22.788794002 +0200 +@@ -19,6 +19,7 @@ + */ + + #include <string> ++#include <sys/types.h> + + bool expr_eval( const std::string &str, off_t &value ); + diff --git a/app-editors/lfhex/lfhex-0.42.ebuild b/app-editors/lfhex/lfhex-0.42.ebuild new file mode 100644 index 000000000000..0c18872bcdeb --- /dev/null +++ b/app-editors/lfhex/lfhex-0.42.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit eutils qt4-r2 + +DESCRIPTION="A fast, efficient hex-editor with support for large files and comparing binary files" +HOMEPAGE="http://stoopidsimple.com/lfhex" +SRC_URI="http://stoopidsimple.com/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" + +RDEPEND="dev-qt/qtgui:4 + x11-libs/libXt" +DEPEND="${RDEPEND} + sys-devel/flex + sys-devel/bison" + +S=${WORKDIR}/${P}/src + +src_prepare() { + # Apply Debian patches to fix compilation errors like gcc-4.7 compat + epatch "${FILESDIR}"/*.dpatch +} + +src_configure() { + eqmake4 +} + +src_install() { + dobin lfhex + dodoc ../README + make_desktop_entry "${PN}" "${PN}" +} diff --git a/app-editors/lfhex/metadata.xml b/app-editors/lfhex/metadata.xml new file mode 100644 index 000000000000..a40624fba8f0 --- /dev/null +++ b/app-editors/lfhex/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/lpe/Manifest b/app-editors/lpe/Manifest new file mode 100644 index 000000000000..ce44a2747e8e --- /dev/null +++ b/app-editors/lpe/Manifest @@ -0,0 +1 @@ +DIST lpe_1.2.6.13-0.1.tar.gz 600523 SHA256 7828147e8b8bcf518e6d7f2241b480fe3bbaa1285d3c7c74b8c7160222d76816 SHA512 f02769baca396285fe8f98c934f6274185d2bf8b08f3b007cbfa4e6aadb455abfb7cab13d53a3d1fa71ea0c29c4222784dcbc9a7508501c7d1839671503758ed WHIRLPOOL 885c1eaace95a47a78017a3ccf04c6cb053e14978f153270608175a6d3c5e0332d95556a0cafeb9f41abcaf36fe77acd36bf9ebf618bfbfe92de711cbf2262cc diff --git a/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch b/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch new file mode 100644 index 000000000000..f8d96ef087e9 --- /dev/null +++ b/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch @@ -0,0 +1,23 @@ +http://bugs.gentoo.org/335324 + +--- intl/Makefile.in ++++ intl/Makefile.in +@@ -202,12 +202,12 @@ + # The dependency for intlh.inst is different in gettext and all other + # packages. Because we cannot you GNU make features we have to solve + # the problem while rewriting Makefile.in. +-@GT_YES@intlh.inst: intlh.inst.in ../config.status +-@GT_YES@ cd .. \ +-@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \ +-@GT_YES@ $(SHELL) ./config.status +-@GT_NO@.PHONY: intlh.inst +-@GT_NO@intlh.inst: ++intlh.inst: intlh.inst.in ../config.status ++ cd .. \ ++ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \ ++ $(SHELL) ./config.status ++.PHONY: intlh.inst ++intlh.inst: + + # Tell versions [3.59,3.63) of GNU make not to export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/app-editors/lpe/lpe-1.2.6.13.ebuild b/app-editors/lpe/lpe-1.2.6.13.ebuild new file mode 100644 index 000000000000..914b1cb8b9ff --- /dev/null +++ b/app-editors/lpe/lpe-1.2.6.13.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils multilib toolchain-funcs + +DESCRIPTION="a lightweight programmers editor" +HOMEPAGE="http://packages.qa.debian.org/l/lpe.html" +SRC_URI="mirror://debian/pool/main/l/${PN}/${PN}_${PV}-0.1.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86 ~x86-linux" +IUSE="nls" + +RDEPEND=">=sys-libs/slang-2.2.4 + >=sys-libs/ncurses-5.7-r7" +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( sys-devel/gettext )" + +src_prepare() { + epatch "${FILESDIR}"/${P}-make-382.patch + + # You should add PKG_CHECK_MODULES(NCURSES, ncurses) to configure.in and + # replace -lncurses in src/Makefile.am with $(NCURSES_LIBS) + # That is, if you need eautoreconf + sed -i \ + -e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs-only-l ncurses):" \ + src/Makefile.in || die +} + +src_configure() { + econf $(use_enable nls) +} + +src_install() { + emake \ + libdir="${ED}/usr/$(get_libdir)" \ + prefix="${ED}/usr" \ + datadir="${ED}/usr/share" \ + mandir="${ED}/usr/share/man" \ + infodir="${ED}/usr/share/info" \ + docdir="${ED}/usr/share/doc/${PF}" \ + exdir="${ED}/usr/share/doc/${PF}/examples" \ + install + + prune_libtool_files --all +} diff --git a/app-editors/lpe/metadata.xml b/app-editors/lpe/metadata.xml new file mode 100644 index 000000000000..d9cd2cad66c2 --- /dev/null +++ b/app-editors/lpe/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/metadata.xml b/app-editors/metadata.xml new file mode 100644 index 000000000000..195f8754aab5 --- /dev/null +++ b/app-editors/metadata.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<catmetadata> + <longdescription lang="en"> + The app-editors category contains text editors. + </longdescription> + <longdescription lang="de"> + Die Kategorie app-editors enthält Texteditoren. + </longdescription> + <longdescription lang="es"> + La categoría app-editors contiene editores de textos. + </longdescription> + <longdescription lang="ja"> + app-editorsカテゴリにはテキストエディタが含まれます。 + </longdescription> + <longdescription lang="nl"> + De app-editors categorie bevat text editors. + </longdescription> + <longdescription lang="vi"> + Nhóm app-editors chứa các trình soạn thảo văn bản. + </longdescription> + <longdescription lang="it"> + La categoria app-editors contiene editor di testo. + </longdescription> + <longdescription lang="pt"> + A categoria app-editors contém editores de texto. + </longdescription> + <longdescription lang="pl"> + Kategoria app-editors zawiera edytory tekstu. + </longdescription> +</catmetadata> + diff --git a/app-editors/mg/Manifest b/app-editors/mg/Manifest new file mode 100644 index 000000000000..3e7bfe22fa78 --- /dev/null +++ b/app-editors/mg/Manifest @@ -0,0 +1,3 @@ +DIST mg-20110905.tar.gz 138805 SHA256 1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229 SHA512 b490a5a3526d35839353e138f33ac924c5afbbf7e5c9faa20ceccb82e1dc1e6a3f0726b32bac7d43dcf8a410b1b8525067da5557cf669c52a9e32d1d2f45a8a4 WHIRLPOOL 64dd179462a8c9e53946c756a4975ffd2e5bf1758a300fa699032542a6e2470f9ed03f9fe1a88ac441cf17ac20c2575f9b6c5c1c396c5a7915564fbedfb1c854 +DIST mg-20141127.tar.gz 143364 SHA256 33cccebca1cb129de5f26d74750d5a1654bd461e6ab0785703de9f16c19b0ba6 SHA512 97160f311b0409c70162dc80d72370e828db6181fa4bf11a045f01b7df8c272edeade5d6f3e2af7fa74f59152fe69130d5638b2c184974e59c4bb6fe27864d40 WHIRLPOOL 5591e36139e5da3329d9fa7f17b2e21987a8674c7c3c8edeb17bbd8c93879447374d70808af86d38de23f28f6e3b491def437b9135193abec02dc9eaae691b0b +DIST mg-20150323.tar.gz 142105 SHA256 d71b24d47d3e1426f162e446d92dfa457df96dd47c1289419cba9fd14c2c3afb SHA512 747a04c203509cdbe84d9cea6c5be93585cdd5cb855b556ea5dee273a2923a4a68bee3f952cf92d584fcdd682049cb4442c21888304ba036851127174457351f WHIRLPOOL bdba74b62034a6613434fc3efea7b56fa1599b6059ab97dbd760b013be7dc50ab13dfcee3f5fb1f41f4c26c3f0146583680134d3809ec7977a14a28cb345c6db diff --git a/app-editors/mg/metadata.xml b/app-editors/mg/metadata.xml new file mode 100644 index 000000000000..41e5f9b7b110 --- /dev/null +++ b/app-editors/mg/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + mg is Micro GNU/emacs, this is a portable version of the mg maintained by + the OpenBSD team. +</longdescription> +</pkgmetadata> diff --git a/app-editors/mg/mg-20110905-r1.ebuild b/app-editors/mg/mg-20110905-r1.ebuild new file mode 100644 index 000000000000..46d813d5ed40 --- /dev/null +++ b/app-editors/mg/mg-20110905-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit toolchain-funcs + +DESCRIPTION="MicroGnuEmacs, a port from the BSDs" +HOMEPAGE="http://homepage.boetes.org/software/mg/" +SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz" + +LICENSE="public-domain ISC BSD" +SLOT="0" +KEYWORDS="alpha amd64 hppa ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos" +IUSE="livecd" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_prepare() { + # remove OpenBSD specific easter egg + sed -i -e 's/theo\.o//' Makefile.in || die + sed -i -e '/theo_init/d' main.c || die +} + +src_configure() { + # econf won't work, as this script does not accept any parameters + ./configure || die "configure failed" +} + +src_compile() { + emake CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} + +src_install() { + einstall + dodoc README tutorial +} + +pkg_postinst() { + if use livecd; then + [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs + fi +} diff --git a/app-editors/mg/mg-20141127.ebuild b/app-editors/mg/mg-20141127.ebuild new file mode 100644 index 000000000000..d4e274817be2 --- /dev/null +++ b/app-editors/mg/mg-20141127.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +DESCRIPTION="MicroGnuEmacs, a port from the BSDs" +HOMEPAGE="http://homepage.boetes.org/software/mg/" +SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd" +IUSE="livecd" + +RDEPEND="sys-libs/ncurses + !elibc_FreeBSD? ( >=dev-libs/libbsd-0.7.0 )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_prepare() { + epatch_user + + # remove OpenBSD specific easter egg + sed -i -e 's/theo\.o//' GNUmakefile || die + sed -i -e '/theo_init/d' main.c || die + + # fix path to tutorial in man page + sed -i -e "s:doc/mg/:doc/${PF}/:" mg.1 || die +} + +src_compile() { + emake CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + CURSES_LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} + +src_install() { + dobin mg + doman mg.1 + dodoc README tutorial + # don't compress the tutorial, otherwise mg cannot open it + docompress -x /usr/share/doc/${PF}/tutorial +} + +pkg_postinst() { + if use livecd; then + [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs + fi +} diff --git a/app-editors/mg/mg-20150323.ebuild b/app-editors/mg/mg-20150323.ebuild new file mode 100644 index 000000000000..905b7ac7b8d9 --- /dev/null +++ b/app-editors/mg/mg-20150323.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +DESCRIPTION="MicroGnuEmacs, a port from the BSDs" +HOMEPAGE="http://homepage.boetes.org/software/mg/" +SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd" +IUSE="livecd" + +RDEPEND="sys-libs/ncurses + !elibc_FreeBSD? ( >=dev-libs/libbsd-0.7.0 )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_prepare() { + epatch_user + + # remove OpenBSD specific easter egg + sed -i -e 's/theo\.o//' GNUmakefile || die + sed -i -e '/theo_init/d' main.c || die + + # fix path to tutorial in man page + sed -i -e "s:doc/mg/:doc/${PF}/:" mg.1 || die +} + +src_compile() { + emake CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + CURSES_LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} + +src_install() { + dobin mg + doman mg.1 + dodoc README tutorial + # don't compress the tutorial, otherwise mg cannot open it + docompress -x /usr/share/doc/${PF}/tutorial +} + +pkg_postinst() { + if use livecd; then + [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs + fi +} diff --git a/app-editors/mlview/Manifest b/app-editors/mlview/Manifest new file mode 100644 index 000000000000..94d91e67e6f2 --- /dev/null +++ b/app-editors/mlview/Manifest @@ -0,0 +1 @@ +DIST mlview-0.9.0.tar.bz2 754148 SHA256 568ce3fefe83eb163b4fbd7d62954ec3cad3000e966cd9f7461c2c9a3edb4dca SHA512 646f375afa27d1e050f17ded2154af9667e51e345e3a66b4354fa1babe49a45f940114ee6c1106e04cab678ba68618aea0182872dab1c9628e2cabf3561521c7 WHIRLPOOL dc289552f057e977ae713b27a580fa8b552a275995cb9cf373989abf12dd18188945ce96c2080b8581a2addaeac2831b6a26721dc8203d42d20341d1ce60aacd diff --git a/app-editors/mlview/files/mlview-0.9.0-desktop.patch b/app-editors/mlview/files/mlview-0.9.0-desktop.patch new file mode 100644 index 000000000000..3906e6f30c4a --- /dev/null +++ b/app-editors/mlview/files/mlview-0.9.0-desktop.patch @@ -0,0 +1,20 @@ +--- mlview.desktop.in ++++ mlview.desktop.in +@@ -1,13 +1,10 @@ + [Desktop Entry] +-Version=0.9.4 +-Encoding=UTF-8 + Type=Application + Name=MlView XML Editor + GenericName=MlView Generic XML Editor +-Categories=Application;Development; ++Categories=Development; + Comment=A generic simple XML editor for GNOME +-Icon=mlview-app-icon.xpm +-TryExec=mlv +-Exec=@MLVIEW_EXE@ %F ++Icon=mlview-app-icon ++TryExec=mlview ++Exec=mlview %F + Terminal=false +- diff --git a/app-editors/mlview/files/mlview-0.9.0-gcc44.patch b/app-editors/mlview/files/mlview-0.9.0-gcc44.patch new file mode 100644 index 000000000000..b82398f726d7 --- /dev/null +++ b/app-editors/mlview/files/mlview-0.9.0-gcc44.patch @@ -0,0 +1,82 @@ +http://bugs.gentoo.org/311573 + +--- src/mlview-tree-view.h ++++ src/mlview-tree-view.h +@@ -178,7 +178,7 @@ + + enum MlViewStatus build_app_edit_menu () ; + +- GtkDialog * TreeView::get_expand_tree_dialog () ; ++ GtkDialog * get_expand_tree_dialog () ; + + void clear_completion_popup_submenus () ; + +--- src/mlview-source-view.h ++++ src/mlview-source-view.h +@@ -53,7 +53,7 @@ + + enum MlViewStatus set_default_options () ; + +- MlViewXMLDocument* SourceView::get_document () ; ++ MlViewXMLDocument* get_document () ; + + GtkUIManager * get_ui_manager () ; + +--- src/mlview-validator.cc ++++ src/mlview-validator.cc +@@ -25,6 +25,7 @@ + + #include "mlview-validator.h" + #include "mlview-safe-ptr-utils.h" ++#include <memory> + + #define MESSAGE_LINE_LENGTH 55 + namespace mlview +--- src/mlview-plugin.h ++++ src/mlview-plugin.h +@@ -46,12 +46,12 @@ + + //forbid assignation/copy + Plugin& operator= (Plugin const&) ; +- Plugin::Plugin (Plugin const&) ; ++ Plugin (Plugin const&) ; + + public: + Plugin (const PluginDescriptor &a_descr) ; + +- Plugin::Plugin (const UString &a_url) ; ++ Plugin (const UString &a_url) ; + + virtual ~Plugin () ; + +--- src/mlview-editor.cc ++++ src/mlview-editor.cc +@@ -157,7 +157,7 @@ + contextual_menu (NULL) + {} + +- static void EditorPriv::schemas_window_destroy_cb ++ static void schemas_window_destroy_cb + (GtkWidget *a_widget, struct DocumentWindowData *a_win) ; + + static void validation_window_destroy_cb +@@ -406,17 +406,13 @@ + gtk_dialog_run (GTK_DIALOG (dialog)); + + +- switch (button) { +- case GTK_RESPONSE_OK: ++ if (button == GTK_RESPONSE_OK) { + sel_menu_item = gtk_menu_get_active(GTK_MENU(menu)); + + result = (ViewDescriptor *)g_object_get_data + (G_OBJECT(sel_menu_item), "mlview_view_desc"); +- break; +- +- default: ++ } else { + result = NULL ; +- break; + } + gtk_widget_destroy (dialog); + return result; diff --git a/app-editors/mlview/files/mlview-0.9.0-gcc45.patch b/app-editors/mlview/files/mlview-0.9.0-gcc45.patch new file mode 100644 index 000000000000..55b922bcac04 --- /dev/null +++ b/app-editors/mlview/files/mlview-0.9.0-gcc45.patch @@ -0,0 +1,15 @@ +Fix building with gcc 4.5 + +http://bugs.gentoo.org/show_bug.cgi?id=320377 + +--- src/mlview-ustring.cc ++++ src/mlview-ustring.cc +@@ -59,7 +59,7 @@ + UString::~UString () + {} + +-UString::UString& ++UString& + UString::operator= (const char *a_cstr) + { + if (!a_cstr) diff --git a/app-editors/mlview/files/mlview-0.9.0-r1-10_port_to_gtksourceview2.patch b/app-editors/mlview/files/mlview-0.9.0-r1-10_port_to_gtksourceview2.patch new file mode 100644 index 000000000000..0ce22957a478 --- /dev/null +++ b/app-editors/mlview/files/mlview-0.9.0-r1-10_port_to_gtksourceview2.patch @@ -0,0 +1,218 @@ +Downloaded from http://patch-tracker.debian.org/patch/series/view/mlview/0.9.0-2.2/10_port_to_gtksourceview2.patch + +diff -Nur -x '*.orig' -x '*~' mlview-0.9.0/configure.in mlview-0.9.0.new/configure.in +--- mlview-0.9.0/configure.in 2005-08-07 09:42:07.000000000 +0200 ++++ mlview-0.9.0.new/configure.in 2009-08-18 02:45:29.000000000 +0200 +@@ -29,7 +29,7 @@ + LIBGNOME2_VERSION=2.4.1 + GCONF2_VERSION=2.6.2 + SEWFOX_VERSION=0.0.1 +-GTKSOURCEVIEW_VERSION=1.0 ++GTKSOURCEVIEW_VERSION=2.0 + VTE_VERSION=0.11.12 + DBUS_VERSION=0.22 + GTKMM2_VERSION=2.4.0 +@@ -306,7 +306,7 @@ + dnl ********************** + dnl libgtksourceview + dnl ********************** +-PKG_CHECK_MODULES(GTKSOURCEVIEW, gtksourceview-1.0 >= $GTKSOURCEVIEW_VERSION) ++PKG_CHECK_MODULES(GTKSOURCEVIEW, gtksourceview-2.0 >= $GTKSOURCEVIEW_VERSION) + + dnl ********************** + dnl vte +diff -Nur -x '*.orig' -x '*~' mlview-0.9.0/src/mlview-source-view.cc mlview-0.9.0.new/src/mlview-source-view.cc +--- mlview-0.9.0/src/mlview-source-view.cc 2005-08-07 09:42:28.000000000 +0200 ++++ mlview-0.9.0.new/src/mlview-source-view.cc 2009-08-18 02:44:12.000000000 +0200 +@@ -25,9 +25,10 @@ + + #include <string.h> + #include <gtk/gtk.h> ++#include "config.h" + #include <gtksourceview/gtksourceview.h> + #include <gtksourceview/gtksourcelanguage.h> +-#include <gtksourceview/gtksourcelanguagesmanager.h> ++#include <gtksourceview/gtksourcelanguagemanager.h> + #include <gtksourceview/gtksourcebuffer.h> + #include "mlview-safe-ptr-utils.h" + #include "mlview-source-view.h" +@@ -36,6 +37,7 @@ + #include "mlview-prefs.h" + #include "mlview-prefs-category-sourceview.h" + ++ + namespace mlview + { + struct SourceViewPriv +@@ -48,7 +50,7 @@ + SafePtr<GtkSourceView, GtkSourceViewRef, GtkSourceViewUnref> native_sv_ptr ; + SafePtr<Gtk::Widget, GtkWidgetMMRef, GtkWidgetMMUnref> native_sv_wrapper_ptr ; + /* The language manager, used by native_sv */ +- GtkSourceLanguagesManager *languages_manager ; ++ GtkSourceLanguageManager *languages_manager ; + + GtkUIManager *ui_manager ; + +@@ -165,8 +167,8 @@ + gtk_source_view_set_show_line_numbers (source_view, + m_prefs->show_line_numbers ()); + +- gtk_source_view_set_tabs_width (source_view, +- m_prefs->get_tabs_width ()); ++ gtk_source_view_set_tab_width (source_view, ++ m_prefs->get_tabs_width ()); + + gtk_source_view_set_auto_indent (source_view, + m_prefs->auto_indent ()); +@@ -175,11 +177,11 @@ + (source_view, + m_prefs->replace_tabs_with_spaces ()); + +- gtk_source_view_set_show_margin (source_view, +- m_prefs->show_margin ()); ++ gtk_source_view_set_show_right_margin (source_view, ++ m_prefs->show_margin ()); + +- gtk_source_view_set_margin (source_view, +- m_prefs->get_margin_position ()); ++ gtk_source_view_set_right_margin_position (source_view, ++ m_prefs->get_margin_position ()); + + const char* fontname = const_cast<char*> ( + m_prefs->get_font_name ().c_str ()); +@@ -240,8 +242,8 @@ + { + GtkSourceView *source_view = (GtkSourceView*)native_sv_ptr; + +- gtk_source_view_set_tabs_width (source_view, +- m_prefs->get_tabs_width ()); ++ gtk_source_view_set_tab_width (source_view, ++ m_prefs->get_tabs_width ()); + } + + void +@@ -268,8 +270,8 @@ + { + GtkSourceView *source_view = (GtkSourceView*)native_sv_ptr; + +- gtk_source_view_set_show_margin (source_view, +- m_prefs->show_margin ()); ++ gtk_source_view_set_show_right_margin (source_view, ++ m_prefs->show_margin ()); + } + + void +@@ -277,8 +279,8 @@ + { + GtkSourceView *source_view = (GtkSourceView*)native_sv_ptr; + +- gtk_source_view_set_margin (source_view, +- m_prefs->get_margin_position ()); ++ gtk_source_view_set_right_margin_position (source_view, ++ m_prefs->get_margin_position ()); + } + + void +@@ -469,14 +471,13 @@ + return false; + } + +-GtkSourceLanguagesManager * ++GtkSourceLanguageManager * + SourceView::get_languages_manager () + { + THROW_IF_FAIL (m_priv) ; + + if (!m_priv->languages_manager) { +- m_priv->languages_manager = +- gtk_source_languages_manager_new () ; ++ m_priv->languages_manager = gtk_source_language_manager_new () ; + THROW_IF_FAIL (m_priv->languages_manager) ; + } + return m_priv->languages_manager ; +@@ -492,7 +493,7 @@ + (gtk_text_view_get_buffer (GTK_TEXT_VIEW (m_priv->native_sv_ptr.get ()))) ; + THROW_IF_FAIL (source_buffer) ; + +- gtk_source_buffer_set_highlight (source_buffer, TRUE) ; ++ gtk_source_buffer_set_highlight_syntax (source_buffer, TRUE) ; + gtk_source_buffer_set_language (source_buffer, a_language) ; + + return MLVIEW_OK ; +@@ -501,22 +502,22 @@ + enum MlViewStatus + SourceView::set_language_from_mime_type (const UString &a_mime_type) + { +- GtkSourceLanguagesManager *lm = NULL ; ++ GtkSourceLanguageManager *lm = NULL ; + GtkSourceLanguage *language = NULL ; + + THROW_IF_FAIL (m_priv) ; + lm = get_languages_manager () ; + THROW_IF_FAIL (lm) ; +- language = gtk_source_languages_manager_get_language_from_mime_type +- (lm, a_mime_type.c_str ()) ; ++ language = gtk_source_language_manager_guess_language ++ (lm, NULL, a_mime_type.c_str ()) ; + LOG_TO_ERROR_STREAM ("language associated to '" + << a_mime_type + <<"'mime type: " + << language) ; + if (!language) { + language = +- gtk_source_languages_manager_get_language_from_mime_type +- (lm,"text/xml") ; ++ gtk_source_language_manager_guess_language ++ (lm, NULL, "text/xml") ; + THROW_IF_FAIL (language) ; + LOG_TO_ERROR_STREAM ("falling back to the language associated to" + "mime type 'text/xml'") ; +@@ -1305,7 +1306,7 @@ + m_priv->show_line_numbers) ; + + m_priv->tabs_width = 4 ; +- gtk_source_view_set_tabs_width ++ gtk_source_view_set_tab_width + (m_priv->native_sv_ptr, + m_priv->tabs_width) ; + +@@ -1314,11 +1315,11 @@ + m_priv->set_autoindent) ; + + m_priv->set_show_margin = FALSE ; +- gtk_source_view_set_show_margin (m_priv->native_sv_ptr, +- m_priv->set_show_margin) ; ++ gtk_source_view_set_show_right_margin (m_priv->native_sv_ptr, ++ m_priv->set_show_margin) ; + m_priv->margin = 2 ; +- gtk_source_view_set_margin (m_priv->native_sv_ptr, +- m_priv->margin) ; ++ gtk_source_view_set_right_margin_position (m_priv->native_sv_ptr, ++ m_priv->margin) ; + + set_default_language () ; + +diff -Nur -x '*.orig' -x '*~' mlview-0.9.0/src/mlview-source-view.h mlview-0.9.0.new/src/mlview-source-view.h +--- mlview-0.9.0/src/mlview-source-view.h 2005-08-07 09:42:28.000000000 +0200 ++++ mlview-0.9.0.new/src/mlview-source-view.h 2009-08-18 02:39:22.000000000 +0200 +@@ -25,9 +25,10 @@ + #ifndef __MLVIEW_SOURCE_VIEW_H + #define __MLVIEW_SOURCE_VIEW_H + ++#include "config.h" + #include <gtksourceview/gtksourceview.h> + #include <gtksourceview/gtksourcelanguage.h> +-#include <gtksourceview/gtksourcelanguagesmanager.h> ++#include <gtksourceview/gtksourcelanguagemanager.h> + #include <gtksourceview/gtksourcebuffer.h> + #include "mlview-view-adapter.h" + #include "mlview-xml-document.h" +@@ -112,7 +113,7 @@ + + enum MlViewStatus build_edit_menu_body (const UString &a_menu_root_path) ; + +- GtkSourceLanguagesManager * get_languages_manager () ; ++ GtkSourceLanguageManager * get_languages_manager () ; + + enum MlViewStatus set_language (GtkSourceLanguage *a_language) ; + diff --git a/app-editors/mlview/files/mlview-0.9.0-r1-autoreconf.patch b/app-editors/mlview/files/mlview-0.9.0-r1-autoreconf.patch new file mode 100644 index 000000000000..205a746c69d5 --- /dev/null +++ b/app-editors/mlview/files/mlview-0.9.0-r1-autoreconf.patch @@ -0,0 +1,25 @@ +--- mlview-0.9.0/configure.in ++++ mlview-0.9.0/configure.in +@@ -77,11 +77,10 @@ + MLVIEW_EXE=$prefix/bin/mlv + AC_SUBST(MLVIEW_VERSION_NUMBER) + AC_SUBST(MLVIEW_VERSION) +-AC_SUBST(AC_PACKAGE_VERSION) ++AC_SUBST([AC_PACKAGE_VERSION]) + AC_SUBST(LIBMLVIEW_VERSION_NUMBER) + AC_SUBST(LIBMLVIEW_VERSION_INFO) + AC_SUBST(LIBMLVIEW_VERSION) +-AC_SUBST(AC_PACKAGE_VERSION) + AC_SUBST(MLVIEW_EXE) + + dnl ********************* +--- mlview-0.9.0/pixmaps/Makefile.am ++++ mlview-0.9.0/pixmaps/Makefile.am +@@ -4,7 +4,6 @@ + xml-root.png \ + xml-root-open.png \ + xml-comment-node.png \ +- xml-text-node.png \ + xml-pi-node.png \ + xml-entity-ref-node.png \ + mlview-xsd-schema.png \ diff --git a/app-editors/mlview/metadata.xml b/app-editors/mlview/metadata.xml new file mode 100644 index 000000000000..23ee8a338f21 --- /dev/null +++ b/app-editors/mlview/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>xmw@gentoo.org</email> + <name>Michael Weber</name> + </maintainer> + <longdescription> + The MlView project is an on going effort to develop an xml editor + for GNOME environment. It is written in C and uses the gnome + libraries (libxml2, gtk+, libgnome*, etc). + </longdescription> +</pkgmetadata> diff --git a/app-editors/mlview/mlview-0.9.0-r1.ebuild b/app-editors/mlview/mlview-0.9.0-r1.ebuild new file mode 100644 index 000000000000..0e20ca1e158d --- /dev/null +++ b/app-editors/mlview/mlview-0.9.0-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +GCONF_DEBUG="no" +GNOME_TARBALL_SUFFIX="bz2" + +inherit autotools eutils gnome2 + +DESCRIPTION="XML editor for the GNOME environment" +HOMEPAGE="http://www.nongnu.org/mlview/mlview-internals.html" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux" +IUSE="debug" + +RDEPEND=" + >=dev-libs/libxml2-2.6.11:2 + >=dev-libs/libxslt-1.1.8 + >=dev-libs/glib-2.6:2 + >=x11-libs/gtk+-2.6:2 + >=dev-cpp/gtkmm-2.4:2.4 + >=gnome-base/libglade-2.4:2.0 + >=dev-cpp/libglademm-2.6:2.4 + >=gnome-base/libgnome-2.8.1 + >=gnome-base/gnome-vfs-2.6:2 + >=gnome-base/libgnomeui-2.2 + >=gnome-base/gconf-2.6.2:2 + x11-libs/gtksourceview:2.0 + >=x11-libs/vte-0.11.12:0 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + dev-util/intltool + sys-devel/gettext +" + +src_prepare() { + DOCS="AUTHORS BRANCHES ChangeLog NEWS README" + + # Fix tests + echo "ui/mlview-exec-command.glade" >> po/POTFILES.in || die + echo "ui/mlview-plugins-window.glade" >> po/POTFILES.in || die + + epatch "${FILESDIR}"/${P}-desktop.patch + epatch "${FILESDIR}"/${P}-gcc44.patch + epatch "${FILESDIR}"/${P}-gcc45.patch + epatch "${FILESDIR}"/${PF}-10_port_to_gtksourceview2.patch + epatch "${FILESDIR}"/${PF}-autoreconf.patch + + mkdir m4 || die + eautoreconf + gnome2_src_prepare +} + +src_configure() { + gnome2_src_configure \ + --disable-static \ + $(use_enable debug) +} diff --git a/app-editors/moe/Manifest b/app-editors/moe/Manifest new file mode 100644 index 000000000000..018733f57453 --- /dev/null +++ b/app-editors/moe/Manifest @@ -0,0 +1,2 @@ +DIST moe-1.6.tar.lz 75108 SHA256 8cafd9c97b40ff002b4cb66f63eb149f5fd9b9b964c5b6306458d0a68f89dcb1 SHA512 0aa717c865d41f73adccddbb158ae67b611a64f24258bcce5a68fea8175d28d6db55a0fb356fb294bfe3106c0973607b1fcc76ceee17d360e30eb80650ec043b WHIRLPOOL b7e55d187185f9eccea731619f4a6c4816125b2514eec68a202d00c33efb687945f025ef45ad5c49af67719486283b35a5f4639f476f86be7c5f9d58580f31ae +DIST moe-1.7.tar.lz 79644 SHA256 33ba66f948353c105232e9c8b2da8dc7b6ddc8cdff4beb3e3f55d78bc3acf1bb SHA512 e961291c55e5b2af09e3b5cb0d07b557b0af1f6143339390e5b06f4bdebace888f7c3866ec936bd20f25b23cc96fdfdb7bd3da6690e684ec24513b106ae53b49 WHIRLPOOL e909d66efc4a5cf7ed7d968e29ed7ed92b995fa0bdca38c4348396a1dae4b8e06968b012762f6bef3fbf0ec1dd736024ff466f649a47b9da67e67d97ae0e634c diff --git a/app-editors/moe/files/moe-1.6-tinfo.patch b/app-editors/moe/files/moe-1.6-tinfo.patch new file mode 100644 index 000000000000..6b91460e8e53 --- /dev/null +++ b/app-editors/moe/files/moe-1.6-tinfo.patch @@ -0,0 +1,11 @@ +--- Makefile.in.orig 2014-11-03 00:33:57.152593136 +0300 ++++ Makefile.in 2014-11-03 00:34:21.121592519 +0300 +@@ -4,7 +4,7 @@ + INSTALL_PROGRAM = $(INSTALL) -m 755 + INSTALL_DATA = $(INSTALL) -m 644 + INSTALL_DIR = $(INSTALL) -d -m 755 +-LIBS = -lncurses ++LIBS = $(shell ${PKG_CONFIG} --libs ncurses) + SHELL = /bin/sh + + edobjs = basic_buffer.o block.o buffer.o buffer_handle.o \ diff --git a/app-editors/moe/metadata.xml b/app-editors/moe/metadata.xml new file mode 100644 index 000000000000..1b9fb5b7d4b0 --- /dev/null +++ b/app-editors/moe/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>zlogene@gentoo.org</email> + <name>Mikle Kolyada</name> + </maintainer> + <maintainer> + <email>pinkbyte@gentoo.org</email> + <name>Sergey Popov</name> + </maintainer> +</pkgmetadata> diff --git a/app-editors/moe/moe-1.6.ebuild b/app-editors/moe/moe-1.6.ebuild new file mode 100644 index 000000000000..b4ebcc801378 --- /dev/null +++ b/app-editors/moe/moe-1.6.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs unpacker + +DESCRIPTION="A powerful and user-friendly console text editor" +HOMEPAGE="http://www.gnu.org/software/moe/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.lz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + sys-libs/ncurses +" +DEPEND=" + $(unpacker_src_uri_depends) + ${RDEPEND} + virtual/pkgconfig +" + +src_prepare() { + tc-export CXX PKG_CONFIG + sed -i \ + -e "/^CXXFLAGS=/d" \ + -e "/^LDFLAGS=/d" \ + -e "/^CXX=/d" \ + configure || die "sed on configure failed" + + epatch_user + + epatch "${FILESDIR}/${P}-tinfo.patch" +} diff --git a/app-editors/moe/moe-1.7.ebuild b/app-editors/moe/moe-1.7.ebuild new file mode 100644 index 000000000000..cbe5d767fd66 --- /dev/null +++ b/app-editors/moe/moe-1.7.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs unpacker + +DESCRIPTION="A powerful and user-friendly console text editor" +HOMEPAGE="http://www.gnu.org/software/moe/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.lz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + sys-libs/ncurses +" +DEPEND=" + $(unpacker_src_uri_depends) + ${RDEPEND} + virtual/pkgconfig +" + +src_prepare() { + tc-export CXX PKG_CONFIG + sed -i \ + -e "/^CXXFLAGS=/d" \ + -e "/^LDFLAGS=/d" \ + -e "/^CXX=/d" \ + configure || die "sed on configure failed" + + epatch_user + + epatch "${FILESDIR}/${PN}-1.6-tinfo.patch" +} diff --git a/app-editors/mousepad/Manifest b/app-editors/mousepad/Manifest new file mode 100644 index 000000000000..d069a48c3f9c --- /dev/null +++ b/app-editors/mousepad/Manifest @@ -0,0 +1,2 @@ +DIST mousepad-0.3.0.tar.bz2 481125 SHA256 10f27506994d0d0b8f9e02555404a144babedab97517abe3b6be8b2d21ff046d SHA512 4e8f7cd8f05265c7f3964f0f5196721136c501351aa8c7bae1e3a6056fcd61f40364f2bb226817d458afa3707334dd600efbae2f8d050d65841ef03085717e42 WHIRLPOOL ed3582231bca8d3ea1f5a4adaf6279cd48d3628ba1154db80c6fb037b0efacbaf7535dad9bb4631982cfa5ee73514a628c340cb017514b0ab29d028b3c974b1c +DIST mousepad-0.4.0.tar.bz2 578483 SHA256 60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132 SHA512 5196abd04268d1ace118dc485b72bfcfb7f9175eeaf52bc97c08c1646371d26401403a3bb199d882380bcb998547c65af9bd054f0365afd846c0ad74d3c3b1fe WHIRLPOOL dd087f38d75836d28cdae3a851d2ede0246a66db104710bab919928d32b63e470c95d77ff09c34c92e90322f14d5f85f83dc913acc529b8dd95ad8bc2712b9c1 diff --git a/app-editors/mousepad/files/mousepad-0.3.0-validate.patch b/app-editors/mousepad/files/mousepad-0.3.0-validate.patch new file mode 100644 index 000000000000..dbbd31fb786d --- /dev/null +++ b/app-editors/mousepad/files/mousepad-0.3.0-validate.patch @@ -0,0 +1,17 @@ +--- mousepad.desktop.in.in ++++ mousepad.desktop.in.in +@@ -1,6 +1,4 @@ +- + [Desktop Entry] +-Encoding=UTF-8 + _Name=Mousepad + _Comment=Simple Text Editor + _GenericName=Text Editor +@@ -9,5 +7,5 @@ + Terminal=false + StartupNotify=true + Type=Application +-Categories=Application;Utility;TextEditor;GTK; +-MimeType=text/plain ++Categories=Utility;TextEditor;GTK; ++MimeType=text/plain; diff --git a/app-editors/mousepad/metadata.xml b/app-editors/mousepad/metadata.xml new file mode 100644 index 000000000000..6b976badcbc7 --- /dev/null +++ b/app-editors/mousepad/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>xfce@gentoo.org</email> + <name>XFCE Team</name> + </maintainer> + <use> + <flag name='gtk3'>Use GTK+3 instead of GTK+2</flag> + </use> +</pkgmetadata> diff --git a/app-editors/mousepad/mousepad-0.3.0.ebuild b/app-editors/mousepad/mousepad-0.3.0.ebuild new file mode 100644 index 000000000000..34d66f0ed058 --- /dev/null +++ b/app-editors/mousepad/mousepad-0.3.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit xfconf + +DESCRIPTION="GTK+ 2.x based editor for the Xfce Desktop Environment" +HOMEPAGE="http://goodies.xfce.org/projects/applications/start" +SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug dbus" + +RDEPEND=">=dev-libs/glib-2.12 + >=x11-libs/gtk+-2.20:2 + x11-libs/gtksourceview:2.0 + dbus? ( >=dev-libs/dbus-glib-0.100 )" +DEPEND="${RDEPEND} + dev-lang/perl + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +pkg_setup() { + PATCHES=( "${FILESDIR}"/${P}-validate.patch ) + + XFCONF=( + $(xfconf_use_debug) + $(use_enable dbus) + ) + + DOCS=( AUTHORS ChangeLog NEWS README TODO ) +} diff --git a/app-editors/mousepad/mousepad-0.4.0.ebuild b/app-editors/mousepad/mousepad-0.4.0.ebuild new file mode 100644 index 000000000000..d5941cb8a15c --- /dev/null +++ b/app-editors/mousepad/mousepad-0.4.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit gnome2-utils xfconf + +DESCRIPTION="GTK+-based editor for the Xfce Desktop Environment" +HOMEPAGE="http://goodies.xfce.org/projects/applications/start" +SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug dbus gtk3" + +RDEPEND=">=dev-libs/glib-2.30:2= + dbus? ( >=dev-libs/dbus-glib-0.100:0= ) + !gtk3? ( >=x11-libs/gtk+-2.24:2= + x11-libs/gtksourceview:2.0= ) + gtk3? ( x11-libs/gtk+:3= + x11-libs/gtksourceview:3.0= )" +DEPEND="${RDEPEND} + dev-lang/perl + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +pkg_setup() { + XFCONF=( + $(xfconf_use_debug) + $(use_enable dbus) + $(use_enable gtk3) + ) + + DOCS=( AUTHORS ChangeLog NEWS README TODO ) +} + +pkg_preinst() { + xfconf_pkg_preinst + gnome2_schemas_savelist +} + +pkg_postinst() { + xfconf_pkg_postinst + gnome2_schemas_update +} diff --git a/app-editors/mp/Manifest b/app-editors/mp/Manifest new file mode 100644 index 000000000000..08b737b15240 --- /dev/null +++ b/app-editors/mp/Manifest @@ -0,0 +1 @@ +DIST mp-5.2.2.tar.gz 583918 SHA256 f4c04315e6a0a3b831f218f73904afd3c227aa18b67ab21b39dffbb54edfea1f SHA512 44c9b7ded38c294ffc90240ac73848a799294584f20bb981d95f8dde4f281ea9242b6ff8aefdb490e9e02effaab6cbc5bdf94ea489af838a89038113c43da131 WHIRLPOOL 0feba9d14b0f0a5addf153e0ce4d4186b90392c78d2154200cea665880861cef07fdcbfc7d841ef736a3852d8523290d2f5fdbad87f1ab20894e2a32e9df78d7 diff --git a/app-editors/mp/files/mp-5.2.1-prll.patch b/app-editors/mp/files/mp-5.2.1-prll.patch new file mode 100644 index 000000000000..a0fef7fd63a3 --- /dev/null +++ b/app-editors/mp/files/mp-5.2.1-prll.patch @@ -0,0 +1,46 @@ +--- mp-5.2.1/makefile.in ++++ mp-5.2.1/makefile.in +@@ -4,7 +4,7 @@ all: $(APPNAME) docs build-mo + + PROJ=mp + +-ADD_DOCS=AUTHORS README COPYING RELEASE_NOTES \ ++ADD_DOCS=AUTHORS README RELEASE_NOTES \ + mp_templates.sample doc/mp_function_reference.html + GRUTATXT_DOCS=doc/mp_index.html doc/mp_cookbook.html doc/mp_internals.html \ + doc/mp_configuration.html doc/mp_data_model.html \ +@@ -26,10 +26,10 @@ version: + $(CC) $(CFLAGS) -I. `cat config.cflags` -c $< + + $(MPDM)/libmpdm.a: +- ( cd $(MPDM); $(MAKE) ) ++ $(MAKE) -C $(MPDM) + + $(MPSL)/libmpsl.a: $(MPDM)/libmpdm.a +- ( cd $(MPSL); $(MAKE) ) ++ $(MAKE) -C $(MPSL) + + dep: + gcc -MM *.c `cat config.cflags` > makefile.depend +@@ -88,8 +88,8 @@ $(APPNAME).1: doc/mp_man.txt + grutatxt -m man -t "Minimum Profit" < doc/mp_man.txt > $(APPNAME).1 + + docs: $(DOCS) +- (cd $(MPDM); $(MAKE) docs) +- (cd $(MPSL); $(MAKE) docs) ++ $(MAKE) -C $(MPDM) docs ++ $(MAKE) -C $(MPSL) docs + + distcopy: distclean docs + mkdir -p $(DIST_TARGET) ; \ +@@ -134,8 +134,8 @@ install: $(INSTALL_MSG) installdoc install-mo + + installdoc: + ./mkinstalldirs $(PREFIX)/share/doc/$(APPNAME) +- ( cd $(MPDM); $(MAKE) installdoc ) +- ( cd $(MPSL); $(MAKE) installdoc ) ++ $(MAKE) -C $(MPDM) installdoc ++ $(MAKE) -C $(MPSL) installdoc + install -m 644 doc/* $(PREFIX)/share/doc/$(APPNAME) + install -m 644 $(ADD_DOCS) $(PREFIX)/share/doc/$(APPNAME) + [ -f doc/mp_index.html ] && install -m 644 doc/mp_index.html $(PREFIX)/share/doc/$(APPNAME)/index.html || true diff --git a/app-editors/mp/files/mp-5.2.2-gtk+.patch b/app-editors/mp/files/mp-5.2.2-gtk+.patch new file mode 100644 index 000000000000..fc203e28a725 --- /dev/null +++ b/app-editors/mp/files/mp-5.2.2-gtk+.patch @@ -0,0 +1,40 @@ + mpv_gtk.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/mpv_gtk.c b/mpv_gtk.c +index 3abba24..ea99144 100644 +--- a/mpv_gtk.c ++++ b/mpv_gtk.c +@@ -2499,12 +2499,12 @@ static mpdm_t gtk_drv_startup(mpdm_t a, mpdm_t ctxt) + #endif + gtk_notebook_set_scrollable(GTK_NOTEBOOK(file_tabs), 1); + +- vbox = gtk_vbox_new(FALSE, 2); ++ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2); + gtk_container_add(GTK_CONTAINER(window), vbox); + + build_menu(); + +- hbox = gtk_hbox_new(FALSE, 0); ++ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), menu_bar, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), file_tabs, TRUE, TRUE, 0); +@@ -2512,7 +2512,7 @@ static mpdm_t gtk_drv_startup(mpdm_t a, mpdm_t ctxt) + gtk_notebook_popup_enable(GTK_NOTEBOOK(file_tabs)); + + /* horizontal box holding the text and the scrollbar */ +- hbox = gtk_hbox_new(FALSE, 2); ++ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2); + gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); + + /* the Minimum Profit area */ +@@ -2578,7 +2578,7 @@ static mpdm_t gtk_drv_startup(mpdm_t a, mpdm_t ctxt) + G_CALLBACK(switch_page), NULL); + + /* the scrollbar */ +- scrollbar = gtk_vscrollbar_new(NULL); ++ scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, NULL); + gtk_box_pack_start(GTK_BOX(hbox), scrollbar, FALSE, FALSE, 0); + + g_signal_connect(G_OBJECT diff --git a/app-editors/mp/metadata.xml b/app-editors/mp/metadata.xml new file mode 100644 index 000000000000..f9d50da18d39 --- /dev/null +++ b/app-editors/mp/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/mp/mp-5.2.2.ebuild b/app-editors/mp/mp-5.2.2.ebuild new file mode 100644 index 000000000000..421815e08b42 --- /dev/null +++ b/app-editors/mp/mp-5.2.2.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="Minimum Profit: A text editor for programmers" +HOMEPAGE="http://www.triptico.com/software/mp.html" +SRC_URI="http://www.triptico.com/download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-interix ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="gtk iconv kde ncurses nls pcre qt4" + +MP_LINGUAS="de es it nl ru sv" +for mp_lingua in ${MP_LINGUAS}; do + IUSE+=" linguas_${mp_lingua}" +done + +RDEPEND=" + ncurses? ( sys-libs/ncurses ) + gtk? ( + || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) + >=x11-libs/pango-1.8.0 + dev-libs/atk + dev-libs/glib + media-libs/fontconfig + media-libs/freetype + x11-libs/cairo + ) + !gtk? ( sys-libs/ncurses ) + app-text/grutatxt + iconv? ( virtual/libiconv ) + nls? ( sys-devel/gettext ) + pcre? ( dev-libs/libpcre ) +" +DEPEND=" + ${RDEPEND} + app-text/grutatxt + virtual/pkgconfig + dev-lang/perl +" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-gtk+.patch \ + "${FILESDIR}"/${PN}-5.2.1-prll.patch + local mp_lingua + for mp_lingua in ${MP_LINGUAS}; do + if ! use linguas_${mp_lingua}; then + rm po/${mp_lingua/linguas_/}.[mp]o || die + fi + done + [[ $(ls po 2> /dev/null) ]] || \ + sed \ + -e '/^all/s:$(BUILDMO)::g' \ + -e '/^install/s:$(INSTALLMO)::g' \ + -i makefile.in || die +} + +src_configure() { + local myconf="--prefix=${EPREFIX}/usr --without-win32" + + if use gtk; then + ! use ncurses && myconf="${myconf} --without-curses" + else + myconf="${myconf} --without-gtk2" + fi + + use iconv || myconf="${myconf} --without-iconv" + + use kde || myconf="${myconf} --without-kde4" + + use nls || myconfig="${myconf} --without-gettext" + + myconf="${myconf} $(use_with pcre)" + use pcre || myconf="${myconf} --with-included-regex" + + use qt4 || myconf="${myconf} --without-qt4" + + tc-export AR CC + sh config.sh ${myconf} || die "Configure failed" + + for i in "${S}" "${S}"/mpsl "${S}"/mpdm;do + echo ${CFLAGS} >> $i/config.cflags + echo ${CFLAGS} >> $i/config.ldflags + echo ${LDFLAGS} >> $i/config.ldflags + done +} + +src_compile() { + emake CPP="$(tc-getCXX)" CCLINK="$(tc-getCXX)" +} + +src_install() { + dodir /usr/bin + sh config.sh --prefix="${EPREFIX}/usr" + emake DESTDIR="${D}" install +} diff --git a/app-editors/nano/Manifest b/app-editors/nano/Manifest new file mode 100644 index 000000000000..65e6438baa21 --- /dev/null +++ b/app-editors/nano/Manifest @@ -0,0 +1,12 @@ +DIST nano-1.3.12.tar.gz 1250777 SHA256 f5537b8a988618fa8524b6a4b0a6950184d37db983b4521ad843b98845da571c SHA512 30d95122486e13159c4e36d4408ab977351d0d46bb28e21b0e867ab6246a3a5a51d987fcca956d66d629753698188bffec34f076a1cf505cbadd6bec4cd54afb WHIRLPOOL a2ef9482ade321ffc231e5bc0429a363389049ab4fbb82f74719003ca3446681805fbcf8c78dd6fad62c0363030e9804f649b297a7c6840fff83148cb031c7d1 +DIST nano-2.0.9.tar.gz 1403773 SHA256 6d212385680d29dcda35dda7801da19c80182a8bc6bc6d5cf7533034c853d37f SHA512 9090dc005670998db2d10657e8c37751051a71ea4a6ba514d1c8e36d5d5030c778ede5d2c3734106a92e100e3755add828f3094b3b5c2b41def8e15e674e4907 WHIRLPOOL 4d16cb2c684bf34f441096311778b9249243cc84351af7586ff1bbbbbd7c0fb251548a1fc987cb91a08633b49fb0841e97d3ca79e8392b8f0ff2e12560b2b098 +DIST nano-2.1.10.tar.gz 1478204 SHA256 03af11adace9f6c482a06f5304c5aba5d134972a416ce4368307b604420b2e40 SHA512 647174879abb0658776e9f3c6734db0989cfe1cb445bda616997d24e2955f7df790bf1c6b7d8dd3fe4878c73d589d84c6c1acae6b851dbf6ab623f0992cf284e WHIRLPOOL 8b813d18c9b2d94c1ec11377f9b7467e18a0fd9d425fe84d9209f6a6c4192bbdd1377f78306c489830a563f4aba0962bfd7349086e59cd12fed6ea96ea67531a +DIST nano-2.2.5.tar.gz 1554750 SHA256 9015945d1badabbada203b37c4779d3dd1066234235c714deb439989c5cd7d9e SHA512 5dd9bd1bccb8ab5c6592310e2e6cee5a59370595ab1ce2065f0d77a6eb58d8e115559a00b17582ccc6321dcd93a557af391e716977d3ce86f99d83b1aad648fc WHIRLPOOL b2b65c589dc4bfc665e3f73a6fa6bfecfc6bae0d68d99a43ec392fd625717b9e3792b868d84fece44622e245c15c8f20d0c97aa129813319327c42cc89fc96c3 +DIST nano-2.3.1.tar.gz 1624332 SHA256 b7bace9a8e543b84736d6ef5ce5430305746efea3aacb24391f692efc6f3c8d3 SHA512 ab8e17f712c0609e5e7e7caeec79c4bb28d1d6e1c837d2a9c2e7a691156f58c6770375d8c410898648a3629a38cf6b3bb2de9a6c02556e62a583c0500a1aec94 WHIRLPOOL ea14ce055f41884956ad5de5e763396522b9f63c8fd64720078f11c1c97e0fbc6f760789fc52bd3f485d1856dda2727899fb8e79cae3c87850ba0ad8793b1a4d +DIST nano-2.3.2.tar.gz 1725485 SHA256 ff309248071486445609ad4269b798262a1324d7503dc09dea289f5b60106be8 SHA512 c4bf4a152e797e860e9f8aee5091b8e380f5305d3457d5503c2b6187897394510dd756948cce7157fe986bbb9db7a5b98c9cb5794d12cf6399d7e96e0db1be49 WHIRLPOOL 48111c18a50ab5215646b0a85a6f90a55274d349890fee54e18a66028b1b5a79f51c6f2f12a039751342845b3c8e5f58854e3368d7f8f18c1ab94d6f56f40b02 +DIST nano-2.3.3.tar.gz 1812671 SHA256 d80e0fce656b5cd2f327ea599c708c897dc1b8c608e87c756d63c79e97e8cc19 SHA512 542a12ac7dd8bd48b69e7c3c4850b5757372c0abb2082f12ca049a5857137ef93a7225ca9f23b8aaa934c639c2c1c1d54ae40da868b7c4adf3b3cfc9dec16a95 WHIRLPOOL a9b7c9d2f2904e588f0847d2b897649e780ca489c1240da49a5afdabf10c588191c8cbd3a6360409a26e24ad5604cb12172bb9680200e3edbad2bd94cb5fc3ca +DIST nano-2.3.4.tar.gz 1812943 SHA256 1774129f4b933df5dbfdf45c4ecdbfc19eb6ff8c2fc6ad43c7f392aa7cd998c1 SHA512 5f0e3d170cce60a6b20647607745373727700fbb59d579ce5f62fd5915568ef0065f5e0e2923812a321dd3b13c77ab9231fd62f7b2a86965925d1da675fa646b WHIRLPOOL 2c703bbc79304a28c06154a451a5035967101ecc82cddbd005cb1a6599466d8b54c944f2aef9dd6c7f9b7a171b705177e3d0e7a496c43ffca39000244371547e +DIST nano-2.3.6.tar.gz 1816012 SHA256 a74bf3f18b12c1c777ae737c0e463152439e381aba8720b4bc67449f36a09534 SHA512 00d66dbbd1ee59b3d606af8688599ce627aa98cee494611e255293347b9aa4f3f583820ac28adae5f7209410a28669cdd5211258411d83364d3eb788d909bb73 WHIRLPOOL 6900e40e41f7bbd23a0dc76fe24bbf29c46b65bead328cb574008045f397e92643a7cee35605ef044e1921029dca54e49831548828490abbf24b2c63f0f9092b +DIST nano-2.4.0.tar.gz 1886052 SHA256 5076fb502680503e648cbdcbf2077e39fba193420ae19203f0a54cb2d94a75bd SHA512 7f079e307521a47405ba6d107d481df6869dbd7ea9297de6c69e831d00335cee403ac3ec1ef3578488cbec65c2e2ddec15edfddd45071f0fb4e2eccc94cbef1d WHIRLPOOL 1e4aaaa67c44bf051210b9c65db80c30189606fc2ba0d3e1a6802a41e7244901e60858ad412a0c6ee6e0eaa90d65925d8c954b398387cc12109a626811d8ad07 +DIST nano-2.4.1.tar.gz 1890805 SHA256 6a0ceb5e1b9b9bea72d5d1f46488ace4782b1f198ea6ba558480a86d994f29d2 SHA512 0e2bc99627682350496853b2dc8d3d4c25303b3723fd1dec2e26f2860b21d0f4c6cb99810517fc4e86312f3bec5481c327afab84dac55f4c388799453e6f5f11 WHIRLPOOL 3c3decdd0c94c33a2cb3854e6b8cda4082a9a98d55d8e1d256ec73febaa0de597d41b1f63c18cb6308fb7174b6ced0995434697f6c05a2efb53e3588f2ca7d8a +DIST nano-2.4.2.tar.gz 1898633 SHA256 c8cd7f18fcf5696d9df3364ee2a840e0ab7b6bdbd22abf850bbdc951db7f65b9 SHA512 487b03b33ac8fac4a774223e038b00463ca03e08093c506b10f4df56795039eff1c23518c1a4f32695cee1bb9bb5eb0a2dd3e1f8a9befcc573e7fca3d69fa9d3 WHIRLPOOL ac5942114a48d428e64db47afb919feef506e18da8b21627ea421e59bf3c235083b17ffaf7a6e510193b6617c0e2ad9d2460f64d5d8bbd6b828547bcd41b5c7c diff --git a/app-editors/nano/files/awk.nanorc b/app-editors/nano/files/awk.nanorc new file mode 100644 index 000000000000..696ab6ad727c --- /dev/null +++ b/app-editors/nano/files/awk.nanorc @@ -0,0 +1,38 @@ +## Here is an example for awk. +## +syntax "awk" "\.awk$" +## records +icolor brightred "\$[0-9A-Z_!@#$*?-]+" +## awk-set variables +color red "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>" +color red "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>" +color red "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>" +## function declarations and special patterns +color brightgreen "\<(function|extension|BEGIN|END)\>" +## operators +color green "(\{|\}|\(|\)|\;|\]|\[|\\|<|>|!|=|&|\+|-|\*|%|/|\?:|\^|\|)" +## flow control +color brightyellow "\<(for|if|while|do|else|in|delete|exit)\>" +color brightyellow "\<(break|continue|return)\>" +## I/O statements +color brightgreen "\<(close|getline|next|nextfile|print|printf)\>" +color brightgreen "\<(system|fflush)\>" +## standard functions +color magenta "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>" +color magenta "\<(asort|asorti|gensub|gsub|index|length|match)\>" +color magenta "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>" +color magenta "\<(mktime|strftime|systime)\>" +color magenta "\<(and|compl|lshift|or|rshift|xor)\>" +color magenta "\<(bindtextdomain|dcgettext|dcngettext)\>" + +## +## String highlighting. You will in general want your comments and +## strings to come last, because syntax highlighting rules will be +## applied in the order they are read in. +color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" + +## Comment highlighting +color brightblue "(^|[[:space:]])#.*$" + +## Trailing whitespace +color ,green "[[:space:]]+$" diff --git a/app-editors/nano/files/css.nanorc b/app-editors/nano/files/css.nanorc new file mode 100644 index 000000000000..62126e8a7833 --- /dev/null +++ b/app-editors/nano/files/css.nanorc @@ -0,0 +1,9 @@ +## Here is an example for css files. +## +syntax "css" "\.css$" +color brightred "." +color brightyellow start="\{" end="\}" +color brightwhite start=":" end="[;^\{]" +color brightblue ":active|:focus|:hover|:link|:visited|:link|:after|:before|$" +color brightblue start="\/\*" end="\\*/" +color green ";|:|\{|\}" diff --git a/app-editors/nano/files/gentoo.nanorc b/app-editors/nano/files/gentoo.nanorc new file mode 100644 index 000000000000..f08d2e9027ce --- /dev/null +++ b/app-editors/nano/files/gentoo.nanorc @@ -0,0 +1,50 @@ +## Here is an example for ebuilds/eclasses +## +syntax "ebuild" "\.e(build|class)$" +## All the standard portage functions +color brightgreen "^src_(unpack|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))" +## Highlight bash related syntax +color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>" +color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" +color green "-(e|d|f|r|g|u|w|x|L)\>" +color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>" +## Highlight variables ... official portage ones in red, all others in bright red +color brightred "\$\{?[a-zA-Z_0-9]+\}?" +color red "\<(ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT|USERLAND)\>" +color red "\<(S|D|T|PV|PF|P|PN|A)\>" "\<C(XX)?FLAGS\>" "\<LDFLAGS\>" "\<C(HOST|TARGET|BUILD)\>" +## Highlight portage commands +color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*" +color brightblue "\<e(begin|end|conf|install|make|warn|infon?|error|log|patch|new(group|user))\>" +color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>" "\<unpack\>" +color brightblue "\<(do|new)(ins|s?bin|doc|lib(|\.so|\.a)|man|info|exe|initd|confd|envd|pam|menu|icon)\>" +color brightblue "\<do(header|python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>" +color brightblue "prepall(|docs|info|man|strip)" "prep(info|lib|lib\.(so|a)|man|strip)" +color brightblue "\<(|doc|ins|exe)into\>" "\<f(owners|perms)\>" "\<(exe|ins|dir)opts\>" "\<usex\>" +## Highlight common commands used in ebuilds +color blue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|let|ln|mkdir|mv|rm|sed|set|tar|touch|unset)\>" +## Highlight comments (doesnt work that well) +color yellow "#.*$" +## Highlight strings (doesnt work that well) +color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'" +## Trailing space is bad! +color ,green "[[:space:]]+$" + +## Here is an example for Portage control files +## +syntax "/etc/portage" "\.(keywords|mask|unmask|use)$" +## Base text: +color green "^.+$" +## Use flags: +color brightred "[[:space:]]+\+?[a-zA-Z0-9_-]+" +color brightblue "[[:space:]]+-[a-zA-Z0-9_-]+" +## Likely version numbers: +color magenta "-[[:digit:]].*([[:space:]]|$)" +## Accepted arches: +color white "[~-]?\<(alpha|amd64|arm|hppa|ia64|mips|ppc|ppc64|s390|sh|sparc|x86|x86-fbsd)\>" +color white "[[:space:]][~-]?\*" +## Categories: +color cyan "^[[:space:]]*.*/" +## Masking regulators: +color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)" +## Comments: +color yellow "#.*$" diff --git a/app-editors/nano/files/nano-1.3.12-fix2.patch b/app-editors/nano/files/nano-1.3.12-fix2.patch new file mode 100644 index 000000000000..1c6ba22f3ab3 --- /dev/null +++ b/app-editors/nano/files/nano-1.3.12-fix2.patch @@ -0,0 +1,15 @@ +diff -ru nano-1.3.12/src/rcfile.c nano-1.3.12-fix2/src/rcfile.c +--- nano-1.3.12/src/rcfile.c 2006-06-07 22:50:56.000000000 -0400 ++++ nano-1.3.12-fix2/src/rcfile.c 2006-07-18 19:22:30.000000000 -0400 +@@ -834,9 +834,11 @@ + rcfile_error(N_("Unknown flag \"%s\""), option); + } + ++#ifdef ENABLE_COLOR + if (endsyntax != NULL && endcolor == NULL) + rcfile_error(N_("Syntax \"%s\" has no color commands"), + endsyntax->desc); ++#endif + + free(buf); + fclose(rcstream); diff --git a/app-editors/nano/files/nano-1.3.12-path.patch b/app-editors/nano/files/nano-1.3.12-path.patch new file mode 100644 index 000000000000..b8b2a7e11ff8 --- /dev/null +++ b/app-editors/nano/files/nano-1.3.12-path.patch @@ -0,0 +1,199 @@ +diff -ur nano-1.3.12/src/files.c nano-1.3.12-fixed/src/files.c +--- nano-1.3.12/src/files.c 2006-06-14 09:19:43.000000000 -0400 ++++ nano-1.3.12-fixed/src/files.c 2006-07-05 11:44:17.000000000 -0400 +@@ -902,21 +902,29 @@ + * able to go there. */ + char *get_full_path(const char *origpath) + { +- char *d_here, *d_there = NULL; ++ struct stat fileinfo; ++ char *d_here, *d_there, *d_there_file = NULL; ++ const char *last_slash; ++ bool path_only; + + if (origpath == NULL) + return NULL; + +- /* Get the current directory. */ ++ /* Get the current directory. If it doesn't exist, back up and try ++ * again until we get a directory that does, and use that as the ++ * current directory. */ + d_here = charalloc(PATH_MAX + 1); + d_here = getcwd(d_here, PATH_MAX + 1); + +- if (d_here != NULL) { +- const char *last_slash; +- char *d_there_file = NULL; +- bool path_only; +- struct stat fileinfo; ++ while (d_here == NULL) { ++ if (chdir("..") == -1) ++ break; ++ ++ d_here = getcwd(d_here, PATH_MAX + 1); ++ } + ++ /* If we succeeded, canonicalize it in d_here. */ ++ if (d_here != NULL) { + align(&d_here); + + /* If the current directory isn't "/", tack a slash onto the end +@@ -925,89 +933,91 @@ + d_here = charealloc(d_here, strlen(d_here) + 2); + strcat(d_here, "/"); + } ++ /* Otherwise, set d_here to "". */ ++ } else ++ d_here = mallocstrcpy(NULL, ""); + +- d_there = real_dir_from_tilde(origpath); ++ d_there = real_dir_from_tilde(origpath); + +- assert(d_there != NULL); ++ assert(d_there != NULL); + +- /* Stat d_there. If stat() fails, assume that d_there refers to +- * a new file that hasn't been saved to disk yet. Set path_only +- * to TRUE if d_there refers to a directory, and FALSE if +- * d_there refers to a file. */ +- path_only = !stat(d_there, &fileinfo) && +- S_ISDIR(fileinfo.st_mode); +- +- /* If path_only is TRUE, make sure d_there ends in a slash. */ +- if (path_only) { +- size_t d_there_len = strlen(d_there); +- +- if (d_there[d_there_len - 1] != '/') { +- d_there = charealloc(d_there, d_there_len + 2); +- strcat(d_there, "/"); +- } +- } ++ /* If stat()ing d_there fails, assume that d_there refers to a new ++ * file that hasn't been saved to disk yet. Set path_only to TRUE ++ * if d_there refers to a directory, and FALSE otherwise. */ ++ path_only = stat(d_there, &fileinfo) == 0 && ++ S_ISDIR(fileinfo.st_mode); + +- /* Search for the last slash in d_there. */ +- last_slash = strrchr(d_there, '/'); ++ /* If path_only is TRUE, make sure d_there ends in a slash. */ ++ if (path_only) { ++ size_t d_there_len = strlen(d_there); + +- /* If we didn't find one, then make sure the answer is in the +- * format "d_here/d_there". */ +- if (last_slash == NULL) { +- assert(!path_only); ++ if (d_there[d_there_len - 1] != '/') { ++ d_there = charealloc(d_there, d_there_len + 2); ++ strcat(d_there, "/"); ++ } ++ } + +- d_there_file = d_there; +- d_there = d_here; +- } else { +- /* If path_only is FALSE, then save the filename portion of +- * the answer, everything after the last slash, in +- * d_there_file. */ +- if (!path_only) +- d_there_file = mallocstrcpy(NULL, last_slash + 1); +- +- /* And remove the filename portion of the answer from +- * d_there. */ +- null_at(&d_there, last_slash - d_there + 1); +- +- /* Go to the path specified in d_there. */ +- if (chdir(d_there) == -1) { +- free(d_there); +- d_there = NULL; +- } else { +- /* Get the full path and save it in d_there. */ +- free(d_there); ++ /* Search for the last slash in d_there. */ ++ last_slash = strrchr(d_there, '/'); + +- d_there = charalloc(PATH_MAX + 1); +- d_there = getcwd(d_there, PATH_MAX + 1); ++ /* If we didn't find one, then make sure the answer is in the format ++ * "d_here/d_there". */ ++ if (last_slash == NULL) { ++ assert(!path_only); + +- if (d_there != NULL) { +- align(&d_there); ++ d_there_file = d_there; ++ d_there = d_here; ++ } else { ++ /* If path_only is FALSE, then save the filename portion of the ++ * answer (everything after the last slash) in d_there_file. */ ++ if (!path_only) ++ d_there_file = mallocstrcpy(NULL, last_slash + 1); ++ ++ /* And remove the filename portion of the answer from ++ * d_there. */ ++ null_at(&d_there, last_slash - d_there + 1); ++ ++ /* Go to the path specified in d_there. */ ++ if (chdir(d_there) == -1) { ++ free(d_there); ++ d_there = NULL; ++ } else { ++ free(d_there); + +- if (strcmp(d_there, "/") != 0) { +- /* Make sure d_there ends in a slash. */ +- d_there = charealloc(d_there, +- strlen(d_there) + 2); +- strcat(d_there, "/"); +- } +- } else +- /* If we couldn't get the full path, set path_only +- * to TRUE so that we clean up correctly, free all +- * allocated memory, and return NULL. */ +- path_only = TRUE; +- +- /* Finally, go back to the path specified in d_here, +- * where we were before. */ +- chdir(d_here); +- } ++ /* Get the full path. */ ++ d_there = charalloc(PATH_MAX + 1); ++ d_there = getcwd(d_there, PATH_MAX + 1); ++ ++ /* If we succeeded, canonicalize it in d_there. */ ++ if (d_there != NULL) { ++ align(&d_there); ++ ++ /* If the current directory isn't "/", tack a slash onto ++ * the end of it. */ ++ if (strcmp(d_there, "/") != 0) { ++ d_there = charealloc(d_there, strlen(d_there) + 2); ++ strcat(d_there, "/"); ++ } ++ } else ++ /* Otherwise, set path_only to TRUE, so that we clean up ++ * correctly, free all allocated memory, and return ++ * NULL. */ ++ path_only = TRUE; ++ ++ /* Finally, go back to the path specified in d_here, ++ * where we were before. We don't check for a chdir() ++ * error, since we can do nothing then. */ ++ chdir(d_here); + + /* Free d_here, since we're done using it. */ + free(d_here); + } + +- /* At this point, if path_only is FALSE and d_there exists, ++ /* At this point, if path_only is FALSE and d_there isn't NULL, + * d_there contains the path portion of the answer and + * d_there_file contains the filename portion of the answer. If +- * this is the case, tack d_there_file onto the end of +- * d_there, so that d_there contains the complete answer. */ ++ * this is the case, tack the latter onto the end of the former. ++ * d_there will then contain the complete answer. */ + if (!path_only && d_there != NULL) { + d_there = charealloc(d_there, strlen(d_there) + + strlen(d_there_file) + 1); diff --git a/app-editors/nano/files/nano-1.3.12-scroll.patch b/app-editors/nano/files/nano-1.3.12-scroll.patch new file mode 100644 index 000000000000..f5d533633224 --- /dev/null +++ b/app-editors/nano/files/nano-1.3.12-scroll.patch @@ -0,0 +1,39 @@ +fix from upstream + +diff -ur nano-1.3.12/src/move.c nano-1.3.12-fixed/src/move.c +--- nano-1.3.12/src/move.c 2006-05-21 22:08:49.000000000 -0400 ++++ nano-1.3.12-fixed/src/move.c 2006-07-06 17:01:03.000000000 -0400 +@@ -521,6 +521,16 @@ + + /* Scroll the edit window up one line. */ + edit_scroll(UP, 1); ++ ++ /* If we're not on the first line of the edit window, update the ++ * line we were on before and the line we're on now. The former ++ * needs to be redrawn if we're not on the first page, and the ++ * latter needs to be drawn unconditionally. */ ++ if (openfile->current_y > 0) { ++ if (need_vertical_update(0)) ++ update_line(openfile->current->next, 0); ++ update_line(openfile->current, openfile->current_x); ++ } + } + #endif /* !NANO_TINY */ + +@@ -574,6 +584,16 @@ + + /* Scroll the edit window down one line. */ + edit_scroll(DOWN, 1); ++ ++ /* If we're not on the last line of the edit window, update the line ++ * we were on before and the line we're on now. The former needs to ++ * be redrawn if we're not on the first page, and the latter needs ++ * to be drawn unconditionally. */ ++ if (openfile->current_y < editwinrows - 1) { ++ if (need_vertical_update(0)) ++ update_line(openfile->current->prev, 0); ++ update_line(openfile->current, openfile->current_x); ++ } + } + #endif /* !NANO_TINY */ + diff --git a/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch b/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch new file mode 100644 index 000000000000..300ee2d24ee1 --- /dev/null +++ b/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch @@ -0,0 +1,118 @@ +From 5afd6d3e9558f8295496f7c59c765947e7f19d8a Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 28 Nov 2011 15:37:02 -0500 +Subject: [PATCH 1/2] nanorc(5): fix bind/unbind documentation + +The unbind section is listed after valid key/menu/functions, but tries +to say those sections come after it. So reorganization the section so +that bind/unbind comes first, and then we cover the key/menu/functions +after both of them. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + doc/man/nanorc.5 | 32 +++++++++++++++++++------------- + 1 file changed, 19 insertions(+), 13 deletions(-) + +diff --git a/doc/man/nanorc.5 b/doc/man/nanorc.5 +index da33179..2da71ab 100644 +--- a/doc/man/nanorc.5 ++++ b/doc/man/nanorc.5 +@@ -282,9 +282,19 @@ Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that + .SH KEY BINDINGS + Key bindings may be reassigned via the following commands: + .TP +-.B bind \fIkey\fP \fIfunction\fP \fImenu\fP ++.B bind \fIkey\fP \fIfunction\fP \fImenu\fP + Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the +-context of menu \fImenu\fP. The format of \fIkey\fP should be one of: ++context of menu \fImenu\fP. ++.TP ++.B unbind \fIkey\fP \fImenu\fP ++Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all ++menus by using \fIall\fP. Same key syntax as for binding. ++Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the ++context of menu \fImenu\fP. ++.TP ++ ++The format of \fIkey\fP should be one of: ++ + .TP + .B ^ + followed by an alpha character or the word "Space". +@@ -298,8 +308,10 @@ Example: M-C + followed by a numeric value from 1 to 16. + Example: F10 + .TP +-Valid function names to be bound include: +-.TP 3 ++ ++Valid \fIfunction\fP names to be bound include: ++ ++.TP 2 + .B help + Invoke the help menu. + .TP +@@ -506,8 +518,9 @@ Toggle whether long lines will be wrapped to the next line. + Toggle whether the suspend sequence (normally ^Z) will suspend the editor window. + .TP + +-Valid menu sections are: +-.TP ++Valid \fImenu\fP sections are: ++ ++.TP 2 + .B main + The main editor window where text is entered. + .TP +@@ -549,13 +562,6 @@ The 'go to directory' menu. + .TP + .B all + A special name meaning: apply to all menus where this function exists. +- +-.TP +-.B unbind \fIkey\fP \fImenu\fP +-Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all +-menus by using \fIall\fP. Same key syntax as for binding. +-Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the +-context of menu \fImenu\fP. The format of \fIkey\fP should be one of: + .SH FILES + .TP + .I SYSCONFDIR/nanorc +-- +1.7.9.7 + +From 4b3e912d4a5c3561d1cfaf944d33ba9c30a9a555 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 28 Nov 2011 15:38:26 -0500 +Subject: [PATCH 2/2] nanorc syntax: add bind/unbind commands + +We don't currently handle the bind/unbind commands, so adding them to +your nanorc file with colorization enabled makes it look like they're +not actually supported. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + doc/syntax/nanorc.nanorc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/doc/syntax/nanorc.nanorc b/doc/syntax/nanorc.nanorc +index bda5f4f..287be56 100644 +--- a/doc/syntax/nanorc.nanorc ++++ b/doc/syntax/nanorc.nanorc +@@ -2,10 +2,12 @@ + ## + syntax "nanorc" "\.?nanorc$" + ## Possible errors and parameters +-icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$" ++icolor brightwhite "^[[:space:]]*((un)?(bind|set)|include|syntax|i?color).*$" + ## Keywords + icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>" +-icolor green "^[[:space:]]*(set|unset|include|syntax|header|magic)\>" ++icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]+[[:alpha:]]+[[:space:]]*$" ++icolor brightgreen "^[[:space:]]*unbind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]*$" ++icolor green "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic)\>" + ## Colors + icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>" + icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)=" +-- +1.7.9.7 diff --git a/app-editors/nano/files/nano-2.3.1-drop-target.patch b/app-editors/nano/files/nano-2.3.1-drop-target.patch new file mode 100644 index 000000000000..3b5647675090 --- /dev/null +++ b/app-editors/nano/files/nano-2.3.1-drop-target.patch @@ -0,0 +1,30 @@ +From 0708d921211fa0f89288690593c406a682b2c826 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Tue, 14 Jun 2011 16:00:52 -0400 +Subject: [PATCH] drop --target as it makes no sense + +Since nano doesn't produce code, the --target option to configure +doesn't make sense. So only support --{build,host} since those are +what we need in order to cross-compile. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c590737..3eb61c2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,7 +22,7 @@ + + AC_INIT([GNU nano], [2.3.1], [nano-devel@gnu.org], [nano]) + AC_CONFIG_SRCDIR([src/nano.c]) +-AC_CANONICAL_TARGET([]) ++AC_CANONICAL_HOST + AM_INIT_AUTOMAKE + AC_CONFIG_HEADERS([config.h]) + +-- +1.7.9.7 + diff --git a/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch b/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch new file mode 100644 index 000000000000..c775e2988b46 --- /dev/null +++ b/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch @@ -0,0 +1,95 @@ +From 7051588fee7a20a69c67c8899b3e6c35ebf51fbf Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Sat, 25 Aug 2012 23:03:22 -0400 +Subject: [PATCH] gentoo syntax: update + +Update to newer EAPIs, and fold in updated shell changes too. +Much of this is based on work by Davide. + +Reported-by: Davide Pesavento <pesa@gentoo.org> +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + doc/syntax/gentoo.nanorc | 46 +++++++++++++++++++++++++++------------------- + 1 file changed, 27 insertions(+), 19 deletions(-) + +diff --git a/doc/syntax/gentoo.nanorc b/doc/syntax/gentoo.nanorc +index 2ad1597..ad89fce 100644 +--- a/doc/syntax/gentoo.nanorc ++++ b/doc/syntax/gentoo.nanorc +@@ -2,30 +2,38 @@ + ## + syntax "ebuild" "\.e(build|class)$" + ## All the standard portage functions +-color brightgreen "^src_(unpack|prepare|configure|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))" ++color brightgreen "(^|\<default_)src_(unpack|prepare|configure|compile|install|test)\>" ++color brightgreen "^pkg_(config|nofetch|pretend|setup|(pre|post)(inst|rm))\>" ++color brightgreen "\<default(_pkg_nofetch)?\>" + ## Highlight bash related syntax +-color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>" +-color green "\<(declare|eval|exec|let)\>" +-color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" +-color green "-[edfgruwxL]\>" +-color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>" ++color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>" ++color green "\<(declare|eval|exec|export|let|local)\>" ++color green "[{}():;|`$<>!=&\\]" "(\]|\[)" ++color green "-[defhnrsuwxzL]\>" ++color green "-(eq|ne|gt|lt|ge|le)\>" + ## Highlight variables ... official portage ones in red, all others in bright red +-color brightred "\$\{?[a-zA-Z_0-9]+\}?" +-color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|RESTRICT|USERLAND)\>" +-color red "\<(S|D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|ROOT|WORKDIR)\>" "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>" +-color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>" "\<WANT_AUTO(CONF|MAKE)\>" "\<AT_M4DIR\>" ++color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*" ++color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:digit:]]|@)+\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})" ++color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|REQUIRED_USE|RESTRICT|USERLAND)\>" ++color red "\<(S|E?D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|EPREFIX|E?ROOT|WORKDIR)\>" ++color red "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>" ++color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>" ++color red "\<(PATCHES|(HTML_)?DOCS)\>" "\<WANT_(AUTO(CONF|MAKE)|LIBTOOL)\>" "\<AT_M4DIR\>" + ## Highlight portage commands +-color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*" +-color brightblue "\<e(begin|end|conf|install|make|qmake[34]|ant|(qa)?warn|infon?|error|log|patch|new(group|user))\>" +-color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make))\>" +-color brightblue "\<built_with_use\>" "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>" +-color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>" ++color magenta "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\> [!a-zA-Z0-9_+ -]*" "inherit.*" ++color brightblue "\<e(begin|end|conf|install|make|qmake4|ant|(qa)?warn|infon?|error|log|patch(_user)?|new(group|user))\>" ++color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make)|libtoolize)\>" ++color brightblue "\<e(stack|shopts|umask)_(push|pop)\>" "\<version_is_at_least\>" ++color brightblue "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>" ++color brightblue "\<(die|has|inherit|nonfatal)\>" "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\>" "\<(has|best)_version\>" + color brightblue "\<(do|new)(ins|(games)?s?bin|doc|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>" +-color brightblue "\<do(python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>" +-color brightblue "prepall(docs|info|man|strip)?" "prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)" ++color brightblue "\<do(compress|python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>" ++color brightblue "\<prepall(docs|info|man|strip)?\>" "\<prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)\>" + color brightblue "\<(doc|ins|exe)?into\>" "\<(f|games)(owners|perms)\>" "\<(exe|ins|dir)opts\>" ++color brightblue "\<tc-get(BUILD_)?(AR|AS|CC|CPP|CXX|LD|NM|OBJCOPY|PKG_CONFIG|RANLIB)\>" ++color brightblue "\<tc-(arch(-kernel)?|export|has-(tls|openmp))\>" + ## Highlight common commands used in ebuilds +-color blue "\<make\>" "\<(awk|cat|cd|chmod|chown|cp|echo|env|export|find|e?grep|ln|mkdir|mv|rm|sed|set|tar|touch|unset|xargs)\>" ++color blue "\<(awk|cat|cd|chmod|chown|cp|echo|env|find|e?grep|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|unset|xargs)\>" + ## Highlight comments (doesnt work that well) + color yellow "(^|[[:space:]])#.*$" + ## Highlight strings (doesnt work that well) +@@ -35,7 +43,7 @@ color ,green "[[:space:]]+$" + + ## Here is an example for Portage control files + ## +-syntax "/etc/portage" "\.(keywords|mask|unmask|use)(/.+)?$" ++syntax "/etc/portage" "\.(accept_keywords|env|keywords|mask|unmask|use)(/.+)?$" + ## Base text: + color green "^.+$" + ## Use flags: +-- +1.8.3.2 + +--- a/doc/syntax/gentoo.nanorc ++++ b/doc/syntax/gentoo.nanorc +@@ -61,3 +61,5 @@ color cyan "^[[:space:]]*.*/" + color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)" + ## Comments: + color yellow "#.*$" ++## Trailing space is bad! ++color ,green "[[:space:]]+$" diff --git a/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch b/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch new file mode 100644 index 000000000000..84bd0b70ff87 --- /dev/null +++ b/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch @@ -0,0 +1,52 @@ +From c662db58448fefe86184117e6bab5799e43eccf1 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Sun, 1 Jan 2012 02:26:16 -0500 +Subject: [PATCH] search ncurses via pkg-config first + +Newer ncurses installs include pkg-config files which tell us the right +-I/-L paths we need, so default to that before trying the legacy ways. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + configure.ac | 18 ++++++++++++++++++ + 1 files changed, 18 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1f61ae4..05308be 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,7 @@ AC_PROG_CC + AC_PROG_LN_S + AC_ISC_POSIX + AC_SYS_LARGEFILE ++PKG_PROG_PKG_CONFIG + + dnl Internationalization macros. + +@@ -439,6 +440,23 @@ AC_CHECK_FUNCS(getopt_long) + dnl Checks for libraries. + + if eval "test x$CURSES_LIB_NAME = x"; then ++ if test x$enable_utf8 != xno; then ++ PKG_CHECK_MODULES([NCURSESW], [ncursesw], [ ++ CURSES_LIB=$NCURSESW_LIBS ++ CPPFLAGS="$NCURSESW_CFLAGS $CPPFLAGS" ++ CURSES_LIB_NAME=ncursesw ++ CURSES_LIB_WIDE=yes ++ ], [:]) ++ else ++ PKG_CHECK_MODULES([NCURSES], [ncurses], [ ++ CURSES_LIB=$NCURSES_LIBS ++ CPPFLAGS="$NCURSES_CFLAGS $CPPFLAGS" ++ CURSES_LIB_NAME=ncurses ++ ], [:]) ++ fi ++fi ++ ++if eval "test x$CURSES_LIB_NAME = x"; then + AC_CHECK_HEADERS(ncurses.h) + + if test x$enable_utf8 != xno; then +-- +1.7.6.1 + diff --git a/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch b/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch new file mode 100644 index 000000000000..805130fda25c --- /dev/null +++ b/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch @@ -0,0 +1,44 @@ +From 5a6a9c107148162f47032b03af3f393c3888c5df Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Tue, 28 Feb 2012 11:14:33 -0500 +Subject: [PATCH] shell syntax: major updates + +Highlight more shell builtins and common commands. + +Rewrite the variable highlighting to be more exact and handle cases where +string operations are used. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + doc/syntax/sh.nanorc | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/doc/syntax/sh.nanorc b/doc/syntax/sh.nanorc +index f660105..a664ef6 100644 +--- a/doc/syntax/sh.nanorc ++++ b/doc/syntax/sh.nanorc +@@ -4,12 +4,17 @@ syntax "sh" "\.sh$" + magic "(POSIX|Bourne.*) shell script text" + header "^#!.*/(ba|k|pdk)?sh[-0-9_]*" + icolor brightgreen "^[0-9A-Z_]+\(\)" +-color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>" +-color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" ++color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>" ++color green "\<(declare|eval|exec|export|let|local)\>" ++color green "[{}():;|`$<>!=&\\]" "(\]|\[)" + color green "-[Ldefgruwx]\>" + color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>" +-color brightblue "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>" +-icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?" ++color brightblue "\<(awk|cat|cd|ch(grp|mod|own)|cp|echo|env|grep|install|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|umask|unset)\>" ++# Basic variable names (no braces) ++color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*" ++# More complicated variable names; handles braces ++# and replacements and arrays ++color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:space:]]*[[:alnum:]_]+[[:space:]]*|@)\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})" + color cyan "(^|[[:space:]])#.*$" + color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" + color ,green "[[:space:]]+$" +-- +1.7.9.7 + diff --git a/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch b/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch new file mode 100644 index 000000000000..cd7dd343f783 --- /dev/null +++ b/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch @@ -0,0 +1,119 @@ +From 17e1ba8530b9e21932935ad052ad416a0c2058a7 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 28 Nov 2011 15:37:02 -0500 +Subject: [PATCH] nanorc(5): fix bind/unbind documentation + +The unbind section is listed after valid key/menu/functions, but tries +to say those sections come after it. So reorganization the section so +that bind/unbind comes first, and then we cover the key/menu/functions +after both of them. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + doc/man/nanorc.5 | 32 +++++++++++++++++++------------- + 1 file changed, 19 insertions(+), 13 deletions(-) + +diff --git a/doc/man/nanorc.5 b/doc/man/nanorc.5 +index b9c0a19..3fc3c5d 100644 +--- a/doc/man/nanorc.5 ++++ b/doc/man/nanorc.5 +@@ -285,9 +285,19 @@ Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that + .SH KEY BINDINGS + Key bindings may be reassigned via the following commands: + .TP +-.B bind \fIkey\fP \fIfunction\fP \fImenu\fP ++.B bind \fIkey\fP \fIfunction\fP \fImenu\fP + Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the +-context of menu \fImenu\fP. The format of \fIkey\fP should be one of: ++context of menu \fImenu\fP. ++.TP ++.B unbind \fIkey\fP \fImenu\fP ++Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all ++menus by using \fIall\fP. Same key syntax as for binding. ++Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the ++context of menu \fImenu\fP. ++.TP ++ ++The format of \fIkey\fP should be one of: ++ + .TP + .B ^ + followed by an alpha character or the word "Space". +@@ -301,8 +311,10 @@ Example: M-C + followed by a numeric value from 1 to 16. + Example: F10 + .TP +-Valid function names to be bound include: +-.TP 3 ++ ++Valid \fIfunction\fP names to be bound include: ++ ++.TP 2 + .B help + Invoke the help menu. + .TP +@@ -509,8 +521,9 @@ Toggle whether long lines will be wrapped to the next line. + Toggle whether the suspend sequence (normally ^Z) will suspend the editor window. + .TP + +-Valid menu sections are: +-.TP ++Valid \fImenu\fP sections are: ++ ++.TP 2 + .B main + The main editor window where text is entered. + .TP +@@ -552,13 +565,6 @@ The 'go to directory' menu. + .TP + .B all + A special name meaning: apply to all menus where this function exists. +- +-.TP +-.B unbind \fIkey\fP \fImenu\fP +-Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all +-menus by using \fIall\fP. Same key syntax as for binding. +-Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the +-context of menu \fImenu\fP. The format of \fIkey\fP should be one of: + .SH FILES + .TP + .I SYSCONFDIR/nanorc +-- +1.8.1.2 + +From 0d49d9f0c62013e0d86169a92a2d0f5557e7be05 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 28 Nov 2011 15:38:26 -0500 +Subject: [PATCH] nanorc syntax: add bind/unbind commands + +We don't currently handle the bind/unbind commands, so adding them to +your nanorc file with colorization enabled makes it look like they're +not actually supported. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + doc/syntax/nanorc.nanorc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/doc/syntax/nanorc.nanorc b/doc/syntax/nanorc.nanorc +index 2c9f23a..494c2f4 100644 +--- a/doc/syntax/nanorc.nanorc ++++ b/doc/syntax/nanorc.nanorc +@@ -2,10 +2,12 @@ + ## + syntax "nanorc" "\.?nanorc$" + ## Possible errors and parameters +-icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$" ++icolor brightwhite "^[[:space:]]*((un)?(bind|set)|include|syntax|i?color).*$" + ## Keywords + icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds|locking)\>" +-icolor green "^[[:space:]]*(set|unset|include|syntax|header|magic)\>" ++icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]+[[:alpha:]]+[[:space:]]*$" ++icolor brightgreen "^[[:space:]]*unbind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]*$" ++icolor green "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic)\>" + ## Colors + icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>" + icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)=" +-- +1.8.1.2 + diff --git a/app-editors/nano/files/nano-2.4.0-no-speller.patch b/app-editors/nano/files/nano-2.4.0-no-speller.patch new file mode 100644 index 000000000000..4405266bb0af --- /dev/null +++ b/app-editors/nano/files/nano-2.4.0-no-speller.patch @@ -0,0 +1,88 @@ +https://bugs.gentoo.org/show_bug.cgi?id=544296 +https://savannah.gnu.org/bugs/?44607 + +From 14a9c8aa0b124dc580c4805e848e6ff0880b43bd Mon Sep 17 00:00:00 2001 +From: Benno Schulenberg <bensberg@justemail.net> +Date: Fri, 27 Mar 2015 16:55:49 +0000 +Subject: [PATCH] Treating the formatter like a speller, to fix compilation + with --disable-speller. This fixes Savannah bug #44607. + +git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5168 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 +--- + ChangeLog | 2 ++ + src/global.c | 10 ++++++++-- + src/text.c | 3 ++- + 3 files changed, 12 insertions(+), 3 deletions(-) + +ChangeLog + * src/global.c, src/text.c: Treat the formatter like a speller, to fix + compilation with --disable-speller. Fixes Savannah bug #44607. + +diff --git a/src/global.c b/src/global.c +index 4643af2..27ff938 100644 +--- a/src/global.c ++++ b/src/global.c +@@ -639,8 +639,10 @@ void shortcut_init(void) + const char *nano_lint_msg = N_("Invoke the linter, if available"); + const char *nano_prevlint_msg = N_("Go to previous linter msg"); + const char *nano_nextlint_msg = N_("Go to next linter msg"); ++#ifndef DISABLE_SPELLER + const char *nano_formatter_msg = N_("Invoke formatter, if available"); + #endif ++#endif + #endif /* !DISABLE_HELP */ + + #ifndef DISABLE_HELP +@@ -736,9 +738,11 @@ void shortcut_init(void) + #ifndef DISABLE_COLOR + add_to_funcs(do_linter, MMAIN, + N_("To Linter"), IFSCHELP(nano_lint_msg), TOGETHER, NOVIEW); ++#ifndef DISABLE_SPELLER + add_to_funcs(do_formatter, MMAIN, + N_("Formatter"), IFSCHELP(nano_formatter_msg), BLANKAFTER, NOVIEW); + #endif ++#endif + + #ifndef NANO_TINY + add_to_funcs(case_sens_void, MWHEREIS|MREPLACE, +@@ -1006,12 +1010,14 @@ void shortcut_init(void) + #ifndef DISABLE_SPELLER + add_to_sclist(MMAIN, "^T", do_spell, 0); + add_to_sclist(MMAIN, "F12", do_spell, 0); ++#ifndef DISABLE_COLOR ++ add_to_sclist(MMAIN, "^T", do_formatter, 0); ++ add_to_sclist(MMAIN, "F12", do_formatter, 0); ++#endif + #else + #ifndef DISABLE_COLOR + add_to_sclist(MMAIN, "^T", do_linter, 0); + add_to_sclist(MMAIN, "F12", do_linter, 0); +- add_to_sclist(MMAIN, "^T", do_formatter, 0); +- add_to_sclist(MMAIN, "F12", do_formatter, 0); + #endif + #endif + add_to_sclist(MMAIN, "^C", do_cursorpos_void, 0); +diff --git a/src/text.c b/src/text.c +index 8814b49..98b2f80 100644 +--- a/src/text.c ++++ b/src/text.c +@@ -3223,6 +3223,7 @@ free_lints_and_return: + lint_cleanup(); + } + ++#ifndef DISABLE_SPELLER + /* Run a formatter for the given syntax. + * Expects the formatter to be non-interactive and + * operate on a file in-place, which we'll pass it +@@ -3370,7 +3371,7 @@ void do_formatter(void) + + statusbar(finalstatus); + } +- ++#endif /* !DISABLE_SPELLER */ + #endif /* !DISABLE_COLOR */ + + #ifndef NANO_TINY +-- +2.3.3 + diff --git a/app-editors/nano/files/xml.nanorc b/app-editors/nano/files/xml.nanorc new file mode 100644 index 000000000000..1f68c05341ad --- /dev/null +++ b/app-editors/nano/files/xml.nanorc @@ -0,0 +1,9 @@ +## Here is an example for xml files. +## +syntax "xml" "\.([jrs]html?|sgml?|xml|xslt?)$" +color green start="<" end=">" +color cyan "<[^> ]+" +color cyan ">" +color yellow start="<!DOCTYPE" end="[/]?>" +color yellow start="<!--" end="-->" +color red "&[^;]*;" diff --git a/app-editors/nano/metadata.xml b/app-editors/nano/metadata.xml new file mode 100644 index 000000000000..98a48959684c --- /dev/null +++ b/app-editors/nano/metadata.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> + <email>vapier@gentoo.org</email> +</maintainer> +<longdescription> +GNU nano - an enhanced clone of the Pico text editor. + +The nano project was started because of a few "problems" with the +wonderfully easy-to-use and friendly Pico text editor. + +First and foremost is its license: the Pine suite does not use the +GPL or a GPL-friendly license, and has unclear restrictions on +redistribution. Because of this, Pine and Pico are not included with +many GNU/Linux distributions. Also, other features (like goto line +number or search and replace) were unavailable until recently or +require a command line flag. Yuck. + +nano aims to solve these problems by emulating the functionality of +Pico as closely as possible while addressing the problems above and +perhaps providing other extra functionality. +</longdescription> +<use> + <flag name='justify'>Enable justify/unjustify functions for text formatting.</flag> + <flag name='debug'> + Enable debug messages and assert warnings. Note that these will all be sent + straight to stderr rather than some logging facility. + </flag> + <flag name='magic'> + Add magic file support (sys-apps/file) to automatically detect appropriate syntax highlighting + </flag> + <flag name='minimal'> + Disable all fancy features, including ones that otherwise have a dedicated + USE flag (such as spelling). + </flag> +</use> +</pkgmetadata> diff --git a/app-editors/nano/nano-1.3.12-r1.ebuild b/app-editors/nano/nano-1.3.12-r1.ebuild new file mode 100644 index 000000000000..a73448570289 --- /dev/null +++ b/app-editors/nano/nano-1.3.12-r1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +#ECVS_SERVER="savannah.gnu.org:/cvsroot/nano" +#ECVS_MODULE="nano" +#ECVS_AUTH="pserver" +#ECVS_USER="anonymous" +#inherit cvs +inherit eutils + +MY_P=${PN}-${PV/_} +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/" +SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd" +IUSE="debug justify minimal ncurses nls slang spell unicode" + +DEPEND=">=sys-libs/ncurses-5.2 + nls? ( sys-devel/gettext ) + !ncurses? ( slang? ( sys-libs/slang ) )" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-path.patch + epatch "${FILESDIR}"/${P}-scroll.patch + epatch "${FILESDIR}"/${P}-fix2.patch +} + +src_compile() { + if [[ ! -e configure ]] ; then + ./autogen.sh || die "autogen failed" + fi + + local myconf="" + use ncurses \ + && myconf="--without-slang" \ + || myconf="${myconf} $(use_with slang)" + + econf \ + --bindir=/bin \ + --enable-color \ + --enable-multibuffer \ + --enable-nanorc \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + ${myconf} \ + || die "configure failed" + emake || die +} + +src_install() { + emake DESTDIR="${D}" install || die + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml *.html + insinto /etc + newins doc/nanorc.sample nanorc + + insinto /usr/share/nano + doins "${FILESDIR}"/*.nanorc || die + echo $'\n''# include "/usr/share/nano/gentoo.nanorc"' >> "${D}"/etc/nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} + +pkg_postinst() { + einfo "More helpful info about nano, visit the GDP page:" + einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml" +} diff --git a/app-editors/nano/nano-2.0.9.ebuild b/app-editors/nano/nano-2.0.9.ebuild new file mode 100644 index 000000000000..d571152093bb --- /dev/null +++ b/app-editors/nano/nano-2.0.9.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ECVS_SERVER="savannah.gnu.org:/cvsroot/nano" + ECVS_MODULE="nano" + ECVS_AUTH="pserver" + ECVS_USER="anonymous" + inherit cvs +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd" +IUSE="debug justify minimal ncurses nls slang spell unicode" + +DEPEND=">=sys-libs/ncurses-5.2 + nls? ( sys-devel/gettext ) + !ncurses? ( slang? ( sys-libs/slang ) )" + +src_unpack() { + unpack ${A} + cd "${S}" + if [[ ! -e configure ]] ; then + ./autogen.sh || die "autogen failed" + fi +} + +src_compile() { + local myconf="" + use ncurses \ + && myconf="--without-slang" \ + || myconf="${myconf} $(use_with slang)" + + econf \ + --bindir=/bin \ + --enable-color \ + --enable-multibuffer \ + --enable-nanorc \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + ${myconf} \ + || die "configure failed" + emake || die +} + +src_install() { + emake DESTDIR="${D}" install || die + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml *.html + insinto /etc + newins doc/nanorc.sample nanorc + + insinto /usr/share/nano + doins "${FILESDIR}"/*.nanorc || die + echo $'\n''# include "/usr/share/nano/gentoo.nanorc"' >> "${D}"/etc/nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} + +pkg_postinst() { + einfo "More helpful info about nano, visit the GDP page:" + einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml" +} diff --git a/app-editors/nano/nano-2.1.10.ebuild b/app-editors/nano/nano-2.1.10.ebuild new file mode 100644 index 000000000000..a5816749fb86 --- /dev/null +++ b/app-editors/nano/nano-2.1.10.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +IUSE="debug justify minimal ncurses nls slang spell unicode" + +DEPEND=">=sys-libs/ncurses-5.2[unicode?] + nls? ( sys-devel/gettext ) + !ncurses? ( slang? ( sys-libs/slang ) )" + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + subversion_src_unpack + else + unpack ${A} + fi + cd "${S}" + if [[ ! -e configure ]] ; then + ./autogen.sh || die "autogen failed" + fi +} + +src_configure() { + local myconf="" + use ncurses \ + && myconf="--without-slang" \ + || myconf="${myconf} $(use_with slang)" + + econf \ + --bindir=/bin \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + ${myconf} \ + || die "configure failed" +} + +src_install() { + emake DESTDIR="${D}" install || die + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano + + insinto /usr/share/nano + local f + for f in "${FILESDIR}"/*.nanorc ; do + [[ -e ${D}/usr/share/nano/${f##*/} ]] && continue + doins "${f}" || die + echo "# include \"/usr/share/nano/${f##*/}\"" >> "${D}"/etc/nanorc + done +} + +pkg_postinst() { + einfo "More helpful info about nano, visit the GDP page:" + einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml" +} diff --git a/app-editors/nano/nano-2.2.5.ebuild b/app-editors/nano/nano-2.2.5.ebuild new file mode 100644 index 000000000000..bae4643ce848 --- /dev/null +++ b/app-editors/nano/nano-2.2.5.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=3 +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify minimal ncurses nls slang spell unicode" + +DEPEND=">=sys-libs/ncurses-5.2[unicode?] + nls? ( sys-devel/gettext ) + !ncurses? ( slang? ( sys-libs/slang ) )" + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + subversion_src_unpack + else + unpack ${A} + fi + cd "${S}" + if [[ ! -e configure ]] ; then + ./autogen.sh || die "autogen failed" + fi +} + +src_configure() { + local myconf="" + use ncurses \ + && myconf="--without-slang" \ + || myconf="${myconf} $(use_with slang)" + + econf \ + --bindir="${EPREFIX}"/bin \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + ${myconf} \ + || die "configure failed" +} + +src_install() { + emake DESTDIR="${D}" install || die + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano + + insinto /usr/share/nano + local f + for f in "${FILESDIR}"/*.nanorc ; do + [[ -e ${ED}/usr/share/nano/${f##*/} ]] && continue + doins "${f}" || die + echo "# include \"/usr/share/nano/${f##*/}\"" >> "${ED}"/etc/nanorc + done +} + +pkg_postinst() { + einfo "More helpful info about nano, visit the GDP page:" + einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml" +} diff --git a/app-editors/nano/nano-2.3.1-r1.ebuild b/app-editors/nano/nano-2.3.1-r1.ebuild new file mode 100644 index 000000000000..135864c1f3b6 --- /dev/null +++ b/app-editors/nano/nano-2.3.1-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" + +inherit eutils autotools +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify minimal ncurses nls slang spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + nls? ( sys-devel/gettext ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch + eautoreconf +} + +src_configure() { + local myconf="" + use ncurses \ + && myconf="--without-slang" \ + || myconf="${myconf} $(use_with slang)" + + econf \ + --bindir="${EPREFIX}"/bin \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} + +pkg_postinst() { + einfo "More helpful info about nano, visit the GDP page:" + einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml" +} diff --git a/app-editors/nano/nano-2.3.1-r2.ebuild b/app-editors/nano/nano-2.3.1-r2.ebuild new file mode 100644 index 000000000000..aabd9a9df01b --- /dev/null +++ b/app-editors/nano/nano-2.3.1-r2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" + +inherit eutils autotools +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.3.1-drop-target.patch + epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch + epatch "${FILESDIR}"/${PN}-2.3.1-bind-unbind-docs.patch + epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch + eautoreconf +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + econf \ + --bindir="${EPREFIX}"/bin \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) +} + +src_install() { + emake DESTDIR="${D}" install || die + rm -rf "${ED}"/usr/share/nano/man-html + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.3.1.ebuild b/app-editors/nano/nano-2.3.1.ebuild new file mode 100644 index 000000000000..c55cd9365920 --- /dev/null +++ b/app-editors/nano/nano-2.3.1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify minimal ncurses nls slang spell unicode" + +DEPEND=">=sys-libs/ncurses-5.2[unicode?] + nls? ( sys-devel/gettext ) + !ncurses? ( slang? ( sys-libs/slang ) )" + +src_prepare() { + if [[ ! -e configure ]] ; then + ./autogen.sh || die + fi +} + +src_configure() { + local myconf="" + use ncurses \ + && myconf="--without-slang" \ + || myconf="${myconf} $(use_with slang)" + + econf \ + --bindir="${EPREFIX}"/bin \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano + + insinto /usr/share/nano + local f + for f in "${FILESDIR}"/*.nanorc ; do + [[ -e ${ED}/usr/share/nano/${f##*/} ]] && continue + doins "${f}" || die + echo "# include \"/usr/share/nano/${f##*/}\"" >> "${ED}"/etc/nanorc + done +} + +pkg_postinst() { + einfo "More helpful info about nano, visit the GDP page:" + einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml" +} diff --git a/app-editors/nano/nano-2.3.2-r1.ebuild b/app-editors/nano/nano-2.3.2-r1.ebuild new file mode 100644 index 000000000000..6a9a8299e144 --- /dev/null +++ b/app-editors/nano/nano-2.3.2-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils autotools +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang +spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch + epatch "${FILESDIR}"/${PN}-2.3.2-bind-unbind-docs.patch + epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch + epatch_user + eautoreconf +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + default + rm -rf "${ED}"/usr/share/nano/man-html + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + fi + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.3.2.ebuild b/app-editors/nano/nano-2.3.2.ebuild new file mode 100644 index 000000000000..3758ea421a77 --- /dev/null +++ b/app-editors/nano/nano-2.3.2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" + +inherit eutils autotools +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch + epatch "${FILESDIR}"/${PN}-2.3.2-bind-unbind-docs.patch + epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch + eautoreconf +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + emake DESTDIR="${D}" install || die + rm -rf "${ED}"/usr/share/nano/man-html + + dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.3.3.ebuild b/app-editors/nano/nano-2.3.3.ebuild new file mode 100644 index 000000000000..aa2e65767f95 --- /dev/null +++ b/app-editors/nano/nano-2.3.3.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang +spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch_user +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + --htmldir=/trash \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + default + rm -rf "${D}"/trash + + dodoc doc/nanorc.sample + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + fi + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.3.4.ebuild b/app-editors/nano/nano-2.3.4.ebuild new file mode 100644 index 000000000000..aa2e65767f95 --- /dev/null +++ b/app-editors/nano/nano-2.3.4.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang +spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch_user +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + --htmldir=/trash \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + default + rm -rf "${D}"/trash + + dodoc doc/nanorc.sample + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + fi + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.3.6.ebuild b/app-editors/nano/nano-2.3.6.ebuild new file mode 100644 index 000000000000..b336c88f8171 --- /dev/null +++ b/app-editors/nano/nano-2.3.6.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang +spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch_user +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + --htmldir=/trash \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + default + rm -rf "${D}"/trash + + dodoc doc/nanorc.sample + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + fi + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.4.0.ebuild b/app-editors/nano/nano-2.4.0.ebuild new file mode 100644 index 000000000000..083a3e7a3f24 --- /dev/null +++ b/app-editors/nano/nano-2.4.0.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang +spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${P}-no-speller.patch #544296 + epatch_user +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + --htmldir=/trash \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + default + rm -rf "${D}"/trash + + dodoc doc/nanorc.sample + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + fi + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.4.1.ebuild b/app-editors/nano/nano-2.4.1.ebuild new file mode 100644 index 000000000000..ce5b18721919 --- /dev/null +++ b/app-editors/nano/nano-2.4.1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang +spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch_user +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + --htmldir=/trash \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + default + rm -rf "${D}"/trash + + dodoc doc/nanorc.sample + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + fi + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/nano/nano-2.4.2.ebuild b/app-editors/nano/nano-2.4.2.ebuild new file mode 100644 index 000000000000..ce5b18721919 --- /dev/null +++ b/app-editors/nano/nano-2.4.2.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano" + inherit subversion autotools +else + MY_P=${PN}-${PV/_} + SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug justify +magic minimal ncurses nls slang +spell unicode" + +RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) + !ncurses? ( slang? ( sys-libs/slang ) )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +src_prepare() { + epatch_user +} + +src_configure() { + eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic) + local myconf=() + case ${CHOST} in + *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848 + esac + econf \ + --bindir="${EPREFIX}"/bin \ + --htmldir=/trash \ + $(use_enable !minimal color) \ + $(use_enable !minimal multibuffer) \ + $(use_enable !minimal nanorc) \ + --disable-wrapping-as-root \ + $(use_enable spell speller) \ + $(use_enable justify) \ + $(use_enable debug) \ + $(use_enable nls) \ + $(use_enable unicode utf8) \ + $(use_enable minimal tiny) \ + $(usex ncurses --without-slang $(use_with slang)) \ + "${myconf[@]}" +} + +src_install() { + default + rm -rf "${D}"/trash + + dodoc doc/nanorc.sample + dohtml doc/faq.html + insinto /etc + newins doc/nanorc.sample nanorc + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + fi + + dodir /usr/bin + dosym /bin/nano /usr/bin/nano +} diff --git a/app-editors/ne/Manifest b/app-editors/ne/Manifest new file mode 100644 index 000000000000..0d0cab3a3d73 --- /dev/null +++ b/app-editors/ne/Manifest @@ -0,0 +1,2 @@ +DIST ne-2.5.tar.gz 1106020 SHA256 e11581d84ff855c3fab5c2bddc3a4633a3b28bb2ce89508e4568d3c3fc929f58 SHA512 e93b5da33565c8ef0b3263083bacec46f1867f78950e0bed940b2f18d14eb42bfa6323130eabe0f793f427a5bea5e04df6ef8e4a0276a883822b0842cbd8b5ed WHIRLPOOL 8bf3f9bd0d735bfef656713e9485a74f901c212396a691ee7faf01f4afa2918f03ec053d289e7311a7bae8b3a7d44c928cb109fefa6b1df581ae8da9c6a3d453 +DIST ne-3.0.1.tar.gz 1193311 SHA256 92b646dd2ba64052e62deaa4239373821050a03e1b7d09d203ce04f2adfbd0e4 SHA512 3750140a49c7424e92e509137d5f31d305b81d41939a2578f6a26065216ebd1aa444b0e8d7e79dd09cc525e1055cda4d756f21ec810f860063d2eec861ea8273 WHIRLPOOL e0630f7e077400393ee5734989327369f2d646c88a32313f193b34e7f44d7962b368a5deb5876cfe997e34295078b44fba1672cfb257ef3dc08a8597a5708a5b diff --git a/app-editors/ne/metadata.xml b/app-editors/ne/metadata.xml new file mode 100644 index 000000000000..f3e7ae06bec6 --- /dev/null +++ b/app-editors/ne/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> +<use> +<flag name='tinfo'>Link against libtinfo from sys-libs/ncurses</flag> +</use> +</pkgmetadata> diff --git a/app-editors/ne/ne-2.5.ebuild b/app-editors/ne/ne-2.5.ebuild new file mode 100644 index 000000000000..de1216898f30 --- /dev/null +++ b/app-editors/ne/ne-2.5.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils toolchain-funcs + +DESCRIPTION="the nice editor, easy to use for the beginner and powerful for the wizard" +HOMEPAGE="http://ne.di.unimi.it/" +SRC_URI="${HOMEPAGE}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE=tinfo + +DEPEND=" + >=sys-libs/ncurses-5.2[tinfo?] +" +RDEPEND=" + ${DEPEND} + dev-lang/perl +" + +src_prepare() { + sed -i -e 's/-O3//' src/makefile || die +} + +src_configure() { + if use tinfo; then + sed -i -e 's|-lcurses|-ltinfo|g' src/makefile || die + else + sed -i -e 's|-lcurses|-lncurses|g' src/makefile || die + fi +} + +src_compile() { + emake -C src CC="$(tc-getCC)" \ + NE_GLOBAL_DIR="/usr/share/ne" \ + OPTS="${CFLAGS}" \ + ne || die +} + +src_install() { + dobin src/ne + + insinto /usr/share/ne/syntax + doins syntax/*.jsf + + doman doc/ne.1 + dohtml -r doc/html/. + dodoc CHANGES README doc/*.{txt,pdf,texinfo} doc/default.* +} diff --git a/app-editors/ne/ne-3.0.1.ebuild b/app-editors/ne/ne-3.0.1.ebuild new file mode 100644 index 000000000000..505846d5c085 --- /dev/null +++ b/app-editors/ne/ne-3.0.1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils flag-o-matic toolchain-funcs + +DESCRIPTION="the nice editor, easy to use for the beginner and powerful for the wizard" +HOMEPAGE="http://ne.di.unimi.it/" +SRC_URI="${HOMEPAGE}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE=tinfo + +DEPEND=" + >=sys-libs/ncurses-5.2[tinfo?] +" +RDEPEND=" + ${DEPEND} + dev-lang/perl +" + +src_prepare() { + sed -i -e 's/-O3//' src/makefile || die +} + +src_configure() { + if use tinfo; then + sed -i -e 's|-lcurses|-ltinfo|g' src/makefile || die + else + sed -i -e 's|-lcurses|-lncurses|g' src/makefile || die + fi +} + +src_compile() { + append-cflags -std=c11 + emake -C src CC="$(tc-getCC)" \ + NE_GLOBAL_DIR="/usr/share/ne" \ + OPTS="${CFLAGS}" \ + ne || die +} + +src_install() { + dobin src/ne + + insinto /usr/share/ne/syntax + doins syntax/*.jsf + + doman doc/ne.1 + dohtml -r doc/html/. + dodoc CHANGES README.md NEWS doc/*.{txt,pdf,texinfo} doc/default.* +} diff --git a/app-editors/nedit/Manifest b/app-editors/nedit/Manifest new file mode 100644 index 000000000000..f04c940b3108 --- /dev/null +++ b/app-editors/nedit/Manifest @@ -0,0 +1 @@ +DIST nedit-5.5_p20110116.tar.bz2 1030011 SHA256 a69d765d933829b6d0447516aef6a1157b52c1b7dc99cd5713b10632b6294bd8 SHA512 ab635c9037c1599009684a1f40779f688c8e16a8b1294ffe88ff8d2466411beefa7e6324edd59b18fe4764fe6b66e83aa277cf87d4fcea5f4b223d951fc603e2 WHIRLPOOL 31b95fa483110a48a66c946142e5e924209a5c4b1a2a17ecc54844be26edbe3c0118595c546d570cdaed35c9aba7f5faeb247efb39f2f161a9dd115ad0b37faa diff --git a/app-editors/nedit/files/nedit-5.5_p20090914-ldflags.patch b/app-editors/nedit/files/nedit-5.5_p20090914-ldflags.patch new file mode 100644 index 000000000000..4532c6251894 --- /dev/null +++ b/app-editors/nedit/files/nedit-5.5_p20090914-ldflags.patch @@ -0,0 +1,17 @@ +--- source/Makefile.common 2004-03-21 15:25:56.000000000 +0100 ++++ source/Makefile.common.new 2009-10-24 10:47:03.667835157 +0200 +@@ -21,12 +21,12 @@ + # we only want natural rebuilds to regenerate the link date. + nedit: $(OBJS) ../util/libNUtil.a $(XMLLIB) $(XLTLIB) + $(CC) $(CFLAGS) -c linkdate.c +- $(CC) $(CFLAGS) $(OBJS) linkdate.o $(XMLLIB) \ ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) linkdate.o $(XMLLIB) \ + $(XLTLIB) ../util/libNUtil.a $(LIBS) -o $@ + + # Note LIBS isn't quite right here; it links unnecessarily against Motif + nc: nc.o server_common.o ../util/libNUtil.a +- $(CC) $(CFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@ ++ $(CC) $(CFLAGS) $(LDFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@ + + help.o: help.c + $(CC) $(CFLAGS) $(BIGGER_STRINGS) -c help.c -o $@ diff --git a/app-editors/nedit/files/nedit-5.5_p20110116-40_Pointer_to_Integer.patch b/app-editors/nedit/files/nedit-5.5_p20110116-40_Pointer_to_Integer.patch new file mode 100644 index 000000000000..9081ea340619 --- /dev/null +++ b/app-editors/nedit/files/nedit-5.5_p20110116-40_Pointer_to_Integer.patch @@ -0,0 +1,261 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +# Description: fix warning: cast from pointer to integer of different size +# Origin: https://sourceforge.net/tracker/download.php?group_id=11005&atid=311005&file_id=340993&aid=2846694 +# Bug: https://sourceforge.net/tracker/?func=detail&atid=311005&aid=2846694&group_id=11005 +# Author: Jack Howarth <jwhowarth@users.sourceforge.net> + +@DPATCH@ +diff -urNad nedit-5.6~cvs20081118~/Xlt/SlideC.c nedit-5.6~cvs20081118/Xlt/SlideC.c +--- nedit-5.6~cvs20081118~/Xlt/SlideC.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/Xlt/SlideC.c 2009-09-15 22:05:42.000000000 +0200 +@@ -28,6 +28,7 @@ + #endif + + #include <Xm/XmP.h> ++#include <stdint.h> + + #include "SlideCP.h" + +@@ -116,14 +117,14 @@ + /* notify that initialize called XtArgsProc */ NULL, + /* NULL XtProc */ NULL, + /* NULL XtPointer */ NULL, +-/* NULL Cardinal */ (Cardinal)NULL, ++/* NULL Cardinal */ (Cardinal)(uintptr_t)NULL, + /* resources for subclass fields XtResourceList */ resources, + /* number of entries in resources Cardinal */ XtNumber(resources), + /* resource class quarkified XrmClass */ NULLQUARK, +-/* NULL Boolean */ (Boolean)NULL, +-/* NULL XtEnum */ (XtEnum)NULL, +-/* NULL Boolean */ (Boolean)NULL, +-/* NULL Boolean */ (Boolean)NULL, ++/* NULL Boolean */ (Boolean)(uintptr_t)NULL, ++/* NULL XtEnum */ (XtEnum)(uintptr_t)NULL, ++/* NULL Boolean */ (Boolean)(uintptr_t)NULL, ++/* NULL Boolean */ (Boolean)(uintptr_t)NULL, + /* free data for subclass pointers XtWidgetProc */ destroy, + /* NULL XtProc */ NULL, + /* NULL XtProc */ NULL, +diff -urNad nedit-5.6~cvs20081118~/source/file.c nedit-5.6~cvs20081118/source/file.c +--- nedit-5.6~cvs20081118~/source/file.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/file.c 2009-09-15 22:06:42.000000000 +0200 +@@ -52,6 +52,7 @@ + #include <limits.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <unistd.h> + +@@ -1914,7 +1915,7 @@ + if (XmToggleButtonGetState(w)) { + XtPointer userData; + XtVaGetValues(w, XmNuserData, &userData, NULL); +- *(int*) clientData = (int) userData; ++ *(int*) clientData = (int) (uintptr_t) userData; + } + } + +diff -urNad nedit-5.6~cvs20081118~/source/highlight.c nedit-5.6~cvs20081118/source/highlight.c +--- nedit-5.6~cvs20081118~/source/highlight.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/highlight.c 2009-09-15 22:07:06.000000000 +0200 +@@ -49,6 +49,7 @@ + #include <limits.h> + #include <math.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #ifdef VMS + #include "../util/VMSparam.h" +@@ -512,7 +513,7 @@ + if (!pattern) { + return NULL; + } +- return (void*)pattern->userStyleIndex; ++ return (void*)(uintptr_t)pattern->userStyleIndex; + } + + /* +diff -urNad nedit-5.6~cvs20081118~/source/macro.c nedit-5.6~cvs20081118/source/macro.c +--- nedit-5.6~cvs20081118~/source/macro.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/macro.c 2009-09-15 22:07:27.000000000 +0200 +@@ -60,6 +60,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <ctype.h> + #include <errno.h> +@@ -2924,7 +2925,7 @@ + readStringArg(argList[i], &btnLabel, btnStorage, errMsg); + btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog, + XmNlabelString, s1=XmStringCreateSimple(btnLabel), +- XmNuserData, (XtPointer)(i+1), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL); + XtAddCallback(btn, XmNactivateCallback, dialogBtnCB, window); + XmStringFree(s1); + } +@@ -2965,7 +2966,7 @@ + return; /* shouldn't happen */ + if (XtClass(w) == xmPushButtonWidgetClass) { + XtVaGetValues(w, XmNuserData, &userData, NULL); +- retVal.val.n = (int)userData; ++ retVal.val.n = (int)(uintptr_t)userData; + } else + retVal.val.n = 1; + retVal.tag = INT_TAG; +@@ -3101,7 +3102,7 @@ + readStringArg(argList[i], &btnLabel, btnStorage, errMsg); + btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog, + XmNlabelString, s1=XmStringCreateSimple(btnLabel), +- XmNuserData, (XtPointer)(i+1), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL); + XtAddCallback(btn, XmNactivateCallback, stringDialogBtnCB, window); + XmStringFree(s1); + } +@@ -3155,7 +3156,7 @@ + returned in w. */ + if (XtClass(w) == xmPushButtonWidgetClass) { + XtVaGetValues(w, XmNuserData, &userData, NULL); +- btnNum = (int)userData; ++ btnNum = (int)(uintptr_t)userData; + } else + btnNum = 1; + +@@ -3680,7 +3681,7 @@ + readStringArg(argList[i], &btnLabel, btnStorage, errMsg); + btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog, + XmNlabelString, s1=XmStringCreateSimple(btnLabel), +- XmNuserData, (XtPointer)(i+1), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL); + XtAddCallback(btn, XmNactivateCallback, listDialogBtnCB, window); + XmStringFree(s1); + } +@@ -3760,7 +3761,7 @@ + returned in w. */ + if (XtClass(w) == xmPushButtonWidgetClass) { + XtVaGetValues(w, XmNuserData, &userData, NULL); +- btnNum = (int)userData; ++ btnNum = (int)(uintptr_t)userData; + } else + btnNum = 1; + +diff -urNad nedit-5.6~cvs20081118~/source/preferences.c nedit-5.6~cvs20081118/source/preferences.c +--- nedit-5.6~cvs20081118~/source/preferences.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/preferences.c 2009-09-15 22:07:47.000000000 +0200 +@@ -58,6 +58,7 @@ + #include <ctype.h> + #include <pwd.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <stdio.h> + #include <unistd.h> +@@ -2296,7 +2297,7 @@ + XtVaGetValues(menu, XmNchildren, &items, XmNnumChildren, &nItems, NULL); + for (n=0; n<(int)nItems; n++) { + XtVaGetValues(items[n], XmNuserData, &userData, NULL); +- XmToggleButtonSetState(items[n], (int)userData == mode, False); ++ XmToggleButtonSetState(items[n], (int)(uintptr_t)userData == mode, False); + } + } + } +@@ -5148,7 +5149,7 @@ + xmToggleButtonGadgetClass, menu, + XmNlabelString, s1=XmStringCreateSimple(LanguageModes[i]->name), + XmNmarginHeight, 0, +- XmNuserData, (void *)i, ++ XmNuserData, (void *)(uintptr_t)i, + XmNset, window->languageMode==i, NULL); + XmStringFree(s1); + XtAddCallback(btn, XmNvalueChangedCallback, setLangModeCB, window); +@@ -5169,14 +5170,14 @@ + XtVaGetValues(w, XmNuserData, &mode, NULL); + + /* If the mode didn't change, do nothing */ +- if (window->languageMode == (int)mode) ++ if (window->languageMode == (int)(uintptr_t)mode) + return; + + /* redo syntax highlighting word delimiters, etc. */ + /* + reapplyLanguageMode(window, (int)mode, False); + */ +- params[0] = (((int)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)mode]->name; ++ params[0] = (((int)(uintptr_t)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)(uintptr_t)mode]->name; + XtCallActionProc(window->textArea, "set_language_mode", NULL, params, 1); + } + +diff -urNad nedit-5.6~cvs20081118~/source/regularExp.c nedit-5.6~cvs20081118/source/regularExp.c +--- nedit-5.6~cvs20081118~/source/regularExp.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/regularExp.c 2009-09-15 22:08:16.000000000 +0200 +@@ -88,6 +88,7 @@ + #include <limits.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + + #ifdef HAVE_DEBUG_H +@@ -4157,7 +4158,7 @@ + table [*c] = 1; + } + +- table [(int) NULL] = 1; /* These */ ++ table [(int)(uintptr_t) NULL] = 1; /* These */ + table [(int) '\t'] = 1; /* characters */ + table [(int) '\n'] = 1; /* are always */ + table [(int) ' ' ] = 1; /* delimiters. */ +diff -urNad nedit-5.6~cvs20081118~/source/userCmds.c nedit-5.6~cvs20081118/source/userCmds.c +--- nedit-5.6~cvs20081118~/source/userCmds.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/source/userCmds.c 2009-09-15 22:08:47.000000000 +0200 +@@ -49,6 +49,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <stdint.h> + #include <string.h> + #include <ctype.h> + #ifdef VMS +@@ -1116,7 +1117,7 @@ + XtVaGetValues(items[n], XmNsubMenuId, &subMenu, NULL); + dimSelDepItemsInMenu(subMenu, menuList, nMenuItems, sensitive); + } else { +- index = (int)userData - 10; ++ index = (int)(uintptr_t)userData - 10; + if (index <0 || index >= nMenuItems) + return; + if (menuList[index]->input == FROM_SELECTION) +@@ -1928,7 +1929,7 @@ + XmNlabelString, st1, + XmNacceleratorText, st2, + XmNmnemonic, f->mnemonic, +- XmNuserData, (XtPointer)(index+10), NULL); ++ XmNuserData, (XtPointer)(uintptr_t)(index+10), NULL); + XtAddCallback(btn, XmNactivateCallback, cbRtn, cbArg); + XmStringFree(st1); + XmStringFree(st2); +diff -urNad nedit-5.6~cvs20081118~/util/prefFile.c nedit-5.6~cvs20081118/util/prefFile.c +--- nedit-5.6~cvs20081118~/util/prefFile.c 2009-09-15 21:27:12.000000000 +0200 ++++ nedit-5.6~cvs20081118/util/prefFile.c 2009-09-15 22:04:14.000000000 +0200 +@@ -38,6 +38,7 @@ + #include <stdlib.h> + #include <stdio.h> + #include <string.h> ++#include <stdint.h> + #ifdef VMS + #include "VMSparam.h" + #else +@@ -353,9 +354,9 @@ + *(int *)rsrcDescrip->valueAddr = 0; + return False; + case PREF_STRING: +- if ((int)strlen(string) >= (int)rsrcDescrip->arg) ++ if ((int)strlen(string) >= (int)(uintptr_t)rsrcDescrip->arg) + return False; +- strncpy(rsrcDescrip->valueAddr, string, (int)rsrcDescrip->arg); ++ strncpy(rsrcDescrip->valueAddr, string, (int)(uintptr_t)rsrcDescrip->arg); + return True; + case PREF_ALLOC_STRING: + *(char **)rsrcDescrip->valueAddr = XtMalloc(strlen(string) + 1); diff --git a/app-editors/nedit/files/nedit.svg b/app-editors/nedit/files/nedit.svg new file mode 100644 index 000000000000..65ab41556adf --- /dev/null +++ b/app-editors/nedit/files/nedit.svg @@ -0,0 +1,69 @@ +<?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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + version="1.1" + inkscape:version="0.47 r22583" + width="82" + height="82" + sodipodi:docname="nedit_82x82.png"> + <metadata + id="metadata8"> + <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> + <defs + id="defs6"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective10" /> + </defs> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="483" + id="namedview4" + showgrid="false" + inkscape:zoom="2.8780488" + inkscape:cx="41" + inkscape:cy="41" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="0" + inkscape:current-layer="svg2" /> + <image + sodipodi:absref="/home/jstile/nedit_82x82.png" + xlink:href="nedit_82x82.png" + y="0" + x="0" + id="image12" + height="82" + width="82" /> +</svg> diff --git a/app-editors/nedit/metadata.xml b/app-editors/nedit/metadata.xml new file mode 100644 index 000000000000..d9cd2cad66c2 --- /dev/null +++ b/app-editors/nedit/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/nedit/nedit-5.5_p20110116-r2.ebuild b/app-editors/nedit/nedit-5.5_p20110116-r2.ebuild new file mode 100644 index 000000000000..e2363667eeb6 --- /dev/null +++ b/app-editors/nedit/nedit-5.5_p20110116-r2.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +DESCRIPTION="Multi-purpose text editor for the X Window System" +HOMEPAGE="http://nedit.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ~mips ppc sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos" + +RDEPEND=">=x11-libs/motif-2.3:0 + x11-libs/libXp + x11-libs/libXpm + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + || ( dev-util/yacc sys-devel/bison ) + dev-lang/perl" + +S="${WORKDIR}/${PN}" + +src_prepare() { + #respecting LDFLAGS, bug #208189 + epatch \ + "${FILESDIR}"/nedit-5.5_p20090914-ldflags.patch \ + "${FILESDIR}"/${P}-40_Pointer_to_Integer.patch + sed \ + -e "s:bin/:${EPREFIX}/bin/:g" \ + -i Makefile source/preferences.c source/help_data.h source/nedit.c Xlt/Makefile || die + sed \ + -e "s:nc:neditc:g" -i doc/nc.pod || die + sed -i -e "s:CFLAGS=-O:CFLAGS=${CFLAGS}:" -e "s:check_tif_rule::" \ + makefiles/Makefile.linux || die + sed -i -e "s:CFLAGS=-O:CFLAGS=${CFLAGS}:" \ + -e "s:MOTIFDIR=/usr/local:MOTIFDIR=${EPREFIX}/usr:" \ + -e "s:-lX11:-lX11 -lXmu -liconv:" \ + -e "s:check_tif_rule::" \ + makefiles/Makefile.macosx || die + + epatch_user +} + +src_configure() { :; } + +src_compile() { + case "${CHOST}" in + *-darwin*) + emake CC="$(tc-getCC)" AR="$(tc-getAR)" macosx + ;; + *-linux*) + emake CC="$(tc-getCC)" AR="$(tc-getAR)" linux + ;; + esac + emake VERSION="NEdit ${PV}" -j1 -C doc all +} + +src_install() { + dobin source/nedit + newbin source/nc neditc + + make_desktop_entry "${PN}" + doicon "${FILESDIR}/${PN}.svg" + + newman doc/nedit.man nedit.1 + newman doc/nc.man neditc.1 + + dodoc README ReleaseNotes ChangeLog + dodoc doc/nedit.doc doc/NEdit.ad doc/faq.txt + dohtml doc/nedit.html +} diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest new file mode 100644 index 000000000000..dc6ffed3d995 --- /dev/null +++ b/app-editors/neovim/Manifest @@ -0,0 +1,2 @@ +DIST neovim-0.0.0_pre20150627.tar.xz 4715400 SHA256 5e5769c81a60637b731dc13e7584b6f91c7a4f2fa9116c7d688b938aa000ab69 SHA512 44f527e82dc8d70735110b7da687b87fb622127078dd32b9d8b284d8f3c3bce2c9978640234583f130e71378190c29e9c37cc19be8fd994eb338d1d9a5a98701 WHIRLPOOL 08125b0a0d96d2f5202b314e85b26e32e7aaf2170dfa69df660b2d36ad3218b24a9313c6f7a7c0e0ed8677a717e5d478851d1dc6bc8c020dc6798e3dd4462a2d +DIST neovim-0.0.0_pre20150727.tar.xz 4703336 SHA256 da9bd3070ac60691be4e033947548c13b0ede86b2422d66bd207ac2310b735c1 SHA512 db225fff860d730d4514a33c363ed7748949aaeb3a5fb31c0775120d31219a9fad154ff6f457c4ea25aff666e34dc0e7c8ab1acbc3bbe73bed17d01c67d13627 WHIRLPOOL 23b553f6be136f42c7279d332e1c917083d48aa0ae27df949972ce4eae93d07ea301f9b5853d3d320cc4a6366a483f3f9d43e016607d500646c71ea33e5ffdb8 diff --git a/app-editors/neovim/files/nvimrc b/app-editors/neovim/files/nvimrc new file mode 100644 index 000000000000..316d8672e32d --- /dev/null +++ b/app-editors/neovim/files/nvimrc @@ -0,0 +1,168 @@ +" Default Gentoo configuration file for neovim +" Based on the default vimrc shipped by Gentoo with app-editors/vim-core +" $Id$ + +" You can override any of these settings on a global basis via the +" "/etc/vim/nvimrc.local" file, and on a per-user basis via "~/.nvimrc". +" You may need to create these. + +" {{{ General settings +" The following are some sensible defaults for Vim for most users. +set bs=2 " Allow backspacing over everything in insert mode +set ai " Always set auto-indenting on +set history=50 " keep 50 lines of command history +set ruler " Show the cursor position all the time +set formatoptions+=j " Delete comment character when joining commented lines + +" Don't use Ex mode, use Q for formatting +map Q gq + +" When doing tab completion, give the following files lower priority. You may +" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable +" enhanced tab completion. These can be done in the user vimrc file. +set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo + +" When displaying line numbers, don't use an annoyingly wide number column. This +" doesn't enable line numbers -- :set number will do that. The value given is a +" minimum width to use for the number column, not a fixed size. +set numberwidth=3 + +" Use sensible whitespace indicators +set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+ +" }}} + +" {{{ Modeline settings +" We don't allow modelines by default. See bug #14088 and bug #73715. +" If you're not concerned about these, you can enable them on a per-user +" basis by adding "set modeline" to your ~/.vimrc file. +set nomodeline +" }}} + +" {{{ Locale settings +" If we have a BOM, always honour that rather than trying to guess. +if &fileencodings !~? "ucs-bom" + set fileencodings^=ucs-bom +endif + +" Always check for UTF-8 when trying to determine encodings. +if &fileencodings !~? "utf-8" + " If we have to add this, the default encoding is not Unicode. + let g:added_fenc_utf8 = 1 + set fileencodings+=utf-8 +endif +" }}} + +" {{{ Syntax highlighting settings +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch +endif +" }}} + +" {{{ Terminal fixes +if &term ==? "xterm" + set t_Sb=^[4%dm + set t_Sf=^[3%dm + set ttymouse=xterm2 +endif + +if &term ==? "gnome" && has("eval") + " Set useful keys that vim doesn't discover via termcap but are in the + " builtin xterm termcap. See bug #122562. We use exec to avoid having to + " include raw escapes in the file. + exec "set <C-Left>=\eO5D" + exec "set <C-Right>=\eO5C" +endif +" }}} + +" {{{ Filetype plugin settings +" Enable plugin-provided filetype settings, but only if the ftplugin +" directory exists (which it won't on livecds, for example). +if isdirectory(expand("$VIMRUNTIME/ftplugin")) + filetype plugin on + + " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided + " indent settings. Some people don't like these, so we won't turn them on by + " default. + " filetype indent on +endif +" }}} + +" {{{ Fix &shell, see bug #101665. +if "" == &shell + if executable("/bin/bash") + set shell=/bin/bash + elseif executable("/bin/sh") + set shell=/bin/sh + endif +endif +"}}} + +" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh +" files should default to bash. See :help sh-syntax and bug #101819. +if has("eval") + let is_bash=1 +endif +" }}} + +" {{{ Autocommands +if has("autocmd") + +augroup gentoo + au! + + " Gentoo-specific settings for ebuilds. These are the federally-mandated + " required tab settings. See the following for more information: + " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml + " Note that the rules below are very minimal and don't cover everything. + " Better to emerge app-vim/gentoo-syntax, which provides full syntax, + " filetype and indent settings for all things Gentoo. + au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh + au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab + + " In text files, limit the width of text to 78 characters, but be careful + " that we don't override the user's setting. + autocmd BufNewFile,BufRead *.txt + \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") | + \ setlocal textwidth=78 | + \ endif + + " When editing a file, always jump to the last cursor position + autocmd BufReadPost * + \ if ! exists("g:leave_my_cursor_position_alone") | + \ if line("'\"") > 0 && line ("'\"") <= line("$") | + \ exe "normal g'\"" | + \ endif | + \ endif + + " When editing a crontab file, set backupcopy to yes rather than auto. See + " :help crontab and bug #53437. + autocmd FileType crontab set backupcopy=yes + + " If we previously detected that the default encoding is not UTF-8 + " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no + " characters at all) isn't a Unicode file, but is in the default encoding. + " Except of course if a byte-order mark is in effect. + autocmd BufReadPost * + \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" && + \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable | + \ set fileencoding= | + \ endif + +augroup END + +" Strip trailing spaces on write +autocmd BufWritePre * :%s/\s\+$//e + +endif " has("autocmd") +" }}} + +" {{{ vimrc.local +if filereadable("/etc/vim/nvimrc.local") + source /etc/vim/nvimrc.local +endif +" }}} + +" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker : diff --git a/app-editors/neovim/metadata.xml b/app-editors/neovim/metadata.xml new file mode 100644 index 000000000000..d5a0b7af40f6 --- /dev/null +++ b/app-editors/neovim/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>vim</herd> + <upstream> + <remote-id type="github">neovim/neovim</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/neovim/neovim-0.0.0_pre20150627.ebuild b/app-editors/neovim/neovim-0.0.0_pre20150627.ebuild new file mode 100644 index 000000000000..6340e756255e --- /dev/null +++ b/app-editors/neovim/neovim-0.0.0_pre20150627.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit cmake-utils flag-o-matic + +DESCRIPTION="Vim's rebirth for the 21st century" +HOMEPAGE="https://github.com/neovim/neovim" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://github.com/neovim/neovim.git" +else + SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="Apache-2.0 vim" +SLOT="0" +IUSE="perl python" + +CDEPEND="dev-lang/luajit:2 + >=dev-libs/libtermkey-0.17 + dev-libs/libvterm-neovim + >=dev-libs/unibilium-1.1.1 + >=dev-libs/libuv-1.2.0 + >=dev-libs/msgpack-0.6.0_pre20150220 + dev-lua/lpeg + dev-lua/messagepack" +DEPEND="${CDEPEND} + virtual/libiconv + virtual/libintl" +RDEPEND="${CDEPEND} + perl? ( dev-lang/perl ) + python? ( dev-python/neovim-python-client )" + +src_prepare() { + # use our system vim dir + sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \ + -i src/nvim/os_unix_defs.h || die + cmake-utils_src_prepare +} + +src_configure() { + export USE_BUNDLED_DEPS=OFF + append-cflags "-Wno-error" + append-cppflags "-DNDEBUG -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" + local mycmakeargs=( + -DCMAKE_BUILD_TYPE=Release + -DLIBUNIBILIUM_USE_STATIC=OFF + -DLIBTERMKEY_USE_STATIC=OFF + -DLIBVTERM_USE_STATIC=OFF + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + # install a default configuration file + insinto /etc/vim + doins "${FILESDIR}"/nvimrc +} diff --git a/app-editors/neovim/neovim-0.0.0_pre20150727.ebuild b/app-editors/neovim/neovim-0.0.0_pre20150727.ebuild new file mode 100644 index 000000000000..8136edf03811 --- /dev/null +++ b/app-editors/neovim/neovim-0.0.0_pre20150727.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit cmake-utils flag-o-matic + +DESCRIPTION="Ambitious vim fork focused on extensibility and agility" +HOMEPAGE="https://github.com/neovim/neovim" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://github.com/neovim/neovim.git" +else + SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="Apache-2.0 vim" +SLOT="0" +IUSE="perl python" + +CDEPEND="dev-lang/luajit:2 + >=dev-libs/libtermkey-0.17 + dev-libs/libvterm-neovim + >=dev-libs/unibilium-1.1.1 + >=dev-libs/libuv-1.2.0 + >=dev-libs/msgpack-0.6.0_pre20150220 + dev-lua/lpeg + dev-lua/messagepack" +DEPEND="${CDEPEND} + virtual/libiconv + virtual/libintl" +RDEPEND="${CDEPEND} + perl? ( dev-lang/perl ) + python? ( dev-python/neovim-python-client )" + +src_prepare() { + # use our system vim dir + sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \ + -i src/nvim/os/unix_defs.h || die + cmake-utils_src_prepare +} + +src_configure() { + export USE_BUNDLED_DEPS=OFF + append-cflags "-Wno-error" + append-cppflags "-DNDEBUG -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" + local mycmakeargs=( + -DCMAKE_BUILD_TYPE=Release + -DLIBUNIBILIUM_USE_STATIC=OFF + -DLIBTERMKEY_USE_STATIC=OFF + -DLIBVTERM_USE_STATIC=OFF + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + # install a default configuration file + insinto /etc/vim + doins "${FILESDIR}"/nvimrc +} diff --git a/app-editors/ng/Manifest b/app-editors/ng/Manifest new file mode 100644 index 000000000000..674042adc6b3 --- /dev/null +++ b/app-editors/ng/Manifest @@ -0,0 +1 @@ +DIST ng-1.5beta1.tar.gz 662557 SHA256 990b2ed34f2943da71af6771c0ac9a62c36857d6e6e6ad6e7dc8782860388d3c SHA512 eaf3ee067cd98aebc757def9880c5a324975e9f5d0f1db030b11853e86631bca892bf344358ca21b778f5e10ae0d2ed97553221a368326f7a4d9d41f6867abcd WHIRLPOOL 0764ac5fb4ab0f1663c5d3dc13754d1537ac5607463bcbc97d690f9743da41fc56e0deb9ab05103115667ce5e9d62d2278a43740b538b9b8e4c0edf08260d2e7 diff --git a/app-editors/ng/files/ng-1.5beta1-configure.patch b/app-editors/ng/files/ng-1.5beta1-configure.patch new file mode 100644 index 000000000000..25f383a0be2d --- /dev/null +++ b/app-editors/ng/files/ng-1.5beta1-configure.patch @@ -0,0 +1,19 @@ +diff --git a/sys/unix/configure.in b/sys/unix/configure.in +index e034edc..b62535d 100644 +--- a/sys/unix/configure.in ++++ b/sys/unix/configure.in +@@ -83,8 +83,12 @@ AC_DEFINE_UNQUOTED(RMDIR_CMD, "$rmdir_cmd") + dnl If the user wants canna support. + AC_MSG_CHECKING(if --enable-canna option specified) + AC_ARG_ENABLE(canna, +- [ --enable-canna[=DIR] Build a canna version.], +- [cv_canna="yes"; cannapath=$enableval], [cv_canna="no"]) ++ [ --enable-canna[=DIR] Build a canna version.]) ++AS_IF([test "x$enable_canna" != "xno"], [ ++ cv_canna="yes"; cannapath=$enableval ++][ ++ cv_canna="no"; ++]) + AC_MSG_RESULT($cv_canna) + if test "$cv_canna" = "yes"; then + diff --git a/app-editors/ng/files/ng-1.5beta1-ncurses.patch b/app-editors/ng/files/ng-1.5beta1-ncurses.patch new file mode 100644 index 000000000000..5395ba94ea78 --- /dev/null +++ b/app-editors/ng/files/ng-1.5beta1-ncurses.patch @@ -0,0 +1,12 @@ +--- configure.orig 2004-05-12 09:26:44.000000000 +0900 ++++ configure 2004-05-12 09:27:06.000000000 +0900 +@@ -1077,3 +1077,3 @@ + rm -f conftest* +-test "$ac_cv_search_tgetstr" = "no" && for i in curses ncurses termlib; do ++test "$ac_cv_search_tgetstr" = "no" && for i in ncurses termlib; do + LIBS="-l$i $ac_func_search_save_LIBS" +@@ -1140,3 +1140,3 @@ + rm -f conftest* +-test "$ac_cv_search_tgetstr" = "no" && for i in termcap curses ncurses; do ++test "$ac_cv_search_tgetstr" = "no" && for i in termcap ncurses; do + LIBS="-l$i $ac_func_search_save_LIBS" diff --git a/app-editors/ng/metadata.xml b/app-editors/ng/metadata.xml new file mode 100644 index 000000000000..2d5852c16c60 --- /dev/null +++ b/app-editors/ng/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>cjk</herd> +</pkgmetadata> diff --git a/app-editors/ng/ng-1.5_beta1-r1.ebuild b/app-editors/ng/ng-1.5_beta1-r1.ebuild new file mode 100644 index 000000000000..e35a9c63c123 --- /dev/null +++ b/app-editors/ng/ng-1.5_beta1-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils autotools + +MY_P="${P/_beta/beta}" + +DESCRIPTION="Emacs like micro editor Ng -- based on mg2a" +HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/" +SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz" + +LICENSE="Emacs" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="canna" + +RDEPEND=">=sys-libs/ncurses-5.0 + !dev-java/nailgun + canna? ( app-i18n/canna )" +DEPEND="${RDEPEND} + >=sys-apps/sed-4.0" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + epatch "${FILESDIR}/${MY_P}-ncurses.patch" + epatch "${FILESDIR}/${MY_P}-configure.patch" + sed -i -e "/NO_BACKUP/s/undef/define/" config.h || die "sed failed" + + pushd sys/unix || die + eautoconf + popd + cp sys/unix/configure . || die +} + +src_configure() { + econf $(use_enable canna) +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + dobin ng + dodoc docs/* MANIFEST dot.ng + + insinto /usr/share/ng + doins bin/* + + insinto /etc/skel + newins dot.ng .ng +} + +pkg_postinst() { + elog + elog "If you want to use user Config" + elog "cp /etc/skel/.ng ~/.ng" + elog "and edit your .ng configuration file." + elog +} diff --git a/app-editors/ng/ng-1.5_beta1.ebuild b/app-editors/ng/ng-1.5_beta1.ebuild new file mode 100644 index 000000000000..a35f2e08b706 --- /dev/null +++ b/app-editors/ng/ng-1.5_beta1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils toolchain-funcs + +MY_P=${P/_beta/beta} + +DESCRIPTION="Emacs like micro editor Ng -- based on mg2a" +HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/" +SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz" + +LICENSE="Emacs" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +IUSE="canna" + +RDEPEND=">=sys-libs/ncurses-5.0 + !dev-java/nailgun + canna? ( app-i18n/canna )" +DEPEND="${RDEPEND} + >=sys-apps/sed-4.0" + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${MY_P}-ncurses.patch" +} + +src_compile() { + local myconf + + if use canna; then + myconf="--enable-canna" + fi + econf ${myconf} || die + sed -i -e "s/^#undef NO_BACKUP/#define NO_BACKUP/" config.h \ + || die "sed failed" + + emake CC=$(tc-getCC) || die +} + +src_install() { + dobin ng || die + dodoc docs/* MANIFEST dot.ng + + insinto /usr/share/ng + doins bin/* + + insinto /etc/skel + newins dot.ng .ng +} + +pkg_postinst() { + elog + elog "If you want to use user Config" + elog "cp /etc/skel/.ng ~/.ng" + elog "and edit your .ng configuration file." + elog +} diff --git a/app-editors/nvi/Manifest b/app-editors/nvi/Manifest new file mode 100644 index 000000000000..4a3146c32a26 --- /dev/null +++ b/app-editors/nvi/Manifest @@ -0,0 +1 @@ +DIST nvi-1.81.6.tar.bz2 1758309 SHA256 3441b8e3247b2b6dd19b5fd38355fe6593b2a92e960ecb3dd00d676f63d06b59 SHA512 7e203f7ea6723427d18ff55361254991f50d395f89aab2ea52d0902c474acb24c289da7c35d9e907d652145f13483d8a8270f5c8ee72bd723a3b1eaeecc4f9fd WHIRLPOOL e349a09c281bc41b1ff404a9bfa6bc16b7e4b70c45a91efe231e4e766f72f83f5bbae9a901ffc448b8badae21a494fafd3292028f1a3234d8b92085206772375 diff --git a/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch b/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch new file mode 100644 index 000000000000..49f9453983bc --- /dev/null +++ b/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch @@ -0,0 +1,12 @@ +diff -uNr nvi-1.81.6.orig/dist/configure.in nvi-1.81.6/dist/configure.in +--- nvi-1.81.6.orig/dist/configure.in 2013-07-09 16:54:56.000000000 -0400 ++++ nvi-1.81.6/dist/configure.in 2013-07-09 16:59:35.000000000 -0400 +@@ -4,7 +4,7 @@ + AC_INIT(../common/main.c) + AC_CONFIG_AUX_DIR(.) + AM_INIT_AUTOMAKE(vi, 1.81.6) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADER(config.h) + + dnl Configure setup. + AC_PROG_INSTALL() diff --git a/app-editors/nvi/files/nvi-1.81.6-db.patch b/app-editors/nvi/files/nvi-1.81.6-db.patch new file mode 100644 index 000000000000..a8b721951270 --- /dev/null +++ b/app-editors/nvi/files/nvi-1.81.6-db.patch @@ -0,0 +1,26 @@ +--- common/exf.c ++++ common/exf.c +@@ -228,13 +228,18 @@ + /* + * XXX + * A seat of the pants calculation: try to keep the file in +- * 15 pages or less. Don't use a page size larger than 10K ++ * 15 pages or less. Don't use a page size larger than 8K +- * (vi should have good locality) or smaller than 1K. ++ * (vi should have good locality) or smaller than 1K. DB asks ++ * for a power of two, so give it one. + */ + psize = ((sb.st_size / 15) + 1023) / 1024; +- if (psize > 10) ++ if (psize >= 8) +- psize = 10; ++ psize = 8; ++ else if (psize >= 4) ++ psize = 4; ++ else if (psize >= 2) ++ psize = 2; +- if (psize == 0) ++ else + psize = 1; + psize *= 1024; + diff --git a/app-editors/nvi/files/nvi-1.81.6-db44.patch b/app-editors/nvi/files/nvi-1.81.6-db44.patch new file mode 100644 index 000000000000..f081a2d28bea --- /dev/null +++ b/app-editors/nvi/files/nvi-1.81.6-db44.patch @@ -0,0 +1,29 @@ + + First part is from http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/pkgsrc/editors/nvi/patches/patch-aa?rev=1.3;content-type=text/plain + +--- common/db.h 2012-08-27 06:55:01.000000000 -0400 ++++ common/db.h 2012-08-27 07:17:48.000000000 -0400 +@@ -16,7 +16,10 @@ + (env)->remove(env, path, NULL, flags) + #endif + +-#if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1 ++# if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 4) || DB_VERSION_MAJOR > 4 ++#define db_open(db,file,type,flags,mode) \ ++ (db)->open(db, NULL, file, NULL, type, flags | DB_CREATE, mode) ++#elif DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1 + #define db_open(db,file,type,flags,mode) \ + (db)->open(db, NULL, file, NULL, type, flags, mode) + #else +--- common/msg.c ++++ common/msg.c +@@ -724,7 +724,8 @@ + p = buf; + } else + p = file; +- if ((sp->db_error = db_create(&db, 0, 0)) != 0 || ++ if (access(p, R_OK) != 0 || ++ (sp->db_error = db_create(&db, 0, 0)) != 0 || + (sp->db_error = db->set_re_source(db, p)) != 0 || + (sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) { + if (first) { diff --git a/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch b/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch new file mode 100644 index 000000000000..01117491ec4f --- /dev/null +++ b/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch @@ -0,0 +1,94 @@ +--- dist/configure.in ++++ dist/configure.in +@@ -105,7 +105,7 @@ + + dnl A/UX has a broken getopt(3), strpbrk(3). + case "$host_os" in +-aux*) LIBOBJS="getopt.o strpbrk.o $LIBOBJS";; ++aux*) LIBOBJS="libvi_la-getopt.o libvi_la-strpbrk.o $LIBOBJS";; + esac + + dnl Ultrix has a broken POSIX.1 VDISABLE value. +@@ -434,7 +434,7 @@ + -e 'ldopts'` + perlldflags=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \ + -e 'ccdlflags'` +- LIBOBJS="perl.o perlxsi.o perlsfio.o $LIBOBJS" ++ LIBOBJS="libvi_la-perl.o libvi_la-perlxsi.o libvi_la-perlsfio.o $LIBOBJS" + AC_DEFINE(HAVE_PERL_INTERP) + AC_CACHE_CHECK([whether we need to use perl's setenv], + vi_cv_perl_setenv, [ +@@ -471,7 +471,7 @@ + AC_MSG_ERROR([No Tcl library found;]) + fi + . $vi_cv_tclconfig +- LIBOBJS="tcl.o $LIBOBJS" ++ LIBOBJS="libvi_la-tcl.o $LIBOBJS" + LIBS="$TCL_LIB_SPEC $TCL_LIBS $LIBS" + AC_DEFINE(HAVE_TCL_INTERP) + fi +@@ -607,12 +607,12 @@ + + dnl If we needed setenv or unsetenv, add in the clib/env.c replacement file. + if test "$need_env" = yes; then +- LIBOBJS="env.o $LIBOBJS" ++ LIBOBJS="libvi_la-env.o $LIBOBJS" + fi + + dnl If we need strsep, add it and define it so we get a prototype. + if test "$need_strsep" = yes; then +- LIBOBJS="strsep.o $LIBOBJS" ++ LIBOBJS="libvi_la-strsep.o $LIBOBJS" + fi + + dnl Check for fcntl/flock +@@ -1003,7 +1003,7 @@ + PATH="$OLDPATH" + + AC_DEFINE(USE_DYNAMIC_LOADING) +- LIBOBJS="dldb.o $LIBOBJS" ++ LIBOBJS="libvi_la-dldb.o $LIBOBJS" + dl_src=../common/dldb.c + LIBS="-ldl $LIBS" + else +@@ -1046,9 +1046,9 @@ + CPPFLAGS="-I$vi_cv_dbsrc/include_auto $CPPFLAGS" + CPPFLAGS="-I$with_db_build $CPPFLAGS" + AC_DEFINE(USE_DB4_LOGGING) +- LIBOBJS="log4.o vi_auto.o vi_rec.o $LIBOBJS" ++ LIBOBJS="libvi_la-log4.o libvi_la-vi_auto.o libvi_la-vi_rec.o $LIBOBJS" + else +- LIBOBJS="log.o $LIBOBJS" ++ LIBOBJS="libvi_la-log.o $LIBOBJS" + fi + + dnl We compile in nvi's RE routines unless the user specifies otherwise. +@@ -1064,7 +1064,7 @@ + case "$vi_cv_re_lib" in + "bundled RE") + CPPFLAGS="-I\$(visrcdir)/regex $CPPFLAGS" +- LIBOBJS="regcomp.o regerror.o regexec.o regfree.o $LIBOBJS";; ++ LIBOBJS="libvi_la-regcomp.o libvi_la-regerror.o libvi_la-regexec.o libvi_la-regfree.o $LIBOBJS";; + "other RE") + ;; + esac +--- dist/Makefile.am ++++ dist/Makefile.am +@@ -169,12 +169,15 @@ + $(visrcdir)/common/pthread.c \ + $(visrcdir)/common/vi_auto.c \ + $(visrcdir)/common/vi_rec.c \ +- $(visrcdir)/perl_api/perl.xs \ ++ perl.c \ + $(visrcdir)/perl_api/perlsfio.c \ ++ perlxsi.c \ + $(visrcdir)/tcl_api/tcl.c + # Is this the way to do it ? + libvi_la_DEPENDENCIES = @LTLIBOBJS@ +-libvi_la_LIBADD = @LTLIBOBJS@ ++libvi_la_LIBADD = @LTLIBOBJS@ @perllibs@ ++libvi_la_CPPFLAGS = @perlldflags@ $(AM_CPPFLAGS) ++libvi_la_LDFLAGS = @perlldflags@ + + bin_PROGRAMS = @vi_programs@ @vi_ipc@ + EXTRA_PROGRAMS = vi vi-ipc vi-motif vi-gtk diff --git a/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch b/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch new file mode 100644 index 000000000000..88e1829e78d6 --- /dev/null +++ b/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch @@ -0,0 +1,20 @@ +--- perl_api/perlsfio.c ++++ perl_api/perlsfio.c +@@ -32,6 +32,7 @@ + /* perl redefines them + * avoid warnings + */ ++#undef re_compile + #undef USE_DYNAMIC_LOADING + #undef DEBUG + #undef PACKAGE +--- perl_api/perl.xs ++++ perl_api/perl.xs +@@ -38,6 +38,7 @@ + /* perl redefines them + * avoid warnings + */ ++#undef re_compile + #undef USE_DYNAMIC_LOADING + #undef DEBUG + #undef PACKAGE diff --git a/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch b/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch new file mode 100644 index 000000000000..70a47fd93fd5 --- /dev/null +++ b/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch @@ -0,0 +1,499 @@ +Created by: Karl Hakimian +Added by: Jesus Rivero <neurogeek@gentoo.org> +Added on: Feb 18, 2015 +diff -rupN nvi-1.81.6.orig/common/api.c nvi-1.81.6/common/api.c +--- nvi-1.81.6.orig/common/api.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/common/api.c 2015-02-17 11:04:50.199111784 -0800 +@@ -423,7 +423,7 @@ api_opts_get(SCR *sp, CHAR_T *name, char + switch (op->type) { + case OPT_0BOOL: + case OPT_1BOOL: +- MALLOC_RET(sp, *value, char *, STRLEN(op->name) + 2 + 1); ++ MALLOC_RET(sp, *value, char *, NVI_STRLEN(op->name) + 2 + 1); + (void)sprintf(*value, + "%s"WS, O_ISSET(sp, offset) ? "" : "no", op->name); + if (boolvalue != NULL) +diff -rupN nvi-1.81.6.orig/common/msg.c nvi-1.81.6/common/msg.c +--- nvi-1.81.6.orig/common/msg.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/common/msg.c 2015-02-17 11:04:50.203891722 -0800 +@@ -378,7 +378,7 @@ msgq_wstr(SCR *sp, mtype_t mtype, CHAR_T + msgq(sp, mtype, fmt); + return; + } +- INT2CHAR(sp, str, STRLEN(str) + 1, nstr, nlen); ++ INT2CHAR(sp, str, NVI_STRLEN(str) + 1, nstr, nlen); + msgq_str(sp, mtype, nstr, fmt); + } + +diff -rupN nvi-1.81.6.orig/common/multibyte.h nvi-1.81.6/common/multibyte.h +--- nvi-1.81.6.orig/common/multibyte.h 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/common/multibyte.h 2015-02-17 11:04:50.204262910 -0800 +@@ -12,7 +12,7 @@ typedef wchar_t CHAR_T; + typedef u_int UCHAR_T; + #define RCHAR_BIT 24 + +-#define STRLEN wcslen ++#define NVI_STRLEN wcslen + #define STRTOL wcstol + #define STRTOUL wcstoul + #define SPRINTF swprintf +@@ -31,7 +31,7 @@ typedef u_char CHAR_T; + typedef u_char UCHAR_T; + #define RCHAR_BIT CHAR_BIT + +-#define STRLEN strlen ++#define NVI_STRLEN strlen + #define STRTOL strtol + #define STRTOUL strtoul + #define SPRINTF snprintf +diff -rupN nvi-1.81.6.orig/common/options.c nvi-1.81.6/common/options.c +--- nvi-1.81.6.orig/common/options.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/common/options.c 2015-02-17 11:04:50.195900457 -0800 +@@ -315,7 +315,7 @@ opts_init(SCR *sp, int *oargs) + + /* Set numeric and string default values. */ + #define OI(indx, str) { \ +- a.len = STRLEN(str); \ ++ a.len = NVI_STRLEN(str); \ + if ((CHAR_T*)str != b2) /* GCC puts strings in text-space. */ \ + (void)MEMCPY(b2, str, a.len+1); \ + if (opts_set(sp, argv, NULL)) { \ +@@ -620,10 +620,10 @@ opts_set(SCR *sp, ARGS **argv, char *usa + goto badnum; + if ((nret = + nget_uslong(sp, &value, sep, &endp, 10)) != NUM_OK) { +- INT2CHAR(sp, name, STRLEN(name) + 1, ++ INT2CHAR(sp, name, NVI_STRLEN(name) + 1, + np, nlen); + p2 = msg_print(sp, np, &nf); +- INT2CHAR(sp, sep, STRLEN(sep) + 1, ++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, + np, nlen); + t2 = msg_print(sp, np, &nf2); + switch (nret) { +@@ -647,10 +647,10 @@ opts_set(SCR *sp, ARGS **argv, char *usa + break; + } + if (*endp && !ISBLANK(*endp)) { +-badnum: INT2CHAR(sp, name, STRLEN(name) + 1, ++badnum: INT2CHAR(sp, name, NVI_STRLEN(name) + 1, + np, nlen); + p2 = msg_print(sp, np, &nf); +- INT2CHAR(sp, sep, STRLEN(sep) + 1, ++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, + np, nlen); + t2 = msg_print(sp, np, &nf2); + msgq(sp, M_ERR, +@@ -680,7 +680,7 @@ badnum: INT2CHAR(sp, name, STRLEN(nam + break; + + /* Report to subsystems. */ +- INT2CHAR(sp, sep, STRLEN(sep) + 1, np, nlen); ++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, np, nlen); + if (op->func != NULL && + op->func(sp, spo, np, &value) || + ex_optchange(sp, offset, np, &value) || +@@ -712,7 +712,7 @@ badnum: INT2CHAR(sp, name, STRLEN(nam + * Do nothing if the value is unchanged, the underlying + * functions can be expensive. + */ +- INT2CHAR(sp, sep, STRLEN(sep) + 1, np, nlen); ++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, np, nlen); + if (!F_ISSET(op, OPT_ALWAYS) && + O_STR(sp, offset) != NULL && + !strcmp(O_STR(sp, offset), np)) +@@ -879,7 +879,7 @@ opts_dump(SCR *sp, enum optdisp type) + } + F_CLR(&sp->opts[cnt], OPT_SELECTED); + +- curlen = STRLEN(op->name); ++ curlen = NVI_STRLEN(op->name); + switch (op->type) { + case OPT_0BOOL: + case OPT_1BOOL: +@@ -1049,7 +1049,7 @@ opts_search(CHAR_T *name) + * Check to see if the name is the prefix of one (and only one) + * option. If so, return the option. + */ +- len = STRLEN(name); ++ len = NVI_STRLEN(name); + for (found = NULL, op = optlist; op->name != NULL; ++op) { + if (op->name[0] < name[0]) + continue; +diff -rupN nvi-1.81.6.orig/dist/tags nvi-1.81.6/dist/tags +--- nvi-1.81.6.orig/dist/tags 2007-11-18 08:43:55.000000000 -0800 ++++ nvi-1.81.6/dist/tags 2015-02-17 11:04:50.225314084 -0800 +@@ -1068,8 +1068,8 @@ SPRINTF ../common/multibyte.h 37;" d + STANDARD_TAB ../common/key.h 213;" d + STRCMP ../common/multibyte.h 19;" d + STRCMP ../common/multibyte.h 38;" d +-STRLEN ../common/multibyte.h 15;" d +-STRLEN ../common/multibyte.h 34;" d ++NVI_STRLEN ../common/multibyte.h 15;" d ++NVI_STRLEN ../common/multibyte.h 34;" d + STRPBRK ../common/multibyte.h 20;" d + STRPBRK ../common/multibyte.h 39;" d + STRSET ../common/multibyte.h 22;" d +diff -rupN nvi-1.81.6.orig/ex/ex_argv.c nvi-1.81.6/ex/ex_argv.c +--- nvi-1.81.6.orig/ex/ex_argv.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ex/ex_argv.c 2015-02-17 11:04:50.267171388 -0800 +@@ -217,7 +217,7 @@ argv_exp2(SCR *sp, EXCMD *excp, CHAR_T * + + *p = '\0'; + INT2CHAR(sp, bp + SHELLOFFSET, +- STRLEN(bp + SHELLOFFSET) + 1, np, nlen); ++ NVI_STRLEN(bp + SHELLOFFSET) + 1, np, nlen); + d = strdup(np); + rval = argv_lexp(sp, excp, d); + free (d); +@@ -332,7 +332,7 @@ argv_fexp(SCR *sp, EXCMD *excp, CHAR_T * + "115|No previous command to replace \"!\""); + return (1); + } +- len += tlen = STRLEN(exp->lastbcomm); ++ len += tlen = NVI_STRLEN(exp->lastbcomm); + off = p - bp; + ADD_SPACE_RETW(sp, bp, blen, len); + p = bp + off; +@@ -683,7 +683,7 @@ err: if (ifp != NULL) + * XXX + * Assume that all shells have -c. + */ +- INT2CHAR(sp, bp, STRLEN(bp)+1, np, nlen); ++ INT2CHAR(sp, bp, NVI_STRLEN(bp)+1, np, nlen); + execl(sh_path, sh, "-c", np, (char *)NULL); + msgq_str(sp, M_SYSERR, sh_path, "118|Error: execl: %s"); + _exit(127); +diff -rupN nvi-1.81.6.orig/ex/ex_cscope.c nvi-1.81.6/ex/ex_cscope.c +--- nvi-1.81.6.orig/ex/ex_cscope.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ex/ex_cscope.c 2015-02-17 11:04:50.261539058 -0800 +@@ -140,7 +140,7 @@ ex_cscope(SCR *sp, EXCMD *cmdp) + for (; *p && isspace(*p); ++p); + } + +- INT2CHAR(sp, cmd, STRLEN(cmd) + 1, np, nlen); ++ INT2CHAR(sp, cmd, NVI_STRLEN(cmd) + 1, np, nlen); + if ((ccp = lookup_ccmd(np)) == NULL) { + usage: msgq(sp, M_ERR, "309|Use \"cscope help\" for help"); + return (1); +@@ -214,7 +214,7 @@ cscope_add(SCR *sp, EXCMD *cmdp, CHAR_T + * >1 additional args: object, too many args. + */ + cur_argc = cmdp->argc; +- if (argv_exp2(sp, cmdp, dname, STRLEN(dname))) { ++ if (argv_exp2(sp, cmdp, dname, NVI_STRLEN(dname))) { + return (1); + } + if (cmdp->argc == cur_argc) { +@@ -228,7 +228,7 @@ cscope_add(SCR *sp, EXCMD *cmdp, CHAR_T + return (1); + } + +- INT2CHAR(sp, dname, STRLEN(dname)+1, np, nlen); ++ INT2CHAR(sp, dname, NVI_STRLEN(dname)+1, np, nlen); + + /* + * The user can specify a specific file (so they can have multiple +@@ -471,7 +471,7 @@ cscope_find(SCR *sp, EXCMD *cmdp, CHAR_T + } + + /* Create the cscope command. */ +- INT2CHAR(sp, pattern, STRLEN(pattern) + 1, np, nlen); ++ INT2CHAR(sp, pattern, NVI_STRLEN(pattern) + 1, np, nlen); + np = strdup(np); + if ((tqp = create_cs_cmd(sp, np, &search)) == NULL) + goto err; +@@ -801,7 +801,7 @@ cscope_help(SCR *sp, EXCMD *cmdp, CHAR_T + char *np; + size_t nlen; + +- INT2CHAR(sp, subcmd, STRLEN(subcmd) + 1, np, nlen); ++ INT2CHAR(sp, subcmd, NVI_STRLEN(subcmd) + 1, np, nlen); + return (csc_help(sp, np)); + } + +@@ -842,7 +842,7 @@ cscope_kill(SCR *sp, EXCMD *cmdp, CHAR_T + char *np; + size_t nlen; + +- INT2CHAR(sp, cn, STRLEN(cn) + 1, np, nlen); ++ INT2CHAR(sp, cn, NVI_STRLEN(cn) + 1, np, nlen); + return (terminate(sp, NULL, atoi(np))); + } + +diff -rupN nvi-1.81.6.orig/ex/ex_filter.c nvi-1.81.6/ex/ex_filter.c +--- nvi-1.81.6.orig/ex/ex_filter.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ex/ex_filter.c 2015-02-17 11:04:50.263257613 -0800 +@@ -138,7 +138,7 @@ err: if (input[0] != -1) + else + ++name; + +- INT2SYS(sp, cmd, STRLEN(cmd)+1, np, nlen); ++ INT2SYS(sp, cmd, NVI_STRLEN(cmd)+1, np, nlen); + execl(O_STR(sp, O_SHELL), name, "-c", np, (char *)NULL); + msgq_str(sp, M_SYSERR, O_STR(sp, O_SHELL), "execl: %s"); + _exit (127); +@@ -283,7 +283,7 @@ err: if (input[0] != -1) + * Ignore errors on vi file reads, to make reads prettier. It's + * completely inconsistent, and historic practice. + */ +-uwait: INT2CHAR(sp, cmd, STRLEN(cmd) + 1, np, nlen); ++uwait: INT2CHAR(sp, cmd, NVI_STRLEN(cmd) + 1, np, nlen); + return (proc_wait(sp, (long)utility_pid, np, + ftype == FILTER_READ && F_ISSET(sp, SC_VI) ? 1 : 0, 0) || rval); + } +diff -rupN nvi-1.81.6.orig/ex/ex_init.c nvi-1.81.6/ex/ex_init.c +--- nvi-1.81.6.orig/ex/ex_init.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ex/ex_init.c 2015-02-17 11:04:50.279419412 -0800 +@@ -61,7 +61,7 @@ ex_screen_copy(SCR *orig, SCR *sp) + + if (oexp->lastbcomm != NULL && + (nexp->lastbcomm = v_wstrdup(sp, oexp->lastbcomm, +- STRLEN(oexp->lastbcomm))) == NULL) { ++ NVI_STRLEN(oexp->lastbcomm))) == NULL) { + msgq(sp, M_SYSERR, NULL); + return(1); + } +diff -rupN nvi-1.81.6.orig/ex/ex_tag.c nvi-1.81.6/ex/ex_tag.c +--- nvi-1.81.6.orig/ex/ex_tag.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ex/ex_tag.c 2015-02-17 11:04:50.275254557 -0800 +@@ -68,7 +68,7 @@ ex_tag_first(SCR *sp, CHAR_T *tagarg) + + /* Build an argument for the ex :tag command. */ + ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0); +- argv_exp0(sp, &cmd, tagarg, STRLEN(tagarg)); ++ argv_exp0(sp, &cmd, tagarg, NVI_STRLEN(tagarg)); + + /* + * XXX +@@ -115,7 +115,7 @@ ex_tag_push(SCR *sp, EXCMD *cmdp) + + /* Taglength may limit the number of characters. */ + if ((tl = +- O_VAL(sp, O_TAGLENGTH)) != 0 && STRLEN(exp->tag_last) > tl) ++ O_VAL(sp, O_TAGLENGTH)) != 0 && NVI_STRLEN(exp->tag_last) > tl) + exp->tag_last[tl] = '\0'; + break; + case 0: +@@ -587,7 +587,7 @@ ex_tag_copy(SCR *orig, SCR *sp) + /* Copy the last tag. */ + if (oexp->tag_last != NULL && + (nexp->tag_last = v_wstrdup(sp, oexp->tag_last, +- STRLEN(oexp->tag_last))) == NULL) { ++ NVI_STRLEN(oexp->tag_last))) == NULL) { + msgq(sp, M_SYSERR, NULL); + return (1); + } +@@ -997,7 +997,7 @@ ctag_slist(SCR *sp, CHAR_T *tag) + exp = EXP(sp); + + /* Allocate and initialize the tag queue structure. */ +- INT2CHAR(sp, tag, STRLEN(tag) + 1, np, nlen); ++ INT2CHAR(sp, tag, NVI_STRLEN(tag) + 1, np, nlen); + len = nlen - 1; + CALLOC_GOTO(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + len + 1); + CIRCLEQ_INIT(&tqp->tagq); +diff -rupN nvi-1.81.6.orig/ex/ex_util.c nvi-1.81.6/ex/ex_util.c +--- nvi-1.81.6.orig/ex/ex_util.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ex/ex_util.c 2015-02-17 11:04:50.268378054 -0800 +@@ -153,7 +153,7 @@ ex_wemsg(SCR* sp, CHAR_T *p, exm_t which + char *np; + size_t nlen; + +- if (p) INT2CHAR(sp, p, STRLEN(p), np, nlen); ++ if (p) INT2CHAR(sp, p, NVI_STRLEN(p), np, nlen); + else np = NULL; + ex_emsg(sp, np, which); + } +diff -rupN nvi-1.81.6.orig/ex/ex_write.c nvi-1.81.6/ex/ex_write.c +--- nvi-1.81.6.orig/ex/ex_write.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ex/ex_write.c 2015-02-17 11:04:50.277249383 -0800 +@@ -158,7 +158,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm + ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE); + return (1); + } +- if (argv_exp1(sp, cmdp, p, STRLEN(p), 1)) ++ if (argv_exp1(sp, cmdp, p, NVI_STRLEN(p), 1)) + return (1); + + /* +@@ -203,7 +203,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm + &cmdp->addr1, &cmdp->addr2, NULL, flags)); + + /* Build an argv so we get an argument count and file expansion. */ +- if (argv_exp2(sp, cmdp, p, STRLEN(p))) ++ if (argv_exp2(sp, cmdp, p, NVI_STRLEN(p))) + return (1); + + /* +@@ -255,7 +255,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm + set_alt_name(sp, name); + break; + default: +- INT2CHAR(sp, p, STRLEN(p) + 1, n, nlen); ++ INT2CHAR(sp, p, NVI_STRLEN(p) + 1, n, nlen); + ex_emsg(sp, n, EXM_FILECOUNT); + return (1); + } +diff -rupN nvi-1.81.6.orig/ip/ip_term.c nvi-1.81.6/ip/ip_term.c +--- nvi-1.81.6.orig/ip/ip_term.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/ip/ip_term.c 2015-02-17 11:04:50.280203225 -0800 +@@ -127,7 +127,7 @@ ip_optchange(SCR *sp, int offset, char * + + ipb.code = SI_EDITOPT; + ipb.str1 = (char*)opt->name; +- ipb.len1 = STRLEN(opt->name) * sizeof(CHAR_T); ++ ipb.len1 = NVI_STRLEN(opt->name) * sizeof(CHAR_T); + + (void)vi_send(ipp->o_fd, "ab1", &ipb); + return (0); +diff -rupN nvi-1.81.6.orig/perl_api/perl.xs nvi-1.81.6/perl_api/perl.xs +--- nvi-1.81.6.orig/perl_api/perl.xs 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/perl_api/perl.xs 2015-02-17 11:04:50.189684363 -0800 +@@ -326,7 +326,7 @@ perl_ex_perl(scrp, cmdp, cmdlen, f_lno, + newVIrv(pp->svid, scrp); + + istat = signal(SIGINT, my_sighandler); +- INT2CHAR(scrp, cmdp, STRLEN(cmdp)+1, np, nlen); ++ INT2CHAR(scrp, cmdp, NVI_STRLEN(cmdp)+1, np, nlen); + perl_eval(np); + signal(SIGINT, istat); + +@@ -421,7 +421,7 @@ perl_ex_perldo(scrp, cmdp, cmdlen, f_lno + /* Backwards compatibility. */ + newVIrv(pp->svid, scrp); + +- INT2CHAR(scrp, cmdp, STRLEN(cmdp)+1, np, nlen); ++ INT2CHAR(scrp, cmdp, NVI_STRLEN(cmdp)+1, np, nlen); + if (!(command = malloc(length = nlen - 1 + sizeof("sub {}")))) + return 1; + snprintf(command, length, "sub {%s}", np); +diff -rupN nvi-1.81.6.orig/regex/engine.c nvi-1.81.6/regex/engine.c +--- nvi-1.81.6.orig/regex/engine.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/regex/engine.c 2015-02-17 11:04:50.181456859 -0800 +@@ -161,7 +161,7 @@ int eflags; + stop = string + pmatch[0].rm_eo; + } else { + start = string; +- stop = start + STRLEN(start); ++ stop = start + NVI_STRLEN(start); + } + if (stop < start) + return(REG_INVARG); +diff -rupN nvi-1.81.6.orig/regex/regcomp.c nvi-1.81.6/regex/regcomp.c +--- nvi-1.81.6.orig/regex/regcomp.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/regex/regcomp.c 2015-02-17 11:04:50.175705539 -0800 +@@ -198,7 +198,7 @@ regcomp(regex_t *preg, const RCHAR_T *pa + return(REG_INVARG); + len = preg->re_endp - pattern; + } else +- len = STRLEN(pattern); ++ len = NVI_STRLEN(pattern); + + /* do the mallocs early so failure handling is easy */ + g = (struct re_guts *)malloc(sizeof(struct re_guts) + +@@ -818,7 +818,7 @@ p_b_cclass(register struct parse *p, reg + NEXT(); + len = p->next - sp; + for (cp = cclasses; cp->name != NULL; cp++) +- if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len)) ++ if (NVI_STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len)) + break; + if (cp->name == NULL) { + /* oops, didn't find it */ +@@ -889,7 +889,7 @@ p_b_coll_elem(register struct parse *p, + } + len = p->next - sp; + for (cp = cnames; cp->name != NULL; cp++) +- if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len)) ++ if (NVI_STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len)) + return(cp->code); /* known name */ + if (len == 1) + return(*sp); /* single character */ +diff -rupN nvi-1.81.6.orig/vi/v_event.c nvi-1.81.6/vi/v_event.c +--- nvi-1.81.6.orig/vi/v_event.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/vi/v_event.c 2015-02-17 11:04:50.242966563 -0800 +@@ -97,7 +97,7 @@ v_editopt(SCR *sp, VICMD *vp) + size_t nlen; + char *p2; + +- INT2CHAR(sp, vp->ev.e_str2, STRLEN(vp->ev.e_str2)+1, np, nlen); ++ INT2CHAR(sp, vp->ev.e_str2, NVI_STRLEN(vp->ev.e_str2)+1, np, nlen); + p2 = strdup(np); + rval = api_opts_set(sp, vp->ev.e_str1, p2, + vp->ev.e_val1, vp->ev.e_val1); +@@ -135,7 +135,7 @@ v_tag(SCR *sp, VICMD *vp) + return (1); + + ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0); +- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw)); ++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw)); + return (v_exec_ex(sp, vp, &cmd)); + } + +@@ -167,7 +167,7 @@ v_tagsplit(SCR *sp, VICMD *vp) + + ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0); + F_SET(&cmd, E_NEWSCREEN); +- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw)); ++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw)); + return (v_exec_ex(sp, vp, &cmd)); + } + +diff -rupN nvi-1.81.6.orig/vi/v_ex.c nvi-1.81.6/vi/v_ex.c +--- nvi-1.81.6.orig/vi/v_ex.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/vi/v_ex.c 2015-02-17 11:04:50.246380280 -0800 +@@ -210,7 +210,7 @@ v_tagpush(SCR *sp, VICMD *vp) + EXCMD cmd; + + ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, 0, 0); +- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw) + 1); ++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw) + 1); + return (v_exec_ex(sp, vp, &cmd)); + } + +diff -rupN nvi-1.81.6.orig/vi/vs_msg.c nvi-1.81.6/vi/vs_msg.c +--- nvi-1.81.6.orig/vi/vs_msg.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/vi/vs_msg.c 2015-02-17 11:04:50.251093618 -0800 +@@ -175,7 +175,7 @@ vs_update(SCR *sp, const char *m1, const + */ + if (F_ISSET(sp, SC_SCR_EXWROTE)) { + if (m2 != NULL) +- INT2CHAR(sp, m2, STRLEN(m2) + 1, np, nlen); ++ INT2CHAR(sp, m2, NVI_STRLEN(m2) + 1, np, nlen); + (void)ex_printf(sp, + "%s\n", m1 == NULL? "" : m1, m2 == NULL ? "" : np); + (void)ex_fflush(sp); +@@ -203,7 +203,7 @@ vs_update(SCR *sp, const char *m1, const + } else + len = 0; + if (m2 != NULL) { +- mlen = STRLEN(m2); ++ mlen = NVI_STRLEN(m2); + if (len + mlen > sp->cols - 2) + mlen = (sp->cols - 2) - len; + (void)gp->scr_waddstr(sp, m2, mlen); +diff -rupN nvi-1.81.6.orig/vi/vs_split.c nvi-1.81.6/vi/vs_split.c +--- nvi-1.81.6.orig/vi/vs_split.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/vi/vs_split.c 2015-02-17 11:04:50.256136584 -0800 +@@ -628,7 +628,7 @@ vs_fg(SCR *sp, SCR **nspp, CHAR_T *name, + wp = sp->wp; + + if (name) +- INT2CHAR(sp, name, STRLEN(name) + 1, np, nlen); ++ INT2CHAR(sp, name, NVI_STRLEN(name) + 1, np, nlen); + else + np = NULL; + if (newscreen) +diff -rupN nvi-1.81.6.orig/vi/v_txt.c nvi-1.81.6/vi/v_txt.c +--- nvi-1.81.6.orig/vi/v_txt.c 2007-11-18 08:41:42.000000000 -0800 ++++ nvi-1.81.6/vi/v_txt.c 2015-02-17 11:04:50.240596567 -0800 +@@ -2049,7 +2049,7 @@ retry: for (len = 0, + return (0); + case 1: /* One match. */ + /* If something changed, do the exchange. */ +- nlen = STRLEN(cmd.argv[0]->bp); ++ nlen = NVI_STRLEN(cmd.argv[0]->bp); + if (len != nlen || MEMCMP(cmd.argv[0]->bp, p, len)) + break; + diff --git a/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch b/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch new file mode 100644 index 000000000000..a9bf7e0a06a4 --- /dev/null +++ b/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch @@ -0,0 +1,30 @@ +diff -uNr nvi-1.81.6.orig/dist/configure.in nvi-1.81.6/dist/configure.in +--- nvi-1.81.6.orig/dist/configure.in 2013-07-09 17:17:35.000000000 -0400 ++++ nvi-1.81.6/dist/configure.in 2013-07-09 17:18:48.000000000 -0400 +@@ -263,11 +263,13 @@ + [ --enable-gtk Build a Gtk front-end for vi.], + [vi_cv_gtk=$enableval], [vi_cv_gtk="no"]) + AC_MSG_RESULT($vi_cv_gtk) ++ ++# ++# Find pkg-config ++# ++AC_PATH_PROG(PKG_CONFIG, pkg-config, no) ++ + if test "$vi_cv_gtk" = "yes"; then +- # +- # Find pkg-config +- # +- AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + if test x$PKG_CONFIG = xno ; then + if test "$vi_cv_widechar" = "yes"; then + AC_MSG_ERROR( +@@ -531,7 +533,7 @@ + [CURSHEADER=ncursesw/ncurses.h]) + fi + vi_programs="vi $vi_programs" +- CURSLIBS="-l$vi_cv_curses" ++ CURSLIBS=`$PKG_CONFIG --libs $vi_cv_curses` + else + AC_MSG_WARN([*** No suitable curses library found.]) + if test "$vi_programs"X = X; then diff --git a/app-editors/nvi/metadata.xml b/app-editors/nvi/metadata.xml new file mode 100644 index 000000000000..5215b05de14e --- /dev/null +++ b/app-editors/nvi/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>neurogeek@gentoo.org</email> + <name>Jesus Rivero</name> + </maintainer> +</pkgmetadata> diff --git a/app-editors/nvi/nvi-1.81.6-r3.ebuild b/app-editors/nvi/nvi-1.81.6-r3.ebuild new file mode 100644 index 000000000000..3e3e6e6c1c54 --- /dev/null +++ b/app-editors/nvi/nvi-1.81.6-r3.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools db-use eutils flag-o-matic + +DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2" +DBSLOTS= +DBDEPENDS= +for DBVER in ${DBVERS} +do + if [[ ${DBVER} = *.*.* ]]; then + DBSLOTS="${DBSLOTS} ${DBVER%.*}" + DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}" + else + DBSLOTS="${DBSLOTS} ${DBVER}" + DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}" + fi +done + +DESCRIPTION="Vi clone" +HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/nvi" +SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86" +IUSE="perl tcl unicode" + +DEPEND="|| ( ${DBDEPENDS} ) + >=sys-libs/ncurses-5.6-r2[tinfo] + perl? ( dev-lang/perl ) + tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )" +RDEPEND="${DEPEND} + app-eselect/eselect-vi" + +S=${WORKDIR}/${P}/build.unix + +pkg_setup() { + if use tcl && use unicode + then + ewarn "nvi does not support tcl+unicode. tcl support will not be included." + ewarn "If you need tcl support, please disable the unicode flag." + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-db44.patch + epatch "${FILESDIR}"/${P}-db.patch + epatch "${FILESDIR}"/${P}-perl-as-needed.patch + epatch "${FILESDIR}"/${P}-perl-shortnames.patch + cd dist || die + chmod +x findconfig || die + append-flags -I"$(db_includedir ${DBSLOTS})" + sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.in || die + rm -f configure || die + eautoreconf -Im4 +} + +src_compile() { + local myconf + + use perl && myconf="${myconf} --enable-perlinterp" + use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp" + use unicode && myconf="${myconf} --enable-widechar" + + append-flags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""' + + ECONF_SOURCE=../dist econf \ + --program-prefix=n \ + ${myconf} \ + || die "configure failed" + emake OPTFLAG="${CFLAGS}" || die "make failed" +} + +src_install() { + emake -j1 DESTDIR="${D}" install || die "install failed" +} + +pkg_postinst() { + einfo "Setting /usr/bin/vi symlink" + eselect vi update --if-unset +} + +pkg_postrm() { + einfo "Updating /usr/bin/vi symlink" + eselect vi update --if-unset +} diff --git a/app-editors/nvi/nvi-1.81.6-r4.ebuild b/app-editors/nvi/nvi-1.81.6-r4.ebuild new file mode 100644 index 000000000000..098fb97f97f4 --- /dev/null +++ b/app-editors/nvi/nvi-1.81.6-r4.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit autotools db-use eutils flag-o-matic + +DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2" +DBSLOTS= +DBDEPENDS= +for DBVER in ${DBVERS} +do + if [[ ${DBVER} = *.*.* ]]; then + DBSLOTS="${DBSLOTS} ${DBVER%.*}" + DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}" + else + DBSLOTS="${DBSLOTS} ${DBVER}" + DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}" + fi +done + +DESCRIPTION="Vi clone" +HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/vi" +SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86" +IUSE="perl tcl unicode" + +CDEPEND="|| ( ${DBDEPENDS} ) + >=sys-libs/ncurses-5.6-r2 + perl? ( dev-lang/perl ) + tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )" + +DEPEND="${CDEPEND} + virtual/pkgconfig" + +RDEPEND="${CDEPEND} + app-eselect/eselect-vi" + +REQUIRED_USE="tcl? ( !unicode )" + +src_prepare() { + + epatch "${FILESDIR}"/${P}-db44.patch + epatch "${FILESDIR}"/${P}-db.patch + epatch "${FILESDIR}"/${P}-perl-as-needed.patch + epatch "${FILESDIR}"/${P}-perl-shortnames.patch + epatch "${FILESDIR}"/${P}-ac_config_header.patch + epatch "${FILESDIR}"/${P}-use_pkgconfig_for_ncurses.patch + + cd dist || die + chmod +x findconfig || die + + append-cppflags -I"$(db_includedir ${DBSLOTS})" + + sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.in || die + rm -f configure || die + eautoreconf -Im4 +} + +src_configure() { + local myconf + + use perl && myconf="${myconf} --enable-perlinterp" + use unicode && myconf="${myconf} --enable-widechar" + use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp" + + append-cppflags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""' + + pushd dist 2>/dev/null + econf \ + --program-prefix=n \ + ${myconf} \ + || die "configure failed" + popd 2>/dev/null +} + +src_compile() { + pushd dist 2>/dev/null + emake || die "make failed" + popd 2>/dev/null +} + +src_install() { + pushd dist 2>/dev/null + emake -j1 DESTDIR="${D}" install || die "install failed" + popd 2>/dev/null +} + +pkg_postinst() { + einfo "Setting /usr/bin/vi symlink" + eselect vi update --if-unset +} + +pkg_postrm() { + einfo "Updating /usr/bin/vi symlink" + eselect vi update --if-unset +} diff --git a/app-editors/nvi/nvi-1.81.6-r5.ebuild b/app-editors/nvi/nvi-1.81.6-r5.ebuild new file mode 100644 index 000000000000..7fd00133f989 --- /dev/null +++ b/app-editors/nvi/nvi-1.81.6-r5.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit autotools db-use eutils flag-o-matic + +DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2" +DBSLOTS= +DBDEPENDS= +for DBVER in ${DBVERS} +do + if [[ ${DBVER} = *.*.* ]]; then + DBSLOTS="${DBSLOTS} ${DBVER%.*}" + DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}" + else + DBSLOTS="${DBSLOTS} ${DBVER}" + DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}" + fi +done + +DESCRIPTION="Vi clone" +HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/vi" +SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="perl tcl unicode" + +CDEPEND="|| ( ${DBDEPENDS} ) + >=sys-libs/ncurses-5.6-r2 + perl? ( dev-lang/perl ) + tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )" + +DEPEND="${CDEPEND} + virtual/pkgconfig" + +RDEPEND="${CDEPEND} + app-eselect/eselect-vi" + +REQUIRED_USE="tcl? ( !unicode )" + +src_prepare() { + + epatch "${FILESDIR}"/${P}-strlen-macro-renaming.patch + epatch "${FILESDIR}"/${P}-db44.patch + epatch "${FILESDIR}"/${P}-db.patch + epatch "${FILESDIR}"/${P}-perl-as-needed.patch + epatch "${FILESDIR}"/${P}-perl-shortnames.patch + epatch "${FILESDIR}"/${P}-ac_config_header.patch + epatch "${FILESDIR}"/${P}-use_pkgconfig_for_ncurses.patch + + cd dist || die + chmod +x findconfig || die + + append-cppflags -I"$(db_includedir ${DBSLOTS})" + + sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.in || die + rm -f configure || die + eautoreconf -Im4 +} + +src_configure() { + local myconf + + use perl && myconf="${myconf} --enable-perlinterp" + use unicode && myconf="${myconf} --enable-widechar" + use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp" + + append-cppflags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""' + + pushd dist 2>/dev/null + econf \ + --program-prefix=n \ + ${myconf} \ + || die "configure failed" + popd 2>/dev/null +} + +src_compile() { + pushd dist 2>/dev/null + emake || die "make failed" + popd 2>/dev/null +} + +src_install() { + pushd dist 2>/dev/null + emake -j1 DESTDIR="${D}" install || die "install failed" + popd 2>/dev/null +} + +pkg_postinst() { + einfo "Setting /usr/bin/vi symlink" + eselect vi update --if-unset +} + +pkg_postrm() { + einfo "Updating /usr/bin/vi symlink" + eselect vi update --if-unset +} diff --git a/app-editors/padre/Manifest b/app-editors/padre/Manifest new file mode 100644 index 000000000000..43769c6f6597 --- /dev/null +++ b/app-editors/padre/Manifest @@ -0,0 +1,2 @@ +DIST Padre-0.98.tar.gz 1968814 SHA256 847aa43a0f30ec7cc99a812e38f447f7c49959e62ce39614f9fba1d2d5694f87 SHA512 4f810a0447bc03751dd50ada08acacb3ad617c03dd628f11272750da5e0f9fd39951838161046ad1b17185b87b9bb0f10780adaffa4bdcec0928c181587afdaf WHIRLPOOL 98ec79b1b24096523e1f7da5dad5ebf7f7631f77974994f8d59f53dbff6937efecca5942c22fc7393581f18b423c9aef91ebdbd35bd0fd3a7e8f59270d034379 +DIST Padre-1.00.tar.gz 1969274 SHA256 cb31404b048c12992eea142613bd560ce7a31199e3e09239fa1539f2fa02b96d SHA512 8a2630eb54944b85ec77eaf90595fe6bb482b88ae87622b9e54973fbc1cc5f7ccf83d7b2481a9a66886310db9678569d23b18de033f7759db71ac73fd3151856 WHIRLPOOL 512d1aeb9783a8c1b4dee2f3b60b77d7daf40eef1a33dc88b84e11403c70983633e1b4c54c40013d7b575e70221f5e95cfbd7db434544afa13b475215ee3377d diff --git a/app-editors/padre/metadata.xml b/app-editors/padre/metadata.xml new file mode 100644 index 000000000000..c4e883858d94 --- /dev/null +++ b/app-editors/padre/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>perl</herd> + <upstream> + <remote-id type="cpan">Padre</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/padre/padre-0.980.0-r1.ebuild b/app-editors/padre/padre-0.980.0-r1.ebuild new file mode 100644 index 000000000000..c3f3b09e4412 --- /dev/null +++ b/app-editors/padre/padre-0.980.0-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +MY_PN=Padre +MODULE_AUTHOR=PLAVEN +MODULE_VERSION=0.98 +inherit perl-module + +DESCRIPTION="Perl Application Development and Refactoring Environment" +HOMEPAGE="http://padre.perlide.org/" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +# Test Deps +TDEPEND=" + >=dev-perl/Test-MockObject-1.09 + >=dev-perl/Test-Script-1.07 + >=dev-perl/Test-Exception-0.27 + >=dev-perl/Test-NoWarnings-0.084 + >=virtual/perl-Test-Simple-0.88 + >=dev-perl/Test-Warn-0.240.0 +" + +# Depend on perl-5.10.1 but it only needs +# a modern EU::MM +# >=virtual/perl-Pod-Perldoc-3.15 +RDEPEND=" + >=dev-lang/perl-5.10.1 + >=dev-perl/Algorithm-Diff-1.190.0 + >=dev-perl/Capture-Tiny-0.06 + >=dev-perl/Class-Adapter-1.05 + >=dev-perl/Class-Inspector-1.22 + >=dev-perl/Class-XSAccessor-1.130.0 + >=dev-perl/DBD-SQLite-1.350.0 + >=dev-perl/DBI-1.58 + >=dev-perl/Devel-Dumpvar-0.04 + >=dev-perl/Debug-Client-0.200.0 + >=dev-perl/Devel-Refactor-0.05 + >=dev-perl/File-Copy-Recursive-0.37 + >=dev-perl/File-Find-Rule-0.30 + >=dev-perl/File-HomeDir-0.91 + >=virtual/perl-File-Path-2.08 + >=dev-perl/File-Remove-1.40 + >=dev-perl/File-ShareDir-1.00 + >=virtual/perl-File-Spec-3.27.01 + >=virtual/perl-File-Temp-0.20 + >=dev-perl/File-Which-1.08 + dev-perl/File-pushd + virtual/perl-Getopt-Long + >=dev-perl/HTML-Parser-3.58 + >=dev-perl/IO-stringy-2.110 + virtual/perl-IO + >=dev-perl/IO-String-1.08 + >=dev-perl/IPC-Run-0.83 + >=dev-perl/JSON-XS-2.2.9 + >=virtual/perl-Scalar-List-Utils-1.18 + >=dev-perl/libwww-perl-5.815 + >=dev-perl/List-MoreUtils-0.22 + >=dev-perl/Locale-Msgfmt-0.15 + >=dev-perl/Module-Manifest-0.07 + >=dev-perl/ORLite-1.960.0 + >=dev-perl/ORLite-Migrate-1.100.0 + >=dev-perl/PAR-0.989 + >=dev-perl/Params-Util-0.33 + >=dev-perl/Parse-ErrorString-Perl-0.14 + >=dev-perl/Parse-ExuberantCTags-1.00 + >=dev-perl/Pod-Abstract-0.16 + >=dev-perl/Pod-POM-0.17 + >=virtual/perl-Pod-Simple-3.07 + >=dev-perl/PPI-1.205 + >=dev-perl/PPIx-EditorTools-0.130.0 + >=dev-perl/PPIx-Regexp-0.011 + dev-perl/Probe-Perl + >=dev-perl/Sort-Versions-1.500.0 + >=virtual/perl-Storable-2.16 + >=dev-perl/Template-Tiny-0.11 + >=virtual/perl-Text-Balanced-0.80 + >=dev-perl/Text-Diff-1.410.0 + >=dev-perl/Text-FindIndent-0.10 + >=dev-perl/Text-Patch-1.800.0 + >=virtual/perl-threads-1.71 + >=virtual/perl-threads-shared-1.33 + >=virtual/perl-Time-HiRes-1.97.18 + >=dev-perl/URI-0 + >=dev-perl/wxperl-0.990.100 + >=dev-perl/Wx-Perl-ProcessStream-0.28 + >=dev-perl/Wx-Scintilla-0.340.0 + >=dev-perl/YAML-Tiny-1.32 + >=virtual/perl-version-0.79 +" +DEPEND="${RDEPEND}" +# test? ( +# ${TDEPEND} +# ) +#" + +#SRC_TEST=do + +src_configure() { + unset DISPLAY + perl-module_src_configure +} diff --git a/app-editors/padre/padre-1.0.0.ebuild b/app-editors/padre/padre-1.0.0.ebuild new file mode 100644 index 000000000000..e27be4ab6ec9 --- /dev/null +++ b/app-editors/padre/padre-1.0.0.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +MY_PN=Padre +MODULE_AUTHOR=PLAVEN +MODULE_VERSION=1.00 +inherit perl-module + +DESCRIPTION="Perl Application Development and Refactoring Environment" +HOMEPAGE="http://padre.perlide.org/" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +# Test Deps +TDEPEND=" + >=dev-perl/Test-MockObject-1.09 + >=dev-perl/Test-Script-1.07 + >=dev-perl/Test-Exception-0.27 + >=dev-perl/Test-NoWarnings-0.084 + >=virtual/perl-Test-Simple-0.88 + >=dev-perl/Test-Warn-0.240.0 +" + +# Depend on perl-5.10.1 but it only needs +# a modern EU::MM +# >=virtual/perl-Pod-Perldoc-3.15 +RDEPEND=" + >=dev-lang/perl-5.10.1 + >=dev-perl/Algorithm-Diff-1.190.0 + >=dev-perl/Capture-Tiny-0.06 + >=dev-perl/Class-Adapter-1.05 + >=dev-perl/Class-Inspector-1.22 + >=dev-perl/Class-XSAccessor-1.130.0 + >=dev-perl/DBD-SQLite-1.350.0 + >=dev-perl/DBI-1.58 + >=dev-perl/Devel-Dumpvar-0.04 + >=dev-perl/Debug-Client-0.200.0 + >=dev-perl/Devel-Refactor-0.05 + >=dev-perl/File-Copy-Recursive-0.37 + >=dev-perl/File-Find-Rule-0.30 + >=dev-perl/File-HomeDir-0.91 + >=virtual/perl-File-Path-2.08 + >=dev-perl/File-Remove-1.40 + >=dev-perl/File-ShareDir-1.00 + >=virtual/perl-File-Spec-3.27.01 + >=virtual/perl-File-Temp-0.20 + >=dev-perl/File-Which-1.08 + dev-perl/File-pushd + virtual/perl-Getopt-Long + >=dev-perl/HTML-Parser-3.58 + >=dev-perl/IO-stringy-2.110 + virtual/perl-IO + >=dev-perl/IO-String-1.08 + >=dev-perl/IPC-Run-0.83 + >=dev-perl/JSON-XS-2.2.9 + >=virtual/perl-Scalar-List-Utils-1.18 + >=dev-perl/libwww-perl-5.815 + >=dev-perl/List-MoreUtils-0.22 + >=dev-perl/Locale-Msgfmt-0.15 + >=dev-perl/Module-Manifest-0.07 + >=dev-perl/ORLite-1.960.0 + >=dev-perl/ORLite-Migrate-1.100.0 + >=dev-perl/PAR-0.989 + >=dev-perl/Params-Util-0.33 + >=dev-perl/Parse-ErrorString-Perl-0.14 + >=dev-perl/Parse-ExuberantCTags-1.00 + >=dev-perl/Pod-Abstract-0.16 + >=dev-perl/Pod-POM-0.17 + >=virtual/perl-Pod-Simple-3.07 + >=dev-perl/PPI-1.205 + >=dev-perl/PPIx-EditorTools-0.130.0 + >=dev-perl/PPIx-Regexp-0.011 + dev-perl/Probe-Perl + >=dev-perl/Sort-Versions-1.500.0 + >=virtual/perl-Storable-2.16 + >=dev-perl/Template-Tiny-0.11 + >=virtual/perl-Text-Balanced-0.80 + >=dev-perl/Text-Diff-1.410.0 + >=dev-perl/Text-FindIndent-0.10 + >=dev-perl/Text-Patch-1.800.0 + >=virtual/perl-threads-1.71 + >=virtual/perl-threads-shared-1.33 + >=virtual/perl-Time-HiRes-1.97.18 + >=dev-perl/URI-0 + >=dev-perl/wxperl-0.990.100 + >=dev-perl/Wx-Perl-ProcessStream-0.28 + >=dev-perl/Wx-Scintilla-0.340.0 + >=dev-perl/YAML-Tiny-1.32 + >=virtual/perl-version-0.79 +" +DEPEND="${RDEPEND}" +# test? ( +# ${TDEPEND} +# ) +#" + +#SRC_TEST=do + +src_configure() { + unset DISPLAY + perl-module_src_configure +} diff --git a/app-editors/pluma/Manifest b/app-editors/pluma/Manifest new file mode 100644 index 000000000000..eba94b22c8a1 --- /dev/null +++ b/app-editors/pluma/Manifest @@ -0,0 +1,2 @@ +DIST pluma-1.8.0.tar.xz 3395424 SHA256 69b381854bb0bb7976af1469b921feec626b5f12c3c2f077b2ed0ea0020d2979 SHA512 b5298da96198a154f1dd039d594152911e3fa7cb037341a4917bcdef560864ccf08762052c0e8d314c40d12bc2dc82fea692992f0fba0e41312b88f7ddcaa8fe WHIRLPOOL b91ec8134eba44b43d6e5cf4769c770b46fe0383e1a7256103d8d1b6beaf7fac22df6772971674b0920e96eef03bedfeb9d29ea156111949b080d42c4cc93078 +DIST pluma-1.8.1.tar.xz 3409032 SHA256 38accc5c05062981a0649874300bc21ab3ad1a5ef47491186dffe7c035ed9e8b SHA512 4429b95a6c692c524db481cc53a3d9d5fd252a2aafa49daf787df5d7b389806f520233bc054b701a3ca47a5df5917cf934dafee8327b0ac01b7fe25059b6adea WHIRLPOOL c1e61e32bc657b7097292869acd57e69b6c67d0610db0644c38141ca4e94b34b0b3bc3b941fc79b444c2f56d3140210f117fc80bfc2102b97d4f45af9e9e2057 diff --git a/app-editors/pluma/metadata.xml b/app-editors/pluma/metadata.xml new file mode 100644 index 000000000000..cf4c89f861f5 --- /dev/null +++ b/app-editors/pluma/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>mate</herd> + <upstream> + <remote-id type="github">mate-desktop/pluma</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/pluma/pluma-1.8.0.ebuild b/app-editors/pluma/pluma-1.8.0.ebuild new file mode 100644 index 000000000000..3f27b451ebb9 --- /dev/null +++ b/app-editors/pluma/pluma-1.8.0.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +GCONF_DEBUG="yes" +GNOME2_LA_PUNT="yes" + +PYTHON_COMPAT=( python2_7 ) + +inherit gnome2 multilib python-single-r1 versionator virtualx + +MATE_BRANCH="$(get_version_component_range 1-2)" + +SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz" +DESCRIPTION="Pluma text editor for the MATE desktop" +HOMEPAGE="http://mate-desktop.org" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="python spell" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# Tests require gvfs sftp fs mounted and schema's installed. Disable tests. +# https://github.com/mate-desktop/mate-text-editor/issues/33 +RESTRICT="test" + +RDEPEND="app-text/rarian:0 + dev-libs/atk:0 + >=dev-libs/glib-2.32:2 + >=dev-libs/libxml2-2.5:2 + x11-libs/cairo:0 + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-2.19:2 + >=x11-libs/gtksourceview-2.9.7:2.0 + x11-libs/libICE:0 + x11-libs/libX11:0 + >=x11-libs/libSM-1.0 + x11-libs/pango:0 + virtual/libintl:0 + spell? ( + >=app-text/enchant-1.2:0 + >=app-text/iso-codes-0.35:0 + ) + python? ( + ${PYTHON_DEPS} + >=dev-python/pygobject-2.15.4:2[${PYTHON_USEDEP}] + >=dev-python/pygtk-2.12:2[${PYTHON_USEDEP}] + >=dev-python/pygtksourceview-2.9.2:2 + ) + !!app-editors/mate-text-editor" + +DEPEND="${RDEPEND} + ~app-text/docbook-xml-dtd-4.1.2 + >=app-text/scrollkeeper-dtd-1:1.0 + >=dev-util/intltool-0.40:* + >=sys-devel/libtool-2.2.6:2 + >=mate-base/mate-common-1.8:0 + >=sys-devel/gettext-0.17:* + virtual/pkgconfig:*" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + gnome2_src_configure \ + --disable-updater \ + $(use_enable python) \ + $(use_enable spell) +} + +DOCS="AUTHORS ChangeLog NEWS README" + +src_test() { + # FIXME: This should be handled at eclass level. + "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die + + unset DBUS_SESSION_BUS_ADDRESS + + GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check +} diff --git a/app-editors/pluma/pluma-1.8.1.ebuild b/app-editors/pluma/pluma-1.8.1.ebuild new file mode 100644 index 000000000000..48b831e7877b --- /dev/null +++ b/app-editors/pluma/pluma-1.8.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +GCONF_DEBUG="yes" +GNOME2_LA_PUNT="yes" + +PYTHON_COMPAT=( python2_7 ) + +inherit gnome2 multilib python-single-r1 versionator virtualx + +MATE_BRANCH="$(get_version_component_range 1-2)" + +SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz" +DESCRIPTION="Pluma text editor for the MATE desktop" +HOMEPAGE="http://mate-desktop.org" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="python spell" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# Tests require gvfs sftp fs mounted and schema's installed. Disable tests. +# https://github.com/mate-desktop/mate-text-editor/issues/33 +RESTRICT="test" + +RDEPEND="app-text/rarian:0 + dev-libs/atk:0 + >=dev-libs/glib-2.32:2 + >=dev-libs/libxml2-2.5:2 + >=mate-base/mate-desktop-1.8:0 + x11-libs/cairo:0 + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-2.19:2 + >=x11-libs/gtksourceview-2.9.7:2.0 + x11-libs/libICE:0 + x11-libs/libX11:0 + >=x11-libs/libSM-1.0 + x11-libs/pango:0 + virtual/libintl:0 + spell? ( + >=app-text/enchant-1.2:0 + >=app-text/iso-codes-0.35:0 + ) + python? ( + ${PYTHON_DEPS} + >=dev-python/pygobject-2.15.4:2[${PYTHON_USEDEP}] + >=dev-python/pygtk-2.12:2[${PYTHON_USEDEP}] + >=dev-python/pygtksourceview-2.9.2:2 + ) + !!app-editors/mate-text-editor" + +DEPEND="${RDEPEND} + ~app-text/docbook-xml-dtd-4.1.2 + >=app-text/scrollkeeper-dtd-1:1.0 + app-text/yelp-tools:0 + >=dev-util/intltool-0.40:* + >=sys-devel/libtool-2.2.6:2 + >=mate-base/mate-common-1.8:0 + >=sys-devel/gettext-0.17:* + virtual/pkgconfig:*" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + gnome2_src_configure \ + --disable-updater \ + $(use_enable python) \ + $(use_enable spell) +} + +DOCS="AUTHORS ChangeLog NEWS README" + +src_test() { + # FIXME: This should be handled at eclass level. + "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die + + unset DBUS_SESSION_BUS_ADDRESS + + GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check +} diff --git a/app-editors/qemacs/Manifest b/app-editors/qemacs/Manifest new file mode 100644 index 000000000000..c5a4ccbdaf27 --- /dev/null +++ b/app-editors/qemacs/Manifest @@ -0,0 +1 @@ +DIST qemacs-0.4.0_pre20090420.tar.bz2 1393436 SHA256 14f1ffad569f1bdaaa27d2d7ab0251ce69afc9efc347bb244b11f5e34e818ab5 SHA512 4595e34d3a83cbd7f25514dd96b7578976b30de80eb19b1391448ecdb9c06d24088880978961e5abb94b3f715057e7563ae0976d704bc5afaaf83e62a67e8dd4 WHIRLPOOL 63ba6950a0340731cd9a041a5929d18f1769d915a7343a94b2b0c48d82a0af1680b2163426e8d268240d3c0c740895853439d96c2d49791e106f0798f5d88a8b diff --git a/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch b/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch new file mode 100644 index 000000000000..1f51ada5c2b7 --- /dev/null +++ b/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch @@ -0,0 +1,43 @@ +utf8 input in tty.c +http://lists.gnu.org/archive/html/qemacs-devel/2004-03/msg00000.html +http://bugs.gentoo.org/62829 + +--- qemacs-orig/tty.c 2007-02-08 00:27:33.000000000 +0100 ++++ qemacs/tty.c 2007-02-26 15:07:41.000000000 +0100 +@@ -78,7 +78,6 @@ + /* input handling */ + enum InputState input_state; + int input_param; +- int utf8_state; + int utf8_index; + unsigned char buf[10]; + char *term_name; +@@ -374,15 +373,19 @@ + + /* charset handling */ + if (s->charset == &charset_utf8) { +- if (ts->utf8_state == 0) { +- const char *p; +- p = (const char *)ts->buf; +- ch = utf8_decode(&p); +- } else { +- ts->utf8_state = utf8_length[ts->buf[0]] - 1; +- ts->utf8_index = 0; +- return; +- } ++ /* Make sure utf8 input works correctly 20040314 <damm@opensource.se> */ ++ ts->utf8_index++; ++ ++ if (utf8_length[ts->buf[0]] == ts->utf8_index) {; ++ const char *p; ++ p = (const char *)ts->buf; ++ ch = utf8_decode(&p); ++ ts->utf8_index = 0; ++ } ++ else { ++ return; ++ } ++ + } else { + ch = ts->buf[0]; + } diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch new file mode 100644 index 000000000000..73c3f68b13a3 --- /dev/null +++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch @@ -0,0 +1,35 @@ +--- Makefile.orig 2009-03-07 21:27:48.000000000 +0100 ++++ Makefile 2009-03-07 21:28:43.000000000 +0100 +@@ -19,32 +19,6 @@ + + include config.mak + +-ifeq ($(CC),gcc) +- CFLAGS := -Wall -g -O2 -funsigned-char +- # do not warn about zero-length formats. +- CFLAGS += -Wno-format-zero-length +- LDFLAGS := -g +-endif +- +-#include local compiler configuration file +--include cflags.mk +- +-ifdef TARGET_GPROF +- CFLAGS += -p +- LDFLAGS += -p +-endif +- +-TLDFLAGS := $(LDFLAGS) +- +-ifdef TARGET_ARCH_X86 +- #CFLAGS+=-fomit-frame-pointer +- ifeq ($(GCC_MAJOR),2) +- CFLAGS+=-m386 -malign-functions=0 +- else +- CFLAGS+=-march=i386 -falign-functions=0 +- endif +-endif +- + DEFINES=-DHAVE_QE_CONFIG_H + + ######################################################## diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch new file mode 100644 index 000000000000..cdfe4c439db8 --- /dev/null +++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch @@ -0,0 +1,68 @@ +Add make-backup-files command for backup toggling, from upstream mailing list: +http://lists.gnu.org/archive/html/qemacs-devel/2004-11/msg00007.html +http://bugs.gentoo.org/75052 + +--- buffer.c.orig 2009-03-07 21:14:02.000000000 +0100 ++++ buffer.c 2009-03-07 21:15:40.000000000 +0100 +@@ -1657,12 +1657,14 @@ + if (stat(filename, &st) == 0) + mode = st.st_mode & 0777; + +- /* backup old file if present */ +- if (strlen(filename) < MAX_FILENAME_SIZE - 1) { ++ /* backup old file if present and make-backup-files is on */ ++ if(mbf == 1) { ++ if (strlen(filename) < MAX_FILENAME_SIZE - 1) { + if (snprintf(buf1, sizeof(buf1), "%s~", filename) < ssizeof(buf1)) { + // should check error code + rename(filename, buf1); + } ++ } + } + + /* CG: should pass mode to buffer_save */ +--- qe.c.orig 2009-03-07 21:14:09.000000000 +0100 ++++ qe.c 2009-03-07 21:17:01.000000000 +0100 +@@ -71,6 +71,7 @@ + static int screen_height = 0; + static int no_init_file; + static const char *user_option; ++mbf = 1; + + /* mode handling */ + +@@ -5316,6 +5317,14 @@ + do_refresh(qs->first_window); + } + ++static void make_backup_files(EditState *s) { ++ if(mbf == 1) { ++ mbf = 0; ++ } else { ++ mbf = 1; ++ } ++} ++ + /* compute default path for find/save buffer */ + static void get_default_path(EditState *s, char *buf, int buf_size) + { +--- qeconfig.h.orig 2009-03-07 21:14:19.000000000 +0100 ++++ qeconfig.h 2009-03-07 21:17:37.000000000 +0100 +@@ -192,6 +192,7 @@ + "downcase-region", do_changecase_region, ESi, -1, "*v") + CMD3( KEY_CTRLX(KEY_CTRL('u')), KEY_NONE, + "upcase-region", do_changecase_region, ESi, 1, "*v") ++ CMD0( KEY_NONE, KEY_NONE, "make-backup-files", make_backup_files) + + /*---------------- Command handling ----------------*/ + +--- qe.h.orig 2009-03-07 21:14:26.000000000 +0100 ++++ qe.h 2009-03-07 21:17:53.000000000 +0100 +@@ -1765,6 +1765,7 @@ + /* image.c */ + void fill_border(EditState *s, int x, int y, int w, int h, int color); + int qe_bitmap_format_to_pix_fmt(int format); ++int mbf; + + /* shell.c */ + EditBuffer *new_shell_buffer(EditBuffer *b0, const char *name, diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch new file mode 100644 index 000000000000..120b09c2129d --- /dev/null +++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch @@ -0,0 +1,36 @@ +--- qemacs-orig/Makefile ++++ qemacs/Makefile +@@ -151,7 +151,6 @@ + qe$(EXE): qe_g$(EXE) Makefile + rm -f $@ + cp $< $@ +- -$(STRIP) $@ + @ls -l $@ + echo `size $@` `wc -c $@` qe $(OPTIONS) \ + | cut -d ' ' -f 7-10,13,15-40 >> STATS +@@ -165,7 +164,6 @@ + tqe$(EXE): tqe_g$(EXE) Makefile + rm -f $@ + cp $< $@ +- -$(STRIP) $@ + @ls -l $@ + echo `size $@` `wc -c $@` tqe $(OPTIONS) \ + | cut -d ' ' -f 7-10,13,15-40 >> STATS +@@ -329,7 +327,7 @@ + $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/bin + $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/man/man1 + $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/share/qe +- $(INSTALL) -m 755 -s qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE) ++ $(INSTALL) -m 755 qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE) + ln -sf qemacs $(DESTDIR)$(prefix)/bin/qe$(EXE) + ifdef CONFIG_FFMPEG + ln -sf qemacs$(EXE) $(DESTDIR)$(prefix)/bin/ffplay$(EXE) +@@ -337,7 +335,7 @@ + $(INSTALL) -m 644 kmaps ligatures $(DESTDIR)$(prefix)/share/qe + $(INSTALL) -m 644 qe.1 $(DESTDIR)$(prefix)/man/man1 + ifdef CONFIG_HTML +- $(INSTALL) -m 755 -s html2png$(EXE) $(DESTDIR)$(prefix)/bin ++ $(INSTALL) -m 755 html2png$(EXE) $(DESTDIR)$(prefix)/bin + endif + + uninstall: diff --git a/app-editors/qemacs/metadata.xml b/app-editors/qemacs/metadata.xml new file mode 100644 index 000000000000..c0162f066ce4 --- /dev/null +++ b/app-editors/qemacs/metadata.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + QEmacs (for Quick Emacs) is a very small but powerful text editor. It has + the following features: + * Full screen editor with an Emacs look and feel with all Emacs common + features: multi-buffer, multi-window, command mode, universal argument, + keyboard macros, config file with C like syntax, minibuffer with + completion and history. + * Can edit files of hundreds of megabytes quickly by using a highly + optimized internal representation and by mmaping the file. + * Full UTF8 support, including bidirectional editing respecting the Unicode + bidi algorithm. Arabic and Indic scripts handling (in progress). + * WYSIWYG HTML/XML/CSS2 mode graphical editing. Also supports lynx like + rendering on VT100 terminals. WYSIWYG DocBook mode based on XML/CSS2 + renderer. + * C mode: coloring with immediate update. Emacs like auto-indent. + * Shell mode: colorized VT100 emulation so that your shell work exactly as + you expect. You can run interactive terminal apps directly in the process + buffer: mc, MenuConfig, or even qemacs itself! Compile mode with + next/prev error. + * Input methods for most languages, including Chinese (input methods come + from the Yudit editor). + * Hexadecimal editing mode with insertion and block commands. Unicode hexa + editing of UTF8 files also supported. + * Works on any VT100 terminals without termcap. UTF8 VT100 support included + with double width glyphs. + * X11 support. Support multiple proportionnal fonts at the same time (as + XEmacs). + * Small! Full version is about 150KB. Smaller custom versions can be built + by removing modules. +</longdescription> +</pkgmetadata> diff --git a/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild b/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild new file mode 100644 index 000000000000..a91a379adf13 --- /dev/null +++ b/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils flag-o-matic toolchain-funcs + +DESCRIPTION="QEmacs is a very small but powerful UNIX editor" +HOMEPAGE="http://savannah.nongnu.org/projects/qemacs" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="LGPL-2.1+ GPL-2+" +SLOT="0" +KEYWORDS="amd64 arm ~ppc x86" +IUSE="X png unicode xv" +RESTRICT="test" + +RDEPEND=" + X? ( x11-libs/libX11 + x11-libs/libXext + xv? ( x11-libs/libXv ) ) + png? ( >=media-libs/libpng-1.2:0= )" + +DEPEND="${RDEPEND} + >=app-text/texi2html-5" + +S="${WORKDIR}/${PN}" + +src_prepare() { + # Removes forced march setting and align-functions on x86, as they + # would override user's CFLAGS.. + epatch "${FILESDIR}/${PN}-0.4.0_pre20080605-Makefile.patch" + # Make backup files optional + epatch "${FILESDIR}/${PN}-0.4.0_pre20080605-make_backup.patch" + # Suppress stripping + epatch "${FILESDIR}/${P}-nostrip.patch" + + use unicode && epatch "${FILESDIR}/${PN}-0.3.2_pre20070226-tty_utf8.patch" + + # Change the manpage to reference a /real/ file instead of just an + # approximation. Purely cosmetic! + sed -i -e "s,^/usr/share/doc/qemacs,&-${PVR}," qe.1 || die + + # Fix compability with >=app-text/texi2html-5 + sed -i -e "/texi2html/s,-number,&-sections," Makefile || die +} + +src_configure() { + # when using any other CFLAGS than -O0, qemacs will segfault on startup, + # see bug 92011 + replace-flags "-O?" -O0 + econf --cc="$(tc-getCC)" \ + $(use_enable X x11) \ + $(use_enable png) \ + $(use_enable xv) +} + +src_compile() { + # Does not support parallel building. + emake -j1 +} + +src_install() { + emake install DESTDIR="${D}" + dodoc Changelog README TODO config.eg + dohtml *.html + + # Fix man page location + mv "${D}"/usr/{,share/}man || die + + # Install headers so users can build their own plugins. + insinto /usr/include/qe + doins *.h + insinto /usr/include/qe/libqhtml + doins libqhtml/*.h +} diff --git a/app-editors/qwriter/Manifest b/app-editors/qwriter/Manifest new file mode 100644 index 000000000000..2e10c32df590 --- /dev/null +++ b/app-editors/qwriter/Manifest @@ -0,0 +1 @@ +DIST qwriter-0.1.9-src.tar.gz 1305399 SHA256 7a645f94b0a0050589d491e6c8a0bfa8f3381f513f9504aef348343d00c1ef8d SHA512 58a1c9b4ffcb148a0131dbbc4c150cf0b8b615e0c57712f5abe8955ce91a3d3de608d60fe9b68115fe77ec1cb2705917780e9789e175bd1c25c85aee2d23e09e WHIRLPOOL 7b57539842781e34763dcaaf644ca9e437b9accdac4215ccb5e1459a49489234665b73a9a146a9184e13b14ce3a3b8114491ffedfcde815ea9dd49ba9e4d2679 diff --git a/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch b/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch new file mode 100644 index 000000000000..d13c6625a743 --- /dev/null +++ b/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/show_bug.cgi?id=425252 +Index: qwriter-0.1.9-src/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp +=================================================================== +--- qwriter-0.1.9-src.orig/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp ++++ qwriter-0.1.9-src/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp +@@ -56,6 +56,7 @@ typedef BOOL(WINAPI*PProcessIdToSessionI + static PProcessIdToSessionId pProcessIdToSessionId = 0; + #endif + #if defined(Q_OS_UNIX) ++#include <unistd.h> + #include <time.h> + #endif + diff --git a/app-editors/qwriter/metadata.xml b/app-editors/qwriter/metadata.xml new file mode 100644 index 000000000000..96900cc7c67e --- /dev/null +++ b/app-editors/qwriter/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>hwoarang@gentoo.org</email> + <name>Markos Chandras</name> + </maintainer> + <upstream> + <remote-id type="google-code">qwriter</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/qwriter/qwriter-0.1.9.ebuild b/app-editors/qwriter/qwriter-0.1.9.ebuild new file mode 100644 index 000000000000..d6a022b7ed99 --- /dev/null +++ b/app-editors/qwriter/qwriter-0.1.9.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" +LANGS="ru" + +inherit eutils qt4-r2 + +MY_P="${P}-src" + +DESCRIPTION="Advanced text editor with syntax highlighting" +HOMEPAGE="http://qt-apps.org/content/show.php/QWriter?content=106377" +#upstream failed to provide a sane url +SRC_URI="http://qwriter.googlecode.com/files/${MY_P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="dev-qt/qtgui:4 + x11-libs/qscintilla" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + sed -i "s:languages:/usr/share/${PN}/languages:" src/MainWindow.cpp \ + || die "failed to fix translation path" + # gcc-4.7. Bug #425252 + epatch "${FILESDIR}"/${P}-gcc47.patch + qt4-r2_src_prepare +} + +src_install() { + dobin bin/${PN} || die "dobin failed" + newicon images/w.png ${PN}.png || die "newicon failed" + make_desktop_entry ${PN} QWriter ${PN} \ + || die "make_desktop_entry failed" + insinto /usr/share/${PN}/languages/ + for x in ${LANGS};do + for j in ${LINGUAS};do + if [[ $x == $j ]]; then + doins languages/${PN}_$x.qm \ + || die "failed to install $x translation" + fi + done + done +} diff --git a/app-editors/qxmledit/Manifest b/app-editors/qxmledit/Manifest new file mode 100644 index 000000000000..f671aec5440c --- /dev/null +++ b/app-editors/qxmledit/Manifest @@ -0,0 +1,2 @@ +DIST qxmledit-0.8.5-src.tgz 6727188 SHA256 aedb70f27493ba50f0c8bde4acdd8913fcf4221611b24f9042769df47aa701c4 SHA512 c974dc0787fdc1831a39e9e36f842ed92ca5b57e9e66e64822eea4646d88a0755f9aa791e4d7724872856561eac213413696fa7b0f61d89b54e29cbc95049a8a WHIRLPOOL 362d898005677dea5bb7372bc78d8b5d9376f2c7555be3086448778202a55fff5766856c39a55561c92b08498ecafaeace033121ba4706b4c1aa923ea45f28d8 +DIST qxmledit-0.8.8-1-src.tgz 8885329 SHA256 d43ccd0029b1094a970d58170a095cbe5fddfe3d93da7c52388783d321386e17 SHA512 5440d33c052507d3b5c840cdd2966c151a77e2027703f7c1d33f80ec786affab915053d2ae17ef72fd856223ca85dbb70d39d8800170449a26ea88632c0069b5 WHIRLPOOL 68f8d73c39ce490f13d88283053ad045125f007132a25d965ffb603ab1de1d42b62944659a76aa9bbb5adc884b37ad90f7eaf4487f314678d8a1923cd16f1078 diff --git a/app-editors/qxmledit/metadata.xml b/app-editors/qxmledit/metadata.xml new file mode 100644 index 000000000000..64f2a9e844c3 --- /dev/null +++ b/app-editors/qxmledit/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>qt</herd> + <maintainer> + <email>hwoarang@gentoo.org</email> + <name>Markos Chandras</name> + </maintainer> + <longdescription lang="en"> + QXmlEdit is a simple XML editor written in Qt4. Its main + features are unusual data visualization modes, it has some + nice XML manipulation and presentation features and it is + multi-platform. This is one of the few graphical Open Source + XSD viewer. + </longdescription> + <upstream> + <remote-id type="google-code">qxmledit</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/qxmledit/qxmledit-0.8.5.ebuild b/app-editors/qxmledit/qxmledit-0.8.5.ebuild new file mode 100644 index 000000000000..64d14f99aadc --- /dev/null +++ b/app-editors/qxmledit/qxmledit-0.8.5.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit multilib eutils qt4-r2 + +MY_P="qxmledit-${PV}-src" + +DESCRIPTION="Qt4 XML Editor" +HOMEPAGE="http://code.google.com/p/qxmledit/" +SRC_URI="http://${PN}.googlecode.com/files/${MY_P}.tgz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug" + +DEPEND=">=dev-qt/qtcore-4.7:4 + >=dev-qt/qtgui-4.7:4 + >=dev-qt/qtsql-4.7:4 + >=dev-qt/qtsvg-4.7:4 + >=dev-qt/qtxmlpatterns-4.7:4" +RDEPEND="${DEPEND}" + +DOCS="AUTHORS NEWS README ROADMAP TODO" + +src_prepare() { + # fix doc dir + sed -i "/INST_DOC_DIR = / s|/opt/${PN}|/usr/share/doc/${PF}|" \ + src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \ + die "failed to fix doc installation path" + # fix binary installation path + sed -i "/INST_DIR = / s|/opt/${PN}|/usr/bin|" \ + src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \ + die "failed to fix binary installation path" + # fix helper libraries installation path + sed -i "/INST_LIB_DIR = / s|/opt/${PN}|/usr/$(get_libdir)|" \ + src/QXmlEdit{,Widget}.pro \ + src/sessions/QXmlEditSessions.pro || \ + die "failed to fix library installation path" + # fix translations + sed -i "/INST_DATA_DIR = / s|/opt|/usr/share|" src/QXmlEdit{,Widget}.pro \ + src/sessions/QXmlEditSessions.pro || \ + die "failed to fix translations" + # fix include + sed -i "/INST_INCLUDE_DIR = / s|/opt|/usr/share|" src/QXmlEditWidget.pro \ + || die "failed to fix include directory" + + qt4-r2_src_prepare +} + +src_install() { + qt4-r2_src_install + + newicon src/images/icon.png ${PN}.png + make_desktop_entry QXmlEdit QXmlEdit ${PN} "Qt;Utility;TextEditor" +} diff --git a/app-editors/qxmledit/qxmledit-0.8.8.1.ebuild b/app-editors/qxmledit/qxmledit-0.8.8.1.ebuild new file mode 100644 index 000000000000..55be50079aa2 --- /dev/null +++ b/app-editors/qxmledit/qxmledit-0.8.8.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit multilib eutils qt4-r2 versionator + +MY_PV="$(replace_version_separator 3 '-')" + +MY_P="qxmledit-${MY_PV}-src" + +DESCRIPTION="Qt4 XML Editor" +HOMEPAGE="http://code.google.com/p/qxmledit/" +SRC_URI="http://${PN}.googlecode.com/files/${MY_P}.tgz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug" + +DEPEND=">=dev-qt/qtcore-4.7:4 + >=dev-qt/qtgui-4.7:4 + >=dev-qt/qtsql-4.7:4 + >=dev-qt/qtsvg-4.7:4 + >=dev-qt/qtxmlpatterns-4.7:4" +RDEPEND="${DEPEND}" + +DOCS="AUTHORS NEWS README ROADMAP TODO" + +S="${WORKDIR}/${PN}-${MY_PV}" + +src_prepare() { + # fix doc dir + sed -i "/INST_DOC_DIR = / s|/opt/${PN}|/usr/share/doc/${PF}|" \ + src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \ + die "failed to fix doc installation path" + # fix binary installation path + sed -i "/INST_DIR = / s|/opt/${PN}|/usr/bin|" \ + src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \ + die "failed to fix binary installation path" + # fix helper libraries installation path + sed -i "/INST_LIB_DIR = / s|/opt/${PN}|/usr/$(get_libdir)|" \ + src/QXmlEdit{,Widget}.pro \ + src/sessions/QXmlEditSessions.pro || \ + die "failed to fix library installation path" + # fix translations + sed -i "/INST_DATA_DIR = / s|/opt|/usr/share|" src/QXmlEdit{,Widget}.pro \ + src/sessions/QXmlEditSessions.pro || \ + die "failed to fix translations" + # fix include + sed -i "/INST_INCLUDE_DIR = / s|/opt|/usr/share|" src/QXmlEditWidget.pro \ + || die "failed to fix include directory" + + qt4-r2_src_prepare +} + +src_install() { + qt4-r2_src_install + + newicon src/images/icon.png ${PN}.png + make_desktop_entry QXmlEdit QXmlEdit ${PN} "Qt;Utility;TextEditor" +} diff --git a/app-editors/retext/Manifest b/app-editors/retext/Manifest new file mode 100644 index 000000000000..ffbd9b05659c --- /dev/null +++ b/app-editors/retext/Manifest @@ -0,0 +1,3 @@ +DIST ReText-4.1.3.tar.gz 129283 SHA256 bb4409982d27ac62cab01b0748fe41d9c6660853668b350f3369e76d155edd6c SHA512 d2b3fa901afa9870f6cecc7ab3126b91f1420ca1b14ddd4f609c2ada7121388840b5be679914694664f3bbf876ee8522aa6b0c82a23f837844f788fa10a46323 WHIRLPOOL 3be71e5d7ec612ae4e4fec17ca544f6d0e7cb7421fcdeb517d3c13156ed07f5e5e7c3e352cf604bfb5f2287964fdc173a1bac0eeab41ee1cda8b265ad0f57686 +DIST ReText-5.0.2.tar.gz 140853 SHA256 7ef898abc8aed70502fd4d69ed7e8ab43cc978fcbe6864da5771379c1e315bdd SHA512 b28dd24aa5253106880bd6a5a3a16f96670c3145a2cb46da520407d6705f055ee52aaef9c0a8e27c2900b5fdde6a67c599cb8945f7daa6e3ef4456e1fd7c9b0f WHIRLPOOL 0ee1a7497ca3d6fef8356777d93e369d06de542b20974055ddf66cc8e12d33c7716d3b4b5f0360b40037c90d146fddbff4c3b48c96929efafd8f43e278240c0f +DIST ReText-5.1.0.tar.gz 151833 SHA256 09b12892a0520bb8b0692f5aec7aa88911d07a5048a3402a9e9d4ac57322b5ca SHA512 3dbfe4992195119513c571291c344338dccf55c52d000cc69da63d0e51e5f2d9c5a0a2fba6570e525c96f1f9243a7465391a59b840a1fb7dd4513a0b4909ca5c WHIRLPOOL 76826184a3e8ac3ea3f5c10c31a3630ad8bc37a1bce0d771fc250f1f53acb9dd2f888aa67adf946368a5baebcdab0306100ea0e632dcd36edd81cdcd1a247838 diff --git a/app-editors/retext/metadata.xml b/app-editors/retext/metadata.xml new file mode 100644 index 000000000000..a15ee1f31362 --- /dev/null +++ b/app-editors/retext/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>jlec@gentoo.org</email> + </maintainer> + <maintainer> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + <description>CC him on bugs</description> + </maintainer> + <upstream> + <remote-id type="sourceforge">retext</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/retext/retext-4.1.3.ebuild b/app-editors/retext/retext-4.1.3.ebuild new file mode 100644 index 000000000000..2bd26489ca97 --- /dev/null +++ b/app-editors/retext/retext-4.1.3.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python3_{3,4} ) + +PLOCALES="ca cs cy da de es et eu fr it ja pl pt pt_BR ru sk uk zh_CN zh_TW" + +inherit distutils-r1 l10n + +MY_PN="ReText" +MY_P="${MY_PN}-${PV/_/~}" + +if [[ ${PV} == *9999* ]] ; then + inherit git-2 + EGIT_REPO_URI="git://git.code.sf.net/p/retext/git" + KEYWORDS="" +else + SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + KEYWORDS="amd64 x86" +fi + +DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText" +HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+spell" + +RDEPEND+=" + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/markups[${PYTHON_USEDEP}] + dev-python/PyQt4[webkit,${PYTHON_USEDEP}] + spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] ) +" + +S="${WORKDIR}"/${MY_P} + +remove_locale() { + find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}." +} + +python_install_all() { + distutils-r1_python_install_all + + newicon {icons/,}${PN}.png + newicon {icons/,}${PN}.svg + + l10n_for_each_disabled_locale_do remove_locale + + make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor" +} diff --git a/app-editors/retext/retext-5.0.2.ebuild b/app-editors/retext/retext-5.0.2.ebuild new file mode 100644 index 000000000000..d4ea07735488 --- /dev/null +++ b/app-editors/retext/retext-5.0.2.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python3_{3,4} ) + +PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk uk vi zh_CN zh_TW" + +inherit distutils-r1 l10n + +MY_PN="ReText" +MY_P="${MY_PN}-${PV/_/~}" + +if [[ ${PV} == *9999* ]] ; then + inherit git-2 + EGIT_REPO_URI="git://git.code.sf.net/p/retext/git" + KEYWORDS="" +else + SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText" +HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+spell" + +RDEPEND=" + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/markups[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}] + spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] ) +" + +S="${WORKDIR}"/${MY_P} + +remove_locale() { + find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}." +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + + newicon {icons/,}${PN}.png + newicon {icons/,}${PN}.svg + + l10n_for_each_disabled_locale_do remove_locale + + make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor" +} diff --git a/app-editors/retext/retext-5.1.0.ebuild b/app-editors/retext/retext-5.1.0.ebuild new file mode 100644 index 000000000000..930c4da09201 --- /dev/null +++ b/app-editors/retext/retext-5.1.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python3_{3,4} ) + +PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk vi zh_CN zh_TW" + +inherit distutils-r1 l10n + +MY_PN="ReText" +MY_P="${MY_PN}-${PV/_/~}" + +if [[ ${PV} == *9999* ]] ; then + inherit git-2 + EGIT_REPO_URI="git://git.code.sf.net/p/retext/git" + KEYWORDS="" +else + SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText" +HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+spell" + +RDEPEND=" + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/markups[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}] + spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] ) +" + +S="${WORKDIR}"/${MY_P} + +remove_locale() { + find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}." +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + + newicon {icons/,}${PN}.png + newicon {icons/,}${PN}.svg + + l10n_for_each_disabled_locale_do remove_locale + + make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor" +} diff --git a/app-editors/retext/retext-9999.ebuild b/app-editors/retext/retext-9999.ebuild new file mode 100644 index 000000000000..5a8abca27376 --- /dev/null +++ b/app-editors/retext/retext-9999.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python3_{3,4} ) + +PLOCALES="ca cs cy da de es et eu fr it ja pl pt pt_BR ru sk uk vi zh_CN zh_TW" + +inherit distutils-r1 l10n + +MY_PN="ReText" +MY_P="${MY_PN}-${PV/_/~}" + +if [[ ${PV} == *9999* ]] ; then + inherit git-2 + EGIT_REPO_URI="git://git.code.sf.net/p/retext/git" + KEYWORDS="" +else + SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText" +HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+spell" + +RDEPEND=" + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/markups[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}] + spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] ) +" + +S="${WORKDIR}"/${MY_P} + +remove_locale() { + find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}." +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + + newicon {icons/,}${PN}.png + newicon {icons/,}${PN}.svg + + l10n_for_each_disabled_locale_do remove_locale + + make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor" +} diff --git a/app-editors/sandy/Manifest b/app-editors/sandy/Manifest new file mode 100644 index 000000000000..bb5fc01d1e21 --- /dev/null +++ b/app-editors/sandy/Manifest @@ -0,0 +1 @@ +DIST sandy-0.4.tar.bz2 18309 SHA256 d30336704178611f36a55982932369c6dd55a781e22735bb7dfcb3e4b939492a SHA512 3579436d6566b9ef3273abb7bb1d8934901155220edb963a0ed93db4b860e1e3fa0d0f1235ea87b42f1b6ddbb69e3ef1f5ba7a2e9455d6659b621d9a4e3f25c2 WHIRLPOOL 5e1042ebab68bd2f0e71c25dbd15a35ec06e4b953b3a44637c52cc0949dcddc44131ef64324eac1ba00f49bf0421ac0600f884daded73608bc1aca3cce22bb17 diff --git a/app-editors/sandy/files/sandy-0.4-gentoo.patch b/app-editors/sandy/files/sandy-0.4-gentoo.patch new file mode 100644 index 000000000000..877c96805ef4 --- /dev/null +++ b/app-editors/sandy/files/sandy-0.4-gentoo.patch @@ -0,0 +1,49 @@ +--- a/config.mk ++++ b/config.mk +@@ -9,19 +9,19 @@ + + # includes and libs (ncurses) + INCS = -I. -I/usr/include +-LIBS = -L/usr/lib -lc -lncursesw ++LIBS = $(shell ${PKG_CONFIG} --libs ncurses) + + # flags +-CPPFLAGS = -DVERSION=\"${VERSION}\" ++CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE + #CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} + #LDFLAGS = -s ${LIBS} +-CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} +-LDFLAGS = ${LIBS} ++CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} ++LDFLAGS += ${LIBS} + + # Solaris + #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" + #LDFLAGS = ${LIBS} + + # compiler and linker +-CC = cc ++CC ?= cc + +--- a/Makefile ++++ b/Makefile +@@ -15,8 +15,7 @@ + @echo "CC = ${CC}" + + .c.o: +- @echo CC $< +- @${CC} -c ${CFLAGS} $< ++ ${CC} -c ${CFLAGS} $< + + ${OBJ}: config.h config.mk + +@@ -25,8 +24,7 @@ + @cp config.def.h $@ + + sandy: ${OBJ} +- @echo CC -o $@ +- @${CC} -o $@ sandy.o ${LDFLAGS} ++ ${CC} ${CFLAGS} -o $@ sandy.o ${LDFLAGS} + + clean: + @echo cleaning diff --git a/app-editors/sandy/metadata.xml b/app-editors/sandy/metadata.xml new file mode 100644 index 000000000000..3fcf9a077c2a --- /dev/null +++ b/app-editors/sandy/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> +<email>jer@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/app-editors/sandy/sandy-0.4.ebuild b/app-editors/sandy/sandy-0.4.ebuild new file mode 100644 index 000000000000..76cc1bc27d6e --- /dev/null +++ b/app-editors/sandy/sandy-0.4.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils flag-o-matic toolchain-funcs + +DESCRIPTION="an ncurses text editor with an easy-to-read, hackable C source" +HOMEPAGE="http://tools.suckless.org/sandy" +SRC_URI="http://git.suckless.org/${PN}/snapshot/${P}.tar.bz2" + +LICENSE="MIT-with-advertising" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="sys-libs/ncurses" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.4-gentoo.patch +} + +src_compile() { + tc-export CC PKG_CONFIG + append-cflags -D_DEFAULT_SOURCE + emake PREFIX=/usr ${PN} +} + +src_install() { + emake PREFIX=/usr DESTDIR="${D}" install +} diff --git a/app-editors/scite/Manifest b/app-editors/scite/Manifest new file mode 100644 index 000000000000..122c10a2dfbb --- /dev/null +++ b/app-editors/scite/Manifest @@ -0,0 +1,3 @@ +DIST scite352.tgz 2277393 SHA256 d1b9a12f1b8ea80f28564a1695146a59b4a03099c8ca8693e3a9ce02bb0a2836 SHA512 01bf36dbb4d02f3693a759f778110b913dfbb733d0a5d006c5de78cb627c3511e821b62fa0a410174c09917a09d41d9a94535a14b7a4c77801eafaace15a586d WHIRLPOOL ee39f57944ef60182a3ac8a409cfd4829cfdee85a7b9b91b2722bd3d9d8b2a6f480cd8db1281826f4a9543575ae99dfc66cfe905592a2acae9ad7728d5862695 +DIST scite354.tgz 2301246 SHA256 96041bb6a3aed321e353db7c8fcde720b99cab98cbfa2ef62a5e07dd523e1495 SHA512 213f9d3ac359541f8ae2ec6166770b6cd20631ffc82e9de3b0a23753c2913f232544b4a8001a697042ff7bb4dec72f1d0b1148124fea386d925a7d394b8995e7 WHIRLPOOL 348c64b4d7019935cac018d1f2fcb8aac4713762ffdd766c309a8d7114bbe58f769709a3e5d8d446d58f60f8715d4b1e0ef04dc36b69096d7f9ce0f2c7d50a30 +DIST scite355.tgz 2302137 SHA256 20515597ac986f1727c97bda2c27d88487ddb79cfe330b0b890b5e25330b7d9f SHA512 cdd9d3aa621f5d31632cfb9f71524255a4b47b70a654bf4bc8a25a76f8a2dbe098a48e0cd4587ced8ca8455be7e809973e212fcbcde5b62087aa0f9528f7f40d WHIRLPOOL c901804481042b859be68f44ab728544e97975d61219a4bb576ba3da00bd663c8877e9b23b981a0295d759cae3e9afd037d981923086c6850ff29f01c43ec9f6 diff --git a/app-editors/scite/files/scite-3.0.1-no-lua.patch b/app-editors/scite/files/scite-3.0.1-no-lua.patch new file mode 100644 index 000000000000..d63416a81eb7 --- /dev/null +++ b/app-editors/scite/files/scite-3.0.1-no-lua.patch @@ -0,0 +1,16 @@ +diff -Nru 3.0.1.vanilla/scite/src/SciTEProps.cxx 3.0.1/scite/src/SciTEProps.cxx +--- 3.0.1.vanilla/scite/src/SciTEProps.cxx 2011-11-30 19:39:41.059801342 +0100 ++++ 3.0.1/scite/src/SciTEProps.cxx 2011-11-30 19:39:53.211835004 +0100 +@@ -1702,10 +1702,12 @@ + + // return the int value of the command name passed in. + int SciTEBase::GetMenuCommandAsInt(SString commandName) { ++#ifndef NO_LUA + int i = IFaceTable::FindConstant(commandName.c_str()); + if (i != -1) { + return IFaceTable::constants[i].value; + } ++#endif + // Otherwise we might have entered a number as command to access a "SCI_" command + return commandName.value(); + } diff --git a/app-editors/scite/files/scite.desktop b/app-editors/scite/files/scite.desktop new file mode 100644 index 000000000000..757e9f4e71d0 --- /dev/null +++ b/app-editors/scite/files/scite.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=SciTE Text Editor +Comment=Text Editor +Exec=scite +Icon=Sci48M +Terminal=false +Type=Application +Categories=Development; diff --git a/app-editors/scite/metadata.xml b/app-editors/scite/metadata.xml new file mode 100644 index 000000000000..ad77fe863a08 --- /dev/null +++ b/app-editors/scite/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>ervin.peters@ervnet.de</email> + <name>Ervin Peters</name> + <description>Maintainer. Assign bugs to him</description> + </maintainer> + <upstream> + <remote-id type="sourceforge">scintilla</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/scite/scite-3.5.2.ebuild b/app-editors/scite/scite-3.5.2.ebuild new file mode 100644 index 000000000000..17e3abccbc52 --- /dev/null +++ b/app-editors/scite/scite-3.5.2.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit toolchain-funcs eutils + +MY_PV=${PV//./} +DESCRIPTION="A very powerful editor for programmers" +HOMEPAGE="http://www.scintilla.org/SciTE.html" +SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz" + +LICENSE="HPND lua? ( MIT )" +SLOT="0" +KEYWORDS="amd64 ppc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux" +IUSE="lua" + +RDEPEND="dev-libs/glib:2 + x11-libs/cairo + x11-libs/gtk+:2 + x11-libs/gdk-pixbuf + x11-libs/pango + lua? ( >=dev-lang/lua-5:0= )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-apps/sed-4" + +S="${WORKDIR}/${PN}/gtk" + +src_prepare() { + cd "${WORKDIR}/scintilla/gtk" + sed -i makefile \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e "s#-Os##" \ + || die "error patching makefile" + + cd "${WORKDIR}/scite/gtk" + sed -i makefile \ + -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \ + || die "error patching makefile" + + cd "${S}" + sed -i makefile \ + -e 's#usr/local#usr#g' \ + -e 's#/gnome/apps/Applications#/applications#' \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e 's#${D}##' \ + -e 's#-g root#-g 0#' \ + -e "s#-Os##" \ + || die "error patching makefile" + cd "${WORKDIR}" + epatch "${FILESDIR}/${PN}-3.0.1-no-lua.patch" +} + +src_compile() { + emake -C ../../scintilla/gtk AR="$(tc-getAR)" + if use lua; then + emake + else + emake NO_LUA=1 + fi +} + +src_install() { + dodir /usr/bin + dodir /usr/share/{pixmaps,applications} + + emake prefix="${ED}/usr" install + + # we have to keep this because otherwise it'll break upgrading + mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die + dosym /usr/bin/scite /usr/bin/SciTE + + # replace .desktop file with our own working version + rm -f "${ED}/usr/share/applications/SciTE.desktop" || die + domenu "${FILESDIR}/scite.desktop" + + doman ../doc/scite.1 + dodoc ../README +} diff --git a/app-editors/scite/scite-3.5.4.ebuild b/app-editors/scite/scite-3.5.4.ebuild new file mode 100644 index 000000000000..f17d015193c2 --- /dev/null +++ b/app-editors/scite/scite-3.5.4.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit toolchain-funcs eutils + +MY_PV=${PV//./} +DESCRIPTION="A very powerful editor for programmers" +HOMEPAGE="http://www.scintilla.org/SciTE.html" +SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz" + +LICENSE="HPND lua? ( MIT )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux" +IUSE="lua" + +RDEPEND="dev-libs/glib:2 + x11-libs/cairo + x11-libs/gtk+:2 + x11-libs/gdk-pixbuf + x11-libs/pango + lua? ( >=dev-lang/lua-5:0= )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-apps/sed-4" + +S="${WORKDIR}/${PN}/gtk" + +src_prepare() { + cd "${WORKDIR}/scintilla/gtk" + sed -i makefile \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e "s#-Os##" \ + || die "error patching makefile" + + cd "${WORKDIR}/scite/gtk" + sed -i makefile \ + -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \ + || die "error patching makefile" + + cd "${S}" + sed -i makefile \ + -e 's#usr/local#usr#g' \ + -e 's#/gnome/apps/Applications#/applications#' \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e 's#${D}##' \ + -e 's#-g root#-g 0#' \ + -e "s#-Os##" \ + || die "error patching makefile" +} + +src_compile() { + emake -C ../../scintilla/gtk AR="$(tc-getAR)" + if use lua; then + emake + else + emake NO_LUA=1 + fi +} + +src_install() { + dodir /usr/bin + dodir /usr/share/{pixmaps,applications} + + emake prefix="${ED}/usr" install + + # we have to keep this because otherwise it'll break upgrading + mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die + dosym /usr/bin/scite /usr/bin/SciTE + + # replace .desktop file with our own working version + rm -f "${ED}/usr/share/applications/SciTE.desktop" || die + domenu "${FILESDIR}/scite.desktop" + + doman ../doc/scite.1 + dodoc ../README +} diff --git a/app-editors/scite/scite-3.5.5.ebuild b/app-editors/scite/scite-3.5.5.ebuild new file mode 100644 index 000000000000..f17d015193c2 --- /dev/null +++ b/app-editors/scite/scite-3.5.5.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit toolchain-funcs eutils + +MY_PV=${PV//./} +DESCRIPTION="A very powerful editor for programmers" +HOMEPAGE="http://www.scintilla.org/SciTE.html" +SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz" + +LICENSE="HPND lua? ( MIT )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux" +IUSE="lua" + +RDEPEND="dev-libs/glib:2 + x11-libs/cairo + x11-libs/gtk+:2 + x11-libs/gdk-pixbuf + x11-libs/pango + lua? ( >=dev-lang/lua-5:0= )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-apps/sed-4" + +S="${WORKDIR}/${PN}/gtk" + +src_prepare() { + cd "${WORKDIR}/scintilla/gtk" + sed -i makefile \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e "s#-Os##" \ + || die "error patching makefile" + + cd "${WORKDIR}/scite/gtk" + sed -i makefile \ + -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \ + || die "error patching makefile" + + cd "${S}" + sed -i makefile \ + -e 's#usr/local#usr#g' \ + -e 's#/gnome/apps/Applications#/applications#' \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e 's#${D}##' \ + -e 's#-g root#-g 0#' \ + -e "s#-Os##" \ + || die "error patching makefile" +} + +src_compile() { + emake -C ../../scintilla/gtk AR="$(tc-getAR)" + if use lua; then + emake + else + emake NO_LUA=1 + fi +} + +src_install() { + dodir /usr/bin + dodir /usr/share/{pixmaps,applications} + + emake prefix="${ED}/usr" install + + # we have to keep this because otherwise it'll break upgrading + mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die + dosym /usr/bin/scite /usr/bin/SciTE + + # replace .desktop file with our own working version + rm -f "${ED}/usr/share/applications/SciTE.desktop" || die + domenu "${FILESDIR}/scite.desktop" + + doman ../doc/scite.1 + dodoc ../README +} diff --git a/app-editors/shed/Manifest b/app-editors/shed/Manifest new file mode 100644 index 000000000000..be3380374d1d --- /dev/null +++ b/app-editors/shed/Manifest @@ -0,0 +1,3 @@ +DIST shed-1.12.tar.gz 57934 SHA256 9645c991a2c155e8365d86b927807602156ba502bd0d65c050f60343aa5aa730 SHA512 f668245478b88e74911a5f6bc13629b1be9412056bfb42860554979904451b20cb468ae7a9b2daa8bea83d7f78d3d0c016170767dd80f0a93ba140a51ad02097 WHIRLPOOL c39d064b0a1eb7f43d9538837e07de970e926887a940a82c3f879a6b142ff12f625fcc56689c028f83c673ad644d248210c9498e32f6a8f5d08669b21790713f +DIST shed-1.13.tar.gz 78699 SHA256 d0a1aa6c30b907945608d478949a00ac2ef1b3f1783dbe391816665dc9cff423 SHA512 abea90115820c50bba140a486d74e28cd20704905bb868aa75b94a346faf8d1a0e0739f9558131cff9c5250ac9ef2505cc375f2bdf24c75b6ff464ba767c1832 WHIRLPOOL 950c36c5ffdedba1f3edc64b7371c5a68a0e6664f8a695b66f42c2ec2d5d1618aad39c7856734b9f922d4224199f0bfc4c750c7886650c2792c71b8c6389e85c +DIST shed-1.15.tar.gz 87777 SHA256 5bde9f146704ba552293b658a2e8e05acb0a14a1348925b19a296663539917c7 SHA512 fe401303e686fb11975b71de0f84d0cdb84dc5a48e1094356d012f95d8c956ed05bd6b39bf65af924212e83c1db45bbfe556342489150bb0e10fb4c832fb6c78 WHIRLPOOL 8588f739370309e54ac04e0a686e24adf3c236011ee57ca79846c63fae7038a934992ae0ab918eb4acab2ec1577d5c3aceaaded861620c2b75fbb2b1ee333058 diff --git a/app-editors/shed/files/shed-1.15-cflags.patch b/app-editors/shed/files/shed-1.15-cflags.patch new file mode 100644 index 000000000000..2b675f7449f7 --- /dev/null +++ b/app-editors/shed/files/shed-1.15-cflags.patch @@ -0,0 +1,11 @@ +--- a/configure.in ++++ b/configure.in +@@ -2,7 +2,7 @@ + AM_INIT_AUTOMAKE(shed,1.15) + AC_PROG_CC + AC_PROG_INSTALL +-CFLAGS="-Wall" ++CFLAGS="$CFLAGS -Wall" + AC_SUBST(CFLAGS) + + AC_ARG_ENABLE(debug, [ --enable-debug gcc -g],enable_debug=yes) diff --git a/app-editors/shed/files/shed-1.15-interix.patch b/app-editors/shed/files/shed-1.15-interix.patch new file mode 100644 index 000000000000..d496795477b4 --- /dev/null +++ b/app-editors/shed/files/shed-1.15-interix.patch @@ -0,0 +1,14 @@ +http://sourceforge.net/tracker/?func=detail&aid=3554634&group_id=21862&atid=374571 +--- a/shed.c ++++ b/shed.c +@@ -31,6 +31,10 @@ + #include <ctype.h> /* tolower */ + #include <unistd.h> /* dup, dup2 */ + ++#ifdef __INTERIX ++# include <sys/time.h> ++#endif ++ + #include "util.h" + + /* function prototypes */ diff --git a/app-editors/shed/files/shed-1.15-tinfo.patch b/app-editors/shed/files/shed-1.15-tinfo.patch new file mode 100644 index 000000000000..d1a406521c0f --- /dev/null +++ b/app-editors/shed/files/shed-1.15-tinfo.patch @@ -0,0 +1,12 @@ +--- a/configure.in ++++ b/configure.in +@@ -41,8 +41,7 @@ + fi + + ERR="Required package missing!" +-AC_CHECK_HEADER(ncurses.h,:,AC_MSG_ERROR([$ERR])) ++PKG_CHECK_MODULES(ncurses,ncurses,[LIBS="$LIBS $ncurses_LIBS"],AC_MSG_ERROR([$ERR])) + AC_CHECK_HEADER(getopt.h,:,AC_MSG_ERROR([$ERR])) +-AC_CHECK_LIB(ncurses,initscr) + AC_CHECK_LIB(m,pow) + AC_OUTPUT(Makefile) diff --git a/app-editors/shed/metadata.xml b/app-editors/shed/metadata.xml new file mode 100644 index 000000000000..6582ca35d1d2 --- /dev/null +++ b/app-editors/shed/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>hattya@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="sourceforge">shed</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/shed/shed-1.12.ebuild b/app-editors/shed/shed-1.12.ebuild new file mode 100644 index 000000000000..dc9d949435ac --- /dev/null +++ b/app-editors/shed/shed-1.12.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +DESCRIPTION="Simple Hex EDitor" +HOMEPAGE="http://shed.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" + +RDEPEND="sys-libs/ncurses" +DPEND="${RDEPEND}" + +src_compile() { + emake AM_CFLAGS="${CFLAGS}" +} diff --git a/app-editors/shed/shed-1.13.ebuild b/app-editors/shed/shed-1.13.ebuild new file mode 100644 index 000000000000..8bc54d2051c5 --- /dev/null +++ b/app-editors/shed/shed-1.13.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +DESCRIPTION="Simple Hex EDitor" +HOMEPAGE="http://shed.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="" + +RDEPEND="sys-libs/ncurses" +DPEND="${RDEPEND}" + +src_compile() { + emake AM_CFLAGS="${CFLAGS}" +} diff --git a/app-editors/shed/shed-1.15.ebuild b/app-editors/shed/shed-1.15.ebuild new file mode 100644 index 000000000000..46a212909f32 --- /dev/null +++ b/app-editors/shed/shed-1.15.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit autotools eutils + +DESCRIPTION="Simple Hex EDitor" +HOMEPAGE="http://shed.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos" + +RDEPEND="sys-libs/ncurses" +DEPEND=" + ${RDEPEND} + virtual/pkgconfig +" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-cflags.patch \ + "${FILESDIR}"/${P}-interix.patch \ + "${FILESDIR}"/${P}-tinfo.patch + eautoreconf +} diff --git a/app-editors/tea/Manifest b/app-editors/tea/Manifest new file mode 100644 index 000000000000..631584cfc4ab --- /dev/null +++ b/app-editors/tea/Manifest @@ -0,0 +1,2 @@ +DIST tea-36.0.2.tar.bz2 315046 SHA256 6541b645451de3f6eefce58b55a302224b925bdbdb9efcfa1491bcf867baad6f SHA512 e04df49e8381c69f0e2fb6900d6f095b0eb15bdc2d8fb935230129b2fef7560fd91936d66a2440d1922a6fc6c2e7d07e40fe1106b5cf22dd495bba667cf5def8 WHIRLPOOL 1da79f26126c98876ff6bfef04c799f476a204294466cbd47834748a12e8c59d10f7c2e36d4ebc089fcef21caca1beeab1293acee13da9af341466c117873e1f +DIST tea-41.0.0.tar.bz2 381891 SHA256 b20bfe3235a4f405bcd984adfabde2302a15cf8512e19f8b97bc43ce9911632b SHA512 aff52922be7650a23fcafe5a8106d5955bc7c68a901ad6a3982b71196ac8856939d3bc61236babbed21a749c2fc205510ef081ac35d7d33fcf2d2700ebb5cbaf WHIRLPOOL ed913f3fb424e47fbbecab445ccd9c34c9ad66befdda950fee05958459b87efad67cfea37548c5ab8456b849c860f0cd3ef59e386aaa99c01b5041dae02c1afc diff --git a/app-editors/tea/metadata.xml b/app-editors/tea/metadata.xml new file mode 100644 index 000000000000..79ad70798a5b --- /dev/null +++ b/app-editors/tea/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>qt</herd> + <longdescription> + A very small Qt text editor. It has lots of extra features including syntax + highlighting and a built in file manager as well as a built in image viewer. + It can also read lots of 'other' filetypes. + </longdescription> + <use> + <flag name="aspell">Enable spellchecking using <pkg>app-text/aspell</pkg></flag> + <flag name="hunspell">Enable spellchecking using <pkg>app-text/hunspell</pkg></flag> + </use> +</pkgmetadata> diff --git a/app-editors/tea/tea-36.0.2.ebuild b/app-editors/tea/tea-36.0.2.ebuild new file mode 100644 index 000000000000..306d38a2e234 --- /dev/null +++ b/app-editors/tea/tea-36.0.2.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PLOCALES="de fr ru" + +inherit eutils l10n qt4-r2 + +DESCRIPTION="Small, lightweight Qt text editor" +HOMEPAGE="http://semiletov.org/tea/" +SRC_URI="http://semiletov.org/${PN}/dloads/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~x86 ~x86-fbsd" +IUSE="aspell hunspell" + +RDEPEND=" + sys-libs/zlib + dev-qt/qtcore:4 + dev-qt/qtgui:4 + aspell? ( app-text/aspell ) + hunspell? ( app-text/hunspell ) +" +DEPEND="${RDEPEND} + hunspell? ( virtual/pkgconfig ) +" + +DOCS=( AUTHORS ChangeLog NEWS TODO ) + +src_configure() { + eqmake4 src.pro \ + PREFIX="${EPREFIX}/usr/bin" \ + USE_ASPELL=$(use aspell && echo true || echo false) \ + USE_HUNSPELL=$(use hunspell && echo true || echo false) +} + +src_install() { + qt4-r2_src_install + + newicon icons/tea_icon_v2.png ${PN}.png + make_desktop_entry ${PN} 'Tea Editor' + + # translations + insinto /usr/share/qt4/translations + local lang + for lang in $(l10n_get_locales); do + doins translations/${PN}_${lang}.qm + done + + # docs + dohtml manuals/en.html + if use linguas_ru; then + dodoc NEWS-RU + dohtml manuals/ru.html + fi +} diff --git a/app-editors/tea/tea-41.0.0.ebuild b/app-editors/tea/tea-41.0.0.ebuild new file mode 100644 index 000000000000..396aa853ef7b --- /dev/null +++ b/app-editors/tea/tea-41.0.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PLOCALES="de fr ru" + +inherit eutils l10n qmake-utils + +DESCRIPTION="Small, lightweight Qt text editor" +HOMEPAGE="http://semiletov.org/tea/ http://tea.ourproject.org/" +SRC_URI="http://semiletov.org/${PN}/dloads/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~x86 ~x86-fbsd" +IUSE="aspell hunspell" + +RDEPEND=" + dev-qt/qtcore:4 + dev-qt/qtgui:4 + sys-libs/zlib + aspell? ( app-text/aspell ) + hunspell? ( app-text/hunspell ) +" +DEPEND="${RDEPEND} + hunspell? ( virtual/pkgconfig ) +" + +DOCS=( AUTHORS ChangeLog NEWS TODO ) + +src_configure() { + eqmake4 src.pro \ + $(use aspell || echo CONFIG+=noaspell) \ + $(use hunspell || echo CONFIG+=nohunspell) +} + +src_install() { + dobin bin/tea + + newicon icons/tea-icon-v3-01.png ${PN}.png + make_desktop_entry ${PN} 'Tea Editor' + + # translations + insinto /usr/share/qt4/translations + local lang + for lang in $(l10n_get_locales); do + doins translations/${PN}_${lang}.qm + done + + # docs + dohtml manuals/en.html + if use linguas_ru; then + dodoc NEWS-RU + dohtml manuals/ru.html + fi +} diff --git a/app-editors/teco/Manifest b/app-editors/teco/Manifest new file mode 100644 index 000000000000..79ec4c152111 --- /dev/null +++ b/app-editors/teco/Manifest @@ -0,0 +1,5 @@ +DIST tech.txt.gz 1971 SHA256 b363c59a4e97793e0c7bd0011cfc6d6669621e7a8b7c98e88da0d098aae83b7c SHA512 8c74d813d7e1bcd2f911982a8b49fa8b97ff85475a4798ea23d9a25ef30ad7243cfc851525aea895eec1a2f69aad84b6cce890ee6a29763a63c1a6d1358a200f WHIRLPOOL 5814546368ee3a0794c098496c25b5ccfe63c84e72cc802edfdbfe415f4a1920d518496b67011c63d0e3ff950204af5c61bad0e1684c35b1c724a977b2145a5a +DIST teco.doc.gz 129896 SHA256 c2102dcfc223e5f8fe189b2dd75dfb6f8dbdf1e7509761c974da45e6ba115c66 SHA512 ea294aaa0d54de5b58ef645fbaf5c9512f5a27fb2b49b1120b4a712d01c6482f01a53ac2dac7c8eabdf110823a4556563cde828fc7416479b9c23157282e76da WHIRLPOOL 650e504660874a88170ca8e88735ac7e3c9a0587191aa56591c441949402ea170cf72f23084d85c2bd74de340a42585b64f9a93b45c2f4089fd4f9d2642394e8 +DIST teco.tar.gz 61305 SHA256 2d20d7246df15863a3cc485ee38706fd4dd8650aab0578d202913cc5750fc8e4 SHA512 686b3944a82d088a2fce12a9b770f4aa5f58aaadde064b3d3342114f0ece2d7cbae27d0e92fd026def6f62a3ff0dc82b37146e30a93b2ec195dc7f376b45fdf7 WHIRLPOOL 976dfcffd0dd9c40e97574c22efc99b8985484534a4f8f8deae218daad9ccc6c4f29e1c352ec0be5e73368993d3d04e757b708ca325b42b8fa3c1e71ae2e42b9 +DIST tecolore.txt.gz 7039 SHA256 a7cd56d4d9bce8befd8d73fe8cbb1ab22740571f52354880c84ffd0fcd22d884 SHA512 f8b66637dd140057331bb950b639f755b7d2a58c6d9feb5c89c062350f3213b40f4e955c586643312b4bcdcfd5ce67c621c8f7351e08a4303be35af967ce206e WHIRLPOOL c847df458b938d3b6a5d41ea868bbf1107a191cd5cf0f5e93e93d8c8c1f1fb55574bf5db9768fbfbf520d5306ffdae8b0915167e9a7a6ff958b9a286df077cc3 +DIST tecoprog.doc.gz 15629 SHA256 8e0349b73ffcd22c668d81ea1427f93324d8f236862847634f7118fd4cde26d7 SHA512 f49de461d6411345e9e72b51bf39bc1155acc07901b54d8fda94b99a4a573005ccffc475ef8aac3bfc0b8bd246dc0077399d4bcef70e8a5e753c45995df7ad55 WHIRLPOOL 17a80c2ee2c66509689359103167c6e6c2809f8a3f54d6293de8288f37641491a34ead63691572e99e84e07c39565f441f6b56e5a8c9e20ae32f5641dac69a45 diff --git a/app-editors/teco/files/teco-double-free.diff b/app-editors/teco/files/teco-double-free.diff new file mode 100644 index 000000000000..5a62b23d90be --- /dev/null +++ b/app-editors/teco/files/teco-double-free.diff @@ -0,0 +1,20 @@ +--- te_exec2.c 1993-11-12 21:12:47.000000000 +0000 ++++ te_exec2.c.new 2005-08-21 18:31:26.495907720 +0100 +@@ -197,7 +197,7 @@ + { + if (eisw) /* if ending a file execute, restore the previous "old command string" */ + { +- fclose(eisw); /* return the file descriptor */ ++ fclose(eisw), eisw = NULL; /* return the file descriptor */ + dly_free_blist(cbuf.f); /* return the command string used by the file (after execution done) */ + cbuf.f = oldcstring.f; + cbuf.z = oldcstring.z; +@@ -214,7 +214,7 @@ + oldcstring.z = cbuf.z; + cbuf.f = NULL; /* and make it inaccessible to "rdcmd" */ + } +- if (eisw) fclose(eisw); /* if a command file had been open, close it */ ++ if (eisw) fclose(eisw), eisw = NULL; /* if a command file had been open, close it */ + esp->val1 = (eisw = t_eisw) ? -1 : 0; + esp->flag1 = colonflag; + colonflag = 0; diff --git a/app-editors/teco/files/teco-gcc4.patch b/app-editors/teco/files/teco-gcc4.patch new file mode 100644 index 000000000000..fe4d8d3759b4 --- /dev/null +++ b/app-editors/teco/files/teco-gcc4.patch @@ -0,0 +1,11 @@ +--- te_subs.c.orig 2007-03-18 19:58:40 +0100 ++++ te_subs.c 2007-03-18 19:58:57 +0100 +@@ -231,7 +231,7 @@ + char c; + { + if (isdigit(c)) return(c - '0' + 1); +- else if isalpha(c) return(mapch_l[c] - 'a' + 11); ++ else if (isalpha(c)) return(mapch_l[c] - 'a' + 11); + else if (fors) + { + if (c == '_') return (SERBUF); diff --git a/app-editors/teco/files/teco-warnings.patch b/app-editors/teco/files/teco-warnings.patch new file mode 100644 index 000000000000..f8bbfbfff181 --- /dev/null +++ b/app-editors/teco/files/teco-warnings.patch @@ -0,0 +1,47 @@ +Include stdlib.h for exit(3). +Fix conflicting type for malloc(3). +Avoid casting pointers from/to int. + +--- teco-orig/te_defs.h ++++ teco/te_defs.h +@@ -6,6 +6,7 @@ + /* version for multiple buffers 04/19/89 11.25 */ + + #include <stdio.h> ++#include <stdlib.h> + #include <ctype.h> + #include <setjmp.h> + +--- teco-orig/te_rdcmd.c ++++ teco/te_rdcmd.c +@@ -94,7 +94,8 @@ + qreg[i].f = cbuf.f; /* put the old command string in its place */ + if (qreg[i].f) qreg[i].f->b = (struct buffcell *) &qreg[i]; + qreg[i].z = cbuf.z; +- cbuf.f = (struct buffcell *) (cbuf.z = 0); /* no old command string */ ++ cbuf.f = NULL; /* no old command string */ ++ cbuf.z = 0; + err = 0; /* no previous error */ + goto restart; + } +--- teco-orig/te_utils.c ++++ teco/te_utils.c +@@ -13,7 +13,6 @@ + + struct buffcell *get_bcell() + { +- char *malloc(); + struct buffcell *p; + int i; + +--- teco-orig/te_window.c ++++ teco/te_window.c +@@ -1051,7 +1051,7 @@ + pp->c = loc % CELLSIZE; + pp->dot = loc; + } +- return( (int) pb0->f); ++ return(pb0->f != NULL); + } + + /* routine to move N lines (back, forward, or 0) */ diff --git a/app-editors/teco/metadata.xml b/app-editors/teco/metadata.xml new file mode 100644 index 000000000000..871e92f06b8d --- /dev/null +++ b/app-editors/teco/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> + <email>ulm@gentoo.org</email> + <name>Ulrich Müller</name> +</maintainer> +<longdescription lang="en"> + TECO /tee'koh/ /n.,v. obs./ 1. [originally an acronym for `[paper] + Tape Editor and COrrector'; later, `Text Editor and COrrector'] /n./ + A text editor developed at MIT and modified by just about everybody. + With all the dialects included, TECO may have been the most prolific + editor in use before EMACS, to which it was directly ancestral. + Noted for its powerful programming-language-like features and its + unspeakably hairy syntax. It is literally the case that every string + of characters is a valid TECO program (though probably not a useful + one); one common game used to be mentally working out what the TECO + commands corresponding to human names did. + + In mid-1991, TECO is pretty much one with the dust of history, + having been replaced in the affections of hackerdom by EMACS. + Descendants of an early (and somewhat lobotomized) version adopted + by DEC can still be found lurking on VMS and a couple of crufty + PDP-11 operating systems, however, and ports of the more advanced + MIT versions remain the focus of some antiquarian interest. +</longdescription> +</pkgmetadata> diff --git a/app-editors/teco/teco-1.00-r4.ebuild b/app-editors/teco/teco-1.00-r4.ebuild new file mode 100644 index 000000000000..1acf2f9a3fcf --- /dev/null +++ b/app-editors/teco/teco-1.00-r4.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs flag-o-matic readme.gentoo + +DESCRIPTION="Classic TECO editor, Predecessor to EMACS" +HOMEPAGE="http://www.ibiblio.org/pub/linux/apps/editors/tty/ http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco" +SRC_URI="http://www.ibiblio.org/pub/linux/apps/editors/tty/teco.tar.gz + doc? ( mirror://gentoo/tecolore.txt.gz + mirror://gentoo/tech.txt.gz + mirror://gentoo/teco.doc.gz + mirror://gentoo/tecoprog.doc.gz )" + +LICENSE="freedist" +SLOT="0" +KEYWORDS="alpha amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="doc" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}" + +src_unpack() { + unpack teco.tar.gz + if use doc; then + mkdir doc + cd doc || die + unpack tecolore.txt.gz tech.txt.gz teco.doc.gz tecoprog.doc.gz + fi +} + +src_prepare() { + local pkg_config=$("$(tc-getPKG_CONFIG)" --libs ncurses) + sed -i -e "s:\$(CC):& \$(LDFLAGS):;s:-ltermcap:${pkg_config}:" \ + Makefile || die + # bug 103257 + epatch "${FILESDIR}"/${PN}-double-free.diff + epatch "${FILESDIR}"/${PN}-gcc4.patch + epatch "${FILESDIR}"/${PN}-warnings.patch +} + +src_compile() { + append-flags -ansi + append-cppflags -D_POSIX_SOURCE + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" +} + +src_install() { + dobin te + doman te.1 + dodoc sample.tecorc sample.tecorc2 READ.ME MANIFEST + if use doc; then + cd doc + dodoc tecolore.txt tech.txt teco.doc tecoprog.doc + fi + + DOC_CONTENTS="The TECO binary is called te. + \nSample configurations and documentation are available + in /usr/share/doc/${PF}/." + readme.gentoo_create_doc +} diff --git a/app-editors/ted/Manifest b/app-editors/ted/Manifest new file mode 100644 index 000000000000..5afd480f9060 --- /dev/null +++ b/app-editors/ted/Manifest @@ -0,0 +1 @@ +DIST ted-2.23.src.tar.gz 4672208 SHA256 3fa992c2bc96af3ca788ef941cb5314f4a1d843202efd0201b8b4ee9adbf316c SHA512 c6541e5a07545a08b30cb9b33429d9a7675f9252df32ccca5cdb4f2ff09978085d28d015a42922baf8c95db1ea6379a9d1088541aafd9ce45b8870212496849f WHIRLPOOL 14f757dbc3cee1adae3abcc63ce32d9ebec4de5d5764060826321469a6d2c18339d239e9c0b084aaeb9979595d42411d1f86efb6280e85b7f4e8ea91db7775cd diff --git a/app-editors/ted/files/ted-2.23-make.patch b/app-editors/ted/files/ted-2.23-make.patch new file mode 100644 index 000000000000..f97093b47648 --- /dev/null +++ b/app-editors/ted/files/ted-2.23-make.patch @@ -0,0 +1,11 @@ +--- Makefile.orig 2013-04-01 13:24:45.854051804 +0400 ++++ Makefile 2013-04-01 13:25:02.618052336 +0400 +@@ -246,7 +246,7 @@ + : To install Ted, you can now run 'make install' AS ROOT + + package.shared: compile.shared tedPackage/makefile +- cd tedPackage && make package.shared ++ cd tedPackage && $(MAKE) package.shared + : + : Dynamically linked package ready. + : To install Ted, you can now run 'make install' AS ROOT diff --git a/app-editors/ted/metadata.xml b/app-editors/ted/metadata.xml new file mode 100644 index 000000000000..91f4e72fb544 --- /dev/null +++ b/app-editors/ted/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/ted/ted-2.23.ebuild b/app-editors/ted/ted-2.23.ebuild new file mode 100644 index 000000000000..5e52affa3b1a --- /dev/null +++ b/app-editors/ted/ted-2.23.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils toolchain-funcs + +DESCRIPTION="X-based rich text editor" +HOMEPAGE="http://www.nllgg.nl/Ted" +SRC_URI="ftp://ftp.nluug.nl/pub/editors/ted/${P}.src.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc sparc x86" + +RDEPEND="x11-libs/gtk+:2 + media-libs/tiff + virtual/jpeg + media-libs/libpng + x11-libs/libXft + x11-libs/libXpm" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/Ted-${PV}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-make.patch + + sed -i -e 's|/Ted/|/share/Ted/|' \ + "${S}"/appFrame/appFrameConfig.h.in \ + "${S}"/Ted/tedConfig.h.in || die + + # bug #461256 + find . -name makefile.in -exec sed -i -e '/ar r/s/ar/$(AR)/' {} \; || die + + # force to build dynamic binary, do not strip it + sed -i \ + -e 's/.static//g' \ + -e '/strip/d' \ + tedPackage/makefile.in || die 'sed failed on tedPackage/makefile.in' + + # Fix build with freetype-2.5 + sed -i "s|^\(#[ \t]*include[ \t]*<\)freetype/|\1|" appFrame/appFontConfig.c || die + + mkdir lib || die +} + +src_configure() { + tc-export AR CC RANLIB + + local dir + for dir in appFrame appUtil bitmap docBuf ind Ted tedPackage; do + cd "${S}"/${dir} + econf --cache-file=../config.cache || die "configure in ${dir} failed" + done +} + +src_compile() { + emake package.shared +} + +src_install() { + default + dosym /usr/share/Ted/examples/rtf2pdf.sh /usr/bin/rtf2pdf.sh +} diff --git a/app-editors/uemacs-pk/Manifest b/app-editors/uemacs-pk/Manifest new file mode 100644 index 000000000000..d8ed12ff9f05 --- /dev/null +++ b/app-editors/uemacs-pk/Manifest @@ -0,0 +1,2 @@ +DIST uemacs-4.0.15_p20130222.tar.xz 151928 SHA256 eafab30840c684006876133f5d5042df19fa31ca3cf69a4e38998d950d5ec5ba SHA512 1815acba3b5165c5df0f71d34d687cd0022e7fc812bdd2cdd6778e371dd0e08ede4f670b241cf75c65f16f63f464017b83a113a1db4f0265e81441cc6dec3c0e WHIRLPOOL 5767f13984e61c82e41e68c034d48dd11aeef67433be4918e7eaf2c6e2870b52a43d71994b106287d3fddbcbf78ad2dd4d9e5807384a1712930161f6f46d74fe +DIST uemacs-4.0.15_p20141208.tar.xz 151500 SHA256 271cf8afde5e069d5b22dfdb93ace83367a89ab9ebfb753e62219d3003633a62 SHA512 a632c82275ee652412aec7d8f3549d80c5fd5bb1211675828ec4c58365bb7819927ff4e92f6fb7b5b9030b681062773ea19f1af345d4d3ddb652c3d68507bdbb WHIRLPOOL aba112d6142a40b439300ab78c206d2cd4271486d45530c9a1500705ba46cbca03df11f1d0242bed1dd7701394c86a8349eb5661f3145ddd01a8f45ae5e478e7 diff --git a/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch b/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch new file mode 100644 index 000000000000..8ec03062f922 --- /dev/null +++ b/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch @@ -0,0 +1,15 @@ +--- uemacs-orig/epath.h ++++ uemacs/epath.h +@@ -25,10 +25,8 @@ + #if V7 | BSD | USG + { + ".emacsrc", "emacs.hlp", +-#if PKCODE +- "/usr/global/lib/", "/usr/local/bin/", "/usr/local/lib/", +-#endif +-"/usr/local/", "/usr/lib/", ""}; ++ "/etc/uemacs-pk/", "/usr/share/uemacs-pk/", "" ++}; + #endif + + #if VMS diff --git a/app-editors/uemacs-pk/metadata.xml b/app-editors/uemacs-pk/metadata.xml new file mode 100644 index 000000000000..62e65fab2924 --- /dev/null +++ b/app-editors/uemacs-pk/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> + WHAT IS uEmacs/PK? + + uEmacs/PK 4.0 is an enhanced version of MicroEMACS 3.9e. Enhancements have + been incorporated by Petri H. Kutvonen, University of Helsinki, Finland, + kutvonen@cs.Helsinki.FI. + + WHY IS IT BASED ON AN OLD VERSION OF MicroEMACS? + + In my opinion 3.9e was the best of all MicroEMACSes. Creeping featurism, + growing size, and reduced portability made versions 3.10 and 3.11 less + attractive. MicroEMACS 3.9e was one of the few editors that were truly + portable between different flavours of UNIX, PC/MS-DOS, and VAX/VMS. It was + pretty robust - although not flawless. uEmacs/PK 4.0 includes numerous bug + fixes, adds some new functionality and comfort but does not sacrifice the + best things (small size and portability). +</longdescription> +</pkgmetadata> diff --git a/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20130222.ebuild b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20130222.ebuild new file mode 100644 index 000000000000..05cd4f5b9614 --- /dev/null +++ b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20130222.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="uEmacs/PK is an enhanced version of MicroEMACS" +HOMEPAGE="http://git.kernel.org/?p=editors/uemacs/uemacs.git;a=summary + ftp://ftp.cs.helsinki.fi/pub/Software/Local/uEmacs-PK" +# snapshot from git repo +SRC_URI="http://dev.gentoo.org/~ulm/distfiles/uemacs-${PV}.tar.xz" + +LICENSE="free-noncomm" +SLOT="0" +KEYWORDS="amd64 x86 ~x86-fbsd" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/uemacs" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-4.0.15_p20110825-gentoo.patch +} + +src_compile() { + emake V=1 \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} + +src_install() { + dobin em + insinto /usr/share/${PN} + doins emacs.hlp + newins emacs.rc .emacsrc + dodoc README readme.39e emacs.ps UTF-8-demo.txt +} diff --git a/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild new file mode 100644 index 000000000000..4fc0a47ceb06 --- /dev/null +++ b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +DESCRIPTION="uEmacs/PK is an enhanced version of MicroEMACS" +HOMEPAGE="http://git.kernel.org/?p=editors/uemacs/uemacs.git;a=summary + ftp://ftp.cs.helsinki.fi/pub/Software/Local/uEmacs-PK" +# snapshot from git repo +SRC_URI="http://dev.gentoo.org/~ulm/distfiles/uemacs-${PV}.tar.xz" + +LICENSE="free-noncomm" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/uemacs" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-4.0.15_p20110825-gentoo.patch +} + +src_compile() { + emake V=1 \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} + +src_install() { + dobin em + insinto /usr/share/${PN} + doins emacs.hlp + newins emacs.rc .emacsrc + dodoc README readme.39e emacs.ps UTF-8-demo.txt +} diff --git a/app-editors/vile/Manifest b/app-editors/vile/Manifest new file mode 100644 index 000000000000..4980defc1cf5 --- /dev/null +++ b/app-editors/vile/Manifest @@ -0,0 +1,3 @@ +DIST vile-9.8k.tgz 2278349 SHA256 af8386a43fdf82ba3c8e4187b8fe850543c5baac769cf26bb2b437e5b3689e24 SHA512 93dce951701f156ebe5aecd39a86556658334a2f262919974bd302238e4b78a63ea6a675fc47fd5b170055e7fba8134db27ff26076be0d1b0cf7a58d697b5836 WHIRLPOOL e75ded06e6eb5234a673a92d27ceb1632150c60e580a27e0c00267a147a3b02005afb62843e373a3112ed8a353f230d4101ad1adfa0a045cba47d21f1b301a20 +DIST vile-9.8n.tgz 2300678 SHA256 36cea866603483e43e705ba1a96d0d52dc81f9c0d97fbefe5150c50b04b258bb SHA512 c87350325f47ef9338d9e7dca1a22b0d2c23b632cc2338ab07b00a986fc911f2bfbb05c9dcb98f4b606c2f2d0294dec26bcbf45a711cb6ad25c3ecf4b84c9037 WHIRLPOOL 16be864f128b256049a6d0e7cd39a3256415eabec66bcc632db09c6e5d07ef72b775fe28c38c2cfa805e0a495d3bf83d25ac9c5c6d3decaa5c165c91ee5558b1 +DIST vile-9.8o.tgz 2304783 SHA256 45625c060cb9da3d68bba0d308fa61cb6a1cd7c7fd8b0e83aba8890632a19b24 SHA512 ddcc01b47990cc603f4af2c4738ed989d2be51018aa0bbc96079771f2809f11df160c6bc597dc50bf30f47ef5ec7c78646cbc19d7c381ef836de7bdb884bab87 WHIRLPOOL 746e2face1cbf0881cc2c10a57b5d412a30668805a62c8f5db64ffb20e9a74285ef1e5a05e6d607530705427360b13a1cb22dd62ae1dfe02ac190e1bfea518cd diff --git a/app-editors/vile/files/vile-9.8h-flex.patch b/app-editors/vile/files/vile-9.8h-flex.patch new file mode 100644 index 000000000000..bb1c1c301110 --- /dev/null +++ b/app-editors/vile/files/vile-9.8h-flex.patch @@ -0,0 +1,30 @@ +--- vile-9.8h/filters/filters.h ++++ vile-9.8h/filters/filters.h +@@ -200,27 +200,6 @@ + #endif + #endif /* __GNUC__ */ + +-/* +- * 2003/5/20 - "new" flex 2.5.31: +- * workaround for "developers" who don't use compiler-warnings... +- * perhaps by the time "new" flex merits the term "beta", they'll fix this: +- */ +-#if defined(FLEX_BETA) +-extern FILE *yyget_in (void); +-extern FILE *yyget_out (void); +-extern char *yyget_text (void); +-extern int yyget_debug (void); +-extern int yyget_leng (void); +-extern int yyget_lineno (void); +-extern int yylex_destroy (void); +-extern void yyset_debug (int bdebug); +-extern void yyset_in (FILE * in_str); +-extern void yyset_lineno (int line_number); +-extern void yyset_out (FILE * out_str); +-/* there's also warnings for unused 'yyunput()', but I don't see a fix */ +-/* flex's skeleton includes <unistd.h> - no particular reason apparent */ +-#endif +- + #define YY_NO_INPUT 1 /* get rid of 'input()' function */ + + /* diff --git a/app-editors/vile/metadata.xml b/app-editors/vile/metadata.xml new file mode 100644 index 000000000000..d221a8d4b42c --- /dev/null +++ b/app-editors/vile/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/vile/vile-9.8k.ebuild b/app-editors/vile/vile-9.8k.ebuild new file mode 100644 index 000000000000..328ca7a3f0ad --- /dev/null +++ b/app-editors/vile/vile-9.8k.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils + +DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone" +HOMEPAGE="http://invisible-island.net/vile/" +SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ppc sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="perl" + +RDEPEND=">=sys-libs/ncurses-5.2 + perl? ( dev-lang/perl )" +DEPEND="${RDEPEND} + sys-devel/flex + app-eselect/eselect-vi" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-9.8h-flex.patch +} + +src_configure() { + econf \ + --with-ncurses \ + $(use_with perl ) +} + +src_install() { + emake DESTDIR="${D}" install + dodoc CHANGES* README doc/*.doc + dohtml doc/*.html +} + +pkg_postinst() { + einfo "Updating ${EPREFIX}/usr/bin/vi symlink" + eselect vi update --if-unset +} + +pkg_postrm() { + einfo "Updating ${EPREFIX}/usr/bin/vi symlink" + eselect vi update --if-unset +} diff --git a/app-editors/vile/vile-9.8n.ebuild b/app-editors/vile/vile-9.8n.ebuild new file mode 100644 index 000000000000..393f035f1a9e --- /dev/null +++ b/app-editors/vile/vile-9.8n.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone" +HOMEPAGE="http://invisible-island.net/vile/" +SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="perl" + +RDEPEND=">=sys-libs/ncurses-5.2 + perl? ( dev-lang/perl )" +DEPEND="${RDEPEND} + sys-devel/flex + app-eselect/eselect-vi" + +src_configure() { + econf \ + --with-ncurses \ + $(use_with perl ) +} + +src_install() { + emake DESTDIR="${D}" INSTALL_OPTS="" install + dodoc CHANGES* README doc/*.doc + dohtml doc/*.html +} + +pkg_postinst() { + einfo "Updating ${EPREFIX}/usr/bin/vi symlink" + eselect vi update --if-unset +} + +pkg_postrm() { + einfo "Updating ${EPREFIX}/usr/bin/vi symlink" + eselect vi update --if-unset +} diff --git a/app-editors/vile/vile-9.8o.ebuild b/app-editors/vile/vile-9.8o.ebuild new file mode 100644 index 000000000000..4c1d4614096e --- /dev/null +++ b/app-editors/vile/vile-9.8o.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone" +HOMEPAGE="http://invisible-island.net/vile/" +SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="perl" + +RDEPEND=">=sys-libs/ncurses-5.2 + perl? ( dev-lang/perl )" +DEPEND="${RDEPEND} + sys-devel/flex + app-eselect/eselect-vi" + +src_configure() { + econf \ + --with-ncurses \ + $(use_with perl ) +} + +src_install() { + emake DESTDIR="${D}" INSTALL_OPT_S="" install + dodoc CHANGES* README doc/*.doc + dohtml doc/*.html +} + +pkg_postinst() { + einfo "Updating ${EPREFIX}/usr/bin/vi symlink" + eselect vi update --if-unset +} + +pkg_postrm() { + einfo "Updating ${EPREFIX}/usr/bin/vi symlink" + eselect vi update --if-unset +} diff --git a/app-editors/vim-core/Manifest b/app-editors/vim-core/Manifest new file mode 100644 index 000000000000..fd094a550bb2 --- /dev/null +++ b/app-editors/vim-core/Manifest @@ -0,0 +1,10 @@ +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-core-7.3-gentoo-patches-r4.tar.bz2 3015 SHA256 a4f61e4d0cd1848812f603e7f6b8a5304d13ac199f4e3061264cd3bec75a17c5 SHA512 0ba7a20dfdc2c24a92a4af5a6fe49a94d5d5c5e9111c42c4812d0cd52c26cc567acd2d7e74f66730afd3c4bc9f1667b0ad9c1f82f93d2844d8309b143f293676 WHIRLPOOL cec628c0f19971077677e667cc8903ea0a56041799a43907d47acc218fd9e0a6ea2a2a30999c74512fb36d233c6ac6d436f033684290155ff6ae70be5277bdbf +DIST vim-patches-7.4.273.patch.bz2 506378 SHA256 065447179d22602315e2965d135cf9f1db4394ff5655520719f6338ff29e89ca SHA512 029a5cef758e4b201eabbc82458f3e1c3674582715a8c78a7270f3ecd57980b1cef66a0152526fd3505685c27c07f6e6742da48da9ad9546e3cfc2a5e7c11164 WHIRLPOOL 305322e991e9640b80147dd5ceac9dd6dae93a07610f807bbf01c0fdf37cba67ea41a1b2720c8a43da0161c57e0a522086f135efc712fb0106497a21288a872a diff --git a/app-editors/vim-core/files/vimrc-r4 b/app-editors/vim-core/files/vimrc-r4 new file mode 100644 index 000000000000..07fffcceab1e --- /dev/null +++ b/app-editors/vim-core/files/vimrc-r4 @@ -0,0 +1,200 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" Default configuration file for Vim +" $Id$ + +" Written by Aron Griffis <agriffis@gentoo.org> +" Modified by Ryan Phillips <rphillips@gentoo.org> +" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org> +" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org> + +" You can override any of these settings on a global basis via the +" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may +" need to create these. + +" {{{ General settings +" The following are some sensible defaults for Vim for most users. +" We attempt to change as little as possible from Vim's defaults, +" deviating only where it makes sense +set nocompatible " Use Vim defaults (much better!) +set bs=2 " Allow backspacing over everything in insert mode +set ai " Always set auto-indenting on +set history=50 " keep 50 lines of command history +set ruler " Show the cursor position all the time + +set viminfo='20,\"500 " Keep a .viminfo file. + +" Don't use Ex mode, use Q for formatting +map Q gq + +" When doing tab completion, give the following files lower priority. You may +" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable +" enhanced tab completion. These can be done in the user vimrc file. +set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo + +" When displaying line numbers, don't use an annoyingly wide number column. This +" doesn't enable line numbers -- :set number will do that. The value given is a +" minimum width to use for the number column, not a fixed size. +if v:version >= 700 + set numberwidth=3 +endif +" }}} + +" {{{ Modeline settings +" We don't allow modelines by default. See bug #14088 and bug #73715. +" If you're not concerned about these, you can enable them on a per-user +" basis by adding "set modeline" to your ~/.vimrc file. +set nomodeline +" }}} + +" {{{ Locale settings +" Try to come up with some nice sane GUI fonts. Also try to set a sensible +" value for fileencodings based upon locale. These can all be overridden in +" the user vimrc file. +if v:lang =~? "^ko" + set fileencodings=euc-kr + set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-* +elseif v:lang =~? "^ja_JP" + set fileencodings=euc-jp + set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-* +elseif v:lang =~? "^zh_TW" + set fileencodings=big5 + set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0 +elseif v:lang =~? "^zh_CN" + set fileencodings=gb2312 + set guifontset=*-r-* +endif + +" If we have a BOM, always honour that rather than trying to guess. +if &fileencodings !~? "ucs-bom" + set fileencodings^=ucs-bom +endif + +" Always check for UTF-8 when trying to determine encodings. +if &fileencodings !~? "utf-8" + " If we have to add this, the default encoding is not Unicode. + " We use this fact later to revert to the default encoding in plaintext/empty + " files. + let g:added_fenc_utf8 = 1 + set fileencodings+=utf-8 +endif + +" Make sure we have a sane fallback for encoding detection +if &fileencodings !~? "default" + set fileencodings+=default +endif +" }}} + +" {{{ Syntax highlighting settings +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch +endif +" }}} + +" {{{ Terminal fixes +if &term ==? "xterm" + set t_Sb=^[4%dm + set t_Sf=^[3%dm + set ttymouse=xterm2 +endif + +if &term ==? "gnome" && has("eval") + " Set useful keys that vim doesn't discover via termcap but are in the + " builtin xterm termcap. See bug #122562. We use exec to avoid having to + " include raw escapes in the file. + exec "set <C-Left>=\eO5D" + exec "set <C-Right>=\eO5C" +endif +" }}} + +" {{{ Filetype plugin settings +" Enable plugin-provided filetype settings, but only if the ftplugin +" directory exists (which it won't on livecds, for example). +if isdirectory(expand("$VIMRUNTIME/ftplugin")) + filetype plugin on + + " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided + " indent settings. Some people don't like these, so we won't turn them on by + " default. + " filetype indent on +endif +" }}} + +" {{{ Fix &shell, see bug #101665. +if "" == &shell + if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash + elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh + endif +endif +"}}} + +" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh +" files should default to bash. See :help sh-syntax and bug #101819. +if has("eval") + let is_bash=1 +endif +" }}} + +" {{{ Autocommands +if has("autocmd") + +augroup gentoo + au! + + " Gentoo-specific settings for ebuilds. These are the federally-mandated + " required tab settings. See the following for more information: + " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml + " Note that the rules below are very minimal and don't cover everything. + " Better to emerge app-vim/gentoo-syntax, which provides full syntax, + " filetype and indent settings for all things Gentoo. + au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh + au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab + + " In text files, limit the width of text to 78 characters, but be careful + " that we don't override the user's setting. + autocmd BufNewFile,BufRead *.txt + \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") | + \ setlocal textwidth=78 | + \ endif + + " When editing a file, always jump to the last cursor position + autocmd BufReadPost * + \ if ! exists("g:leave_my_cursor_position_alone") | + \ if line("'\"") > 0 && line ("'\"") <= line("$") | + \ exe "normal g'\"" | + \ endif | + \ endif + + " When editing a crontab file, set backupcopy to yes rather than auto. See + " :help crontab and bug #53437. + autocmd FileType crontab set backupcopy=yes + + " If we previously detected that the default encoding is not UTF-8 + " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no + " characters at all) isn't a Unicode file, but is in the default encoding. + " Except of course if a byte-order mark is in effect. + autocmd BufReadPost * + \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" && + \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable | + \ set fileencoding= | + \ endif + +augroup END + +endif " has("autocmd") +" }}} + +" {{{ vimrc.local +if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local") + source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local +endif +" }}} + +" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker : + diff --git a/app-editors/vim-core/files/xxd-completion b/app-editors/vim-core/files/xxd-completion new file mode 100644 index 000000000000..174a4093f39f --- /dev/null +++ b/app-editors/vim-core/files/xxd-completion @@ -0,0 +1,25 @@ +# Author: Ciaran McCreesh <ciaranm@gentoo.org> +# +# completion for xxd + +_xxd() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${cur}" == -* ]] ; then + args='-a -b -c -E -g -h -i -l -ps -r -s -u -v' + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -F _xxd xxd + +# vim: set ft=sh sw=4 et sts=4 : + diff --git a/app-editors/vim-core/metadata.xml b/app-editors/vim-core/metadata.xml new file mode 100644 index 000000000000..4728811b89d9 --- /dev/null +++ b/app-editors/vim-core/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>vim</herd> + <upstream> + <remote-id type="github">vim/vim</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/vim-core/vim-core-7.4.273.ebuild b/app-editors/vim-core/vim-core-7.4.273.ebuild new file mode 100644 index 000000000000..31ac9e9aa968 --- /dev/null +++ b/app-editors/vim-core/vim-core-7.4.273.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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/${PN}-7.3-gentoo-patches-r4.tar.bz2 + http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCHES}" + KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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_PATCHES%.bz2} ]] ; then + # Apply any patches available from vim.org for this version + epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} + fi + + if [[ -d "${WORKDIR}"/gentoo/patches-core/ ]]; then + # Patches for vim-core only (runtime/*) + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/gentoo/patches-core/ + 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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-features=tiny \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-7.4.591.ebuild b/app-editors/vim-core/vim-core-7.4.591.ebuild new file mode 100644 index 000000000000..507e07d45cf5 --- /dev/null +++ b/app-editors/vim-core/vim-core-7.4.591.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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 arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-7.4.622.ebuild b/app-editors/vim-core/vim-core-7.4.622.ebuild new file mode 100644 index 000000000000..19eba14a28b4 --- /dev/null +++ b/app-editors/vim-core/vim-core-7.4.622.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-7.4.670.ebuild b/app-editors/vim-core/vim-core-7.4.670.ebuild new file mode 100644 index 000000000000..19eba14a28b4 --- /dev/null +++ b/app-editors/vim-core/vim-core-7.4.670.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-7.4.712.ebuild b/app-editors/vim-core/vim-core-7.4.712.ebuild new file mode 100644 index 000000000000..19eba14a28b4 --- /dev/null +++ b/app-editors/vim-core/vim-core-7.4.712.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-7.4.738.ebuild b/app-editors/vim-core/vim-core-7.4.738.ebuild new file mode 100644 index 000000000000..688219bd2a09 --- /dev/null +++ b/app-editors/vim-core/vim-core-7.4.738.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-7.4.769.ebuild b/app-editors/vim-core/vim-core-7.4.769.ebuild new file mode 100644 index 000000000000..688219bd2a09 --- /dev/null +++ b/app-editors/vim-core/vim-core-7.4.769.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-9999.ebuild b/app-editors/vim-core/vim-core-9999.ebuild new file mode 100644 index 000000000000..688219bd2a09 --- /dev/null +++ b/app-editors/vim-core/vim-core-9999.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +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 -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-rubyinterp \ + --disable-gpm \ + --disable-selinux \ + $(use_enable nls) \ + $(use_enable acl) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake tools +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + cd src || die "cd src failed" + emake \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + install-icons \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r4 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal ; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-qt/Manifest b/app-editors/vim-qt/Manifest new file mode 100644 index 000000000000..ba264146fb7e --- /dev/null +++ b/app-editors/vim-qt/Manifest @@ -0,0 +1,2 @@ +DIST vim-qt-20140827.tar.gz 12251966 SHA256 61eba646bf25fd3caa40943ecd91e5e7a813e11ca71d899e9e844e3f69e97a60 SHA512 0ab352a64f138e68059311908b2e4b0cbbec55c2fa889ff64f863670c3d1ee0022d26877175090d5c256eb1cdfaf7d23d385044a68e2eb8b50b1cdab2a20827f WHIRLPOOL ea397f465902796761c44e6521ab6b2660498d1e3ce4821d3265517ba1c72984b93e580549be921e156771f2ccbb86fce1c830035ad00513eb9e42c1f1ff6abd +DIST vim-qt-20150102.tar.gz 12285083 SHA256 1a3553f491e7990d4256c3c70f2d9d1804c2de5c6ac2c12845b173ff3d531157 SHA512 37434ff6cbac3dd97e3c5cb328a857afa8a8ddc4cea7b3879a06b4dd418e5b7516a68dc5c2b0c9c8b6332d316fc593b120400eab04c444c0065f3b74ae2d682d WHIRLPOOL 60d9838532b25ad8c31638e51ccf82769382dccb420c070068537ad7c15314dbc2b5fd177ed9d57674b3f593937f3c539bdd7a98e305eab40059a29ae4bf2b09 diff --git a/app-editors/vim-qt/files/vim-qt.desktop b/app-editors/vim-qt/files/vim-qt.desktop new file mode 100644 index 000000000000..207bf332ed14 --- /dev/null +++ b/app-editors/vim-qt/files/vim-qt.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=vim-Qt +Comment=A highly configurable text editor +Exec=qvim -f %F +Icon=vim-qt +Terminal=false +Type=Application +MimeType=text/plain; +Categories=Qt;TextEditor;Development; diff --git a/app-editors/vim-qt/metadata.xml b/app-editors/vim-qt/metadata.xml new file mode 100644 index 000000000000..502c73de07f6 --- /dev/null +++ b/app-editors/vim-qt/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>qt</herd> + <use> + <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag> + <flag name="racket">Enable support for Scheme using <pkg>dev-lang/racket</pkg></flag> + </use> + <upstream> + <remote-id type="github">equalsraf/vim-qt</remote-id> + <remote-id type="bitbucket">equalsraf/vim-qt</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/vim-qt/vim-qt-20140827-r2.ebuild b/app-editors/vim-qt/vim-qt-20140827-r2.ebuild new file mode 100644 index 000000000000..12d724ce82f0 --- /dev/null +++ b/app-editors/vim-qt/vim-qt-20140827-r2.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE="threads" +inherit eutils fdo-mime flag-o-matic prefix python-single-r1 + +DESCRIPTION="Qt GUI version of the Vim text editor" +HOMEPAGE="https://bitbucket.org/equalsraf/vim-qt/wiki/Home" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://bitbucket.org/equalsraf/${PN}.git" + "https://github.com/equalsraf/${PN}.git" + "git://gitorious.org/${PN}/${PN}.git" + ) + KEYWORDS="" +else + SRC_URI="https://github.com/equalsraf/${PN}/archive/package-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${PN}-package-${PV}" +fi + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug lua luajit nls perl python racket ruby" + +REQUIRED_USE="luajit? ( lua ) + python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=">=app-eselect/eselect-vi-1.1.8 + >=app-editors/vim-core-7.4.417[acl?] + sys-libs/ncurses + >=dev-qt/qtcore-4.7.0:4 + >=dev-qt/qtgui-4.7.0:4 + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + lua? ( luajit? ( dev-lang/luajit ) + !luajit? ( dev-lang/lua[deprecated] ) ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 ) )" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext )" + +pkg_setup() { + export LC_COLLATE="C" # prevent locale brokenness + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Read vimrc from /etc/vim/ + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h +} + +src_configure() { + use debug && append-flags "-DDEBUG" + + local myconf="--with-features=huge --disable-gpm --enable-multibyte" + myconf+=" $(use_enable acl)" + myconf+=" $(use_enable cscope)" + myconf+=" $(use_enable nls)" + myconf+=" $(use_enable lua luainterp)" + myconf+=" $(use_with luajit)" + myconf+=" $(use_enable perl perlinterp)" + myconf+=" $(use_enable racket mzschemeinterp)" + myconf+=" $(use_enable ruby rubyinterp)" + + if ! use cscope ; then + sed -i -e '/# define FEAT_CSCOPE/d' src/feature.h || die 'sed failed' + fi + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + 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 + + econf ${myconf} --enable-gui=qt --with-vim-name=qvim --with-modified-by=Gentoo-${PVR} +} + +src_install() { + dobin src/qvim + dosym qvim /usr/bin/qvimdiff + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/qvim.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/qvimdiff.1 + + # track https://bitbucket.org/equalsraf/vim-qt/issue/93/include-desktop-file-in-source + # for inclusion of desktop file + newmenu "${FILESDIR}"/vim-qt.desktop vim-qt.desktop + doicon -s 64 src/qt/icons/vim-qt.png +} + +pkg_postinst() { + fdo-mime_mime_database_update +} + +pkg_postrm() { + fdo-mime_mime_database_update +} diff --git a/app-editors/vim-qt/vim-qt-20150102.ebuild b/app-editors/vim-qt/vim-qt-20150102.ebuild new file mode 100644 index 000000000000..e2d31b22a076 --- /dev/null +++ b/app-editors/vim-qt/vim-qt-20150102.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE="threads" + +inherit eutils fdo-mime flag-o-matic prefix python-single-r1 + +DESCRIPTION="Qt GUI version of the Vim text editor" +HOMEPAGE="https://bitbucket.org/equalsraf/vim-qt/wiki/Home" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://bitbucket.org/equalsraf/${PN}.git" + "https://github.com/equalsraf/${PN}.git" + ) + KEYWORDS="" +else + SRC_URI="https://github.com/equalsraf/${PN}/archive/package-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S=${WORKDIR}/${PN}-package-${PV} +fi + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug lua luajit nls perl python racket ruby" + +REQUIRED_USE="luajit? ( lua ) + python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + >=app-editors/vim-core-7.4.560[acl?] + >=app-eselect/eselect-vi-1.1.8 + >=dev-qt/qtcore-4.7.0:4 + >=dev-qt/qtgui-4.7.0:4 + sys-libs/ncurses + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + lua? ( luajit? ( dev-lang/luajit ) + !luajit? ( dev-lang/lua[deprecated] ) ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 ) )" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext )" + +pkg_setup() { + export LC_COLLATE="C" # prevent locale brokenness + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Read vimrc from /etc/vim/ + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h +} + +src_configure() { + use debug && append-flags "-DDEBUG" + + local myconf="--with-features=huge --disable-gpm --enable-multibyte" + myconf+=" $(use_enable acl)" + myconf+=" $(use_enable cscope)" + myconf+=" $(use_enable nls)" + myconf+=" $(use_enable lua luainterp)" + myconf+=" $(use_with luajit)" + myconf+=" $(use_enable perl perlinterp)" + myconf+=" $(use_enable racket mzschemeinterp)" + myconf+=" $(use_enable ruby rubyinterp)" + + if ! use cscope ; then + sed -i -e '/# define FEAT_CSCOPE/d' src/feature.h || die 'sed failed' + fi + + # keep prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + 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 + + econf ${myconf} --enable-gui=qt --with-vim-name=qvim --with-modified-by=Gentoo-${PVR} +} + +src_install() { + dobin src/qvim + dosym qvim /usr/bin/qvimdiff + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/qvim.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/qvimdiff.1 + + # track https://bitbucket.org/equalsraf/vim-qt/issue/93/include-desktop-file-in-source + # for inclusion of desktop file + newmenu "${FILESDIR}"/vim-qt.desktop vim-qt.desktop + doicon -s 64 src/qt/icons/vim-qt.png +} + +pkg_postinst() { + fdo-mime_mime_database_update +} + +pkg_postrm() { + fdo-mime_mime_database_update +} diff --git a/app-editors/vim/Manifest b/app-editors/vim/Manifest new file mode 100644 index 000000000000..e2e8b9ba4b57 --- /dev/null +++ b/app-editors/vim/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/vim/files/vim-completion b/app-editors/vim/files/vim-completion new file mode 100644 index 000000000000..67537d63101d --- /dev/null +++ b/app-editors/vim/files/vim-completion @@ -0,0 +1,36 @@ +# Author: Ciaran McCreesh <ciaranm@gentoo.org> +# +# completion for vim + +_vim() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${prev}" == "--servername" ]] ; then + local servers + servers=$(gvim --serverlist ) + COMPREPLY=( $( compgen -W "${servers}" -- $cur ) ) + + elif [[ "${prev}" == -[uUi] ]] ; then + COMPREPLY=( $( compgen -W "NONE" ) \ + $( compgen -f -X "!*vim*" -- "$cur" ) ) + + elif [[ "${cur}" == -* ]] ; then + args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \ + -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \ + -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \ + --help --literal --noplugin --version' + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -o filenames -F _vim vim ex vi view rvim rview vimdiff + +# vim: set ft=sh sw=4 et sts=4 : diff --git a/app-editors/vim/metadata.xml b/app-editors/vim/metadata.xml new file mode 100644 index 000000000000..6ec53ae58520 --- /dev/null +++ b/app-editors/vim/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>vim</herd> + <use> + <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag> + <flag name="racket">Enable support for Scheme using <pkg>dev-lang/racket</pkg></flag> + <flag name="vim-pager">Install vimpager and vimmanpager links</flag> + <flag name="X">Link console vim against X11 libraries to enable title and + clipboard features in xterm</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:vim:vim</remote-id> + <remote-id type="github">vim/vim</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/vim/vim-7.4.273.ebuild b/app-editors/vim/vim-7.4.273.ebuild new file mode 100644 index 000000000000..67a2a8887790 --- /dev/null +++ b/app-editors/vim/vim-7.4.273.ebuild @@ -0,0 +1,369 @@ +# 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 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 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + luajit? ( lua ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.1 dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + >=sys-libs/ncurses-5.2-r2 + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf="--with-features=tiny \ + --disable-nls \ + --disable-multibyte \ + --disable-acl \ + --enable-gui=no \ + --without-x \ + --disable-darwin \ + --disable-luainterp \ + --disable-perlinterp \ + --disable-pythoninterp \ + --disable-mzschemeinterp \ + --disable-rubyinterp \ + --disable-selinux \ + --disable-tclinterp \ + --disable-gpm" + else + use debug && append-flags "-DDEBUG" + + myconf="--with-features=huge --enable-multibyte" + myconf+=" $(use_enable acl)" + myconf+=" $(use_enable cscope)" + myconf+=" $(use_enable gpm)" + myconf+=" $(use_enable lua luainterp)" + myconf+=" $(use_with luajit)" + 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 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 + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=" --enable-gui=no --disable-darwin $(use_with X x)" + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --with-modified-by=Gentoo-${PVR} \ + ${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim 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/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # 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 + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/vim/vim-7.4.591.ebuild b/app-editors/vim/vim-7.4.591.ebuild new file mode 100644 index 000000000000..df45673fc7b7 --- /dev/null +++ b/app-editors/vim/vim-7.4.591.ebuild @@ -0,0 +1,388 @@ +# 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 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 arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + luajit? ( lua ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf=( + --with-features=tiny + --disable-nls + --disable-multibyte + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable lua luainterp) + $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "") + $(use_with luajit) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + ) + + if use python ; then + 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 + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + econf \ + --with-modified-by=Gentoo-${PVR} \ + "${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/vim/vim-7.4.622.ebuild b/app-editors/vim/vim-7.4.622.ebuild new file mode 100644 index 000000000000..ebb3f327dd03 --- /dev/null +++ b/app-editors/vim/vim-7.4.622.ebuild @@ -0,0 +1,394 @@ +# 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 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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf=( + --with-features=tiny + --disable-nls + --disable-multibyte + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable lua luainterp) + $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "") + $(use_with luajit) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + econf \ + --with-modified-by=Gentoo-${PVR} \ + "${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/vim/vim-7.4.670.ebuild b/app-editors/vim/vim-7.4.670.ebuild new file mode 100644 index 000000000000..ebb3f327dd03 --- /dev/null +++ b/app-editors/vim/vim-7.4.670.ebuild @@ -0,0 +1,394 @@ +# 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 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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf=( + --with-features=tiny + --disable-nls + --disable-multibyte + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable lua luainterp) + $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "") + $(use_with luajit) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + econf \ + --with-modified-by=Gentoo-${PVR} \ + "${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/vim/vim-7.4.712.ebuild b/app-editors/vim/vim-7.4.712.ebuild new file mode 100644 index 000000000000..9d053bd1bc1e --- /dev/null +++ b/app-editors/vim/vim-7.4.712.ebuild @@ -0,0 +1,394 @@ +# 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 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 ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf=( + --with-features=tiny + --disable-nls + --disable-multibyte + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable lua luainterp) + $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "") + $(use_with luajit) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + econf \ + --with-modified-by=Gentoo-${PVR} \ + "${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/vim/vim-7.4.738.ebuild b/app-editors/vim/vim-7.4.738.ebuild new file mode 100644 index 000000000000..620ace7ec0f8 --- /dev/null +++ b/app-editors/vim/vim-7.4.738.ebuild @@ -0,0 +1,389 @@ +# 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 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 -> ${P}.tar.gz + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf=( + --with-features=tiny + --disable-nls + --disable-multibyte + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable lua luainterp) + $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "") + $(use_with luajit) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + econf \ + --with-modified-by=Gentoo-${PVR} \ + "${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/vim/vim-7.4.769.ebuild b/app-editors/vim/vim-7.4.769.ebuild new file mode 100644 index 000000000000..620ace7ec0f8 --- /dev/null +++ b/app-editors/vim/vim-7.4.769.ebuild @@ -0,0 +1,389 @@ +# 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 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 -> ${P}.tar.gz + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf=( + --with-features=tiny + --disable-nls + --disable-multibyte + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable lua luainterp) + $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "") + $(use_with luajit) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + econf \ + --with-modified-by=Gentoo-${PVR} \ + "${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/vim/vim-9999.ebuild b/app-editors/vim/vim-9999.ebuild new file mode 100644 index 000000000000..a57e8515e48e --- /dev/null +++ b/app-editors/vim/vim-9999.ebuild @@ -0,0 +1,389 @@ +# 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 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 -> ${P}.tar.gz + http://dev.gentoo.org/~radhermit/vim/vim-${PV}-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Vim, an improved vi-style text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + nls? ( virtual/libintl ) + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + !minimal? ( + ~app-editors/vim-core-${PV} + dev-util/ctags + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + tcl? ( dev-lang/tcl:0= ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + 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 + + # conditionally make the manpager.sh script + if use vim-pager ; then + cat <<-END > "${S}"/runtime/macros/manpager.sh + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + END + fi + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + 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 + + if use minimal ; then + myconf=( + --with-features=tiny + --disable-nls + --disable-multibyte + --disable-acl + --enable-gui=no + --without-x + --disable-darwin + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable lua luainterp) + $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "") + $(use_with luajit) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + --enable-gui=no + --disable-darwin + $(use_with X x) + ) + fi + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + econf \ + --with-modified-by=Gentoo-${PVR} \ + "${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 + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../vim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + dosym vim /usr/bin/vimdiff + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + if use X ; then + echo + elog "The 'X' USE flag enables vim <-> X communication, like" + elog "updating the xterm titlebar. It does not install a GUI." + fi + echo + elog "To install a GUI version of vim, use the app-editors/gvim" + elog "package." + 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." + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/wily/Manifest b/app-editors/wily/Manifest new file mode 100644 index 000000000000..29736ca12034 --- /dev/null +++ b/app-editors/wily/Manifest @@ -0,0 +1 @@ +DIST wily-9libs.tar.gz 125247 SHA256 997e1f217047d7a4e048f55bdc3e9c040c61c0598212dda1c3d1fcca5dc9dc34 SHA512 3c06ef1d9c6e77a00037570f8b8bdbcdfc7648f691675db679ba83ac0ce092762a4020b0483acd325aa57810e9a386800a94c5e6e2b5002a963b4751a4d30a5b WHIRLPOOL ddc22e6d65ca41ae452f8a9d3a62390ee77876b31c755589b1bc33606451a170eecd87566d463146bfbc014ba5585632bb0dedd314feca4cd5b50f185f17fd4d diff --git a/app-editors/wily/metadata.xml b/app-editors/wily/metadata.xml new file mode 100644 index 000000000000..d9cd2cad66c2 --- /dev/null +++ b/app-editors/wily/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/wily/wily-1.0-r1.ebuild b/app-editors/wily/wily-1.0-r1.ebuild new file mode 100644 index 000000000000..02ba6baad28e --- /dev/null +++ b/app-editors/wily/wily-1.0-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit toolchain-funcs + +MY_P="${P/1.0/9libs}" + +DESCRIPTION="An emulation of ACME, Plan9's hybrid window system, shell and editor for programmers" +HOMEPAGE="http://www.netlib.org/research/9libs/" +SRC_URI="ftp://www.netlib.org/research/9libs/${MY_P}.tar.gz" + +LICENSE="Artistic" +SLOT="0" +KEYWORDS="x86" +IUSE="" + +DEPEND="dev-libs/9libs + >=x11-libs/libX11-1.0.0 + >=x11-libs/libXt-1.0.0 + >=x11-libs/libICE-1.0.0 + >=x11-libs/libSM-1.0.0" + +S="${WORKDIR}/${MY_P}" + +src_compile() { + export CC="$(tc-getCC)" + econf --includedir="/usr/include/9libs" || die "configure failed." + emake || die "make failed." +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed." + dodoc README + insinto /usr/share/${PN} + doins "${S}"/misc/* +} diff --git a/app-editors/wxhexeditor/Manifest b/app-editors/wxhexeditor/Manifest new file mode 100644 index 000000000000..bdecce43fb00 --- /dev/null +++ b/app-editors/wxhexeditor/Manifest @@ -0,0 +1,3 @@ +DIST wxHexEditor-v0.20-src.tar.bz2 1194554 SHA256 a3dda32eb62e3ec1c9760519302bcef688253d48b3d2c566f9629c4e4246ae55 SHA512 f8138fb892528fd7d131b0931f52cb6b19dc984aa831882d7f60f557527e6bb559429a11b5a1307cf51d1a8974123627d15ccee87561970784a75910929f85a3 WHIRLPOOL 9d3343060f815fae7b2512b098c3a1c4853c062040cb2b180bf7402231295d27e96a3996aca041ce2f694f2cc84bb6dfbc419797079713afb254900187d100e0 +DIST wxHexEditor-v0.21-src.tar.bz2 1760192 SHA256 076111ebcf1472e80ec9a16223ca60bdf4598689cc5aa076a4f9760bba51f17f SHA512 bea80a139bb76e47ed5d3644f923b4b042d8842bb3522e88e2c84947eadc7f49f2599438f583ea8a1fde05356886d8fb20f679398e1519c13acd8e4dd49ad729 WHIRLPOOL fd5ebc1609183b8879254461c7eb1a22355a2f71ca45452a6dd21ca8164c5b8b96474d9d1c01b2aea962d4d47c291e3b43d8bf1d337c7bcff6c1c109c3fe29b9 +DIST wxHexEditor-v0.22-src.tar.bz2 2329754 SHA256 3c04725d218d21807ee78ccdd4bc78d302b92139c92bbd0a0edc53f2d0003996 SHA512 d846b30110bf2c864ec8dc45d1a4e9e333ec79379e335d7ecf5c8eed18a22bf2af26de1bcdca1977c94f2789a82c6eaf5fd2c2a91389f4c20f219a974c5e18ac WHIRLPOOL 44988f4349bc78ce7dd975ce7332a72dc5176e3308a9837e0634cce55e029a758488ed1ff07fdcd1f8c64638b0bf86ea8b73cc4c8f7b7400384487eb6bbfea1d diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.20-makefile.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.20-makefile.patch new file mode 100644 index 000000000000..b4d97b2ec25c --- /dev/null +++ b/app-editors/wxhexeditor/files/wxhexeditor-0.20-makefile.patch @@ -0,0 +1,108 @@ +--- a/makefile ++++ b/makefile +@@ -1,8 +1,8 @@ + WXCONFIG = wx-config + CC = `$(WXCONFIG) --cc` + CPP = `$(WXCONFIG) --cxx` +-CXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -O2 -c ${OPTFLAGS} +-LDFLAGS = `$(WXCONFIG) --libs` ++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -c ${OPTFLAGS} -fopenmp ${CXXFLAGS} ++WXLDFLAGS = `$(WXCONFIG) --libs` -fopenmp ${LDFLAGS} + RC = `$(WXCONFIG) --rescomp` + #RC = x86_64-w64-mingw32-windres --define WX_CPU_AMD64 + RCFLAGS = `$(WXCONFIG) --cxxflags | sed s/' '-m.*//g;` +@@ -19,7 +19,7 @@ SOURCES= src/HexEditorGui.cpp \ + src/HexEditorCtrl/wxHexCtrl/Tag.cpp\ + src/HexEditorCtrl/HexEditorCtrlGui.cpp\ + src/HexEditorFrame.cpp +-LIBS = udis86/libudis86/.libs/libudis86.a mhash/lib/.libs/libmhash.a ++LIBS = -lmhash -ludis86 + OBJECTS=$(SOURCES:.cpp=.o) + DEPENDS=$(OBJECTS:.o=.d) + RESOURCES= resources/resource.rc +@@ -28,43 +28,35 @@ EXECUTABLE=wxHexEditor + EXECUTABLE_WIN=$(EXECUTABLE).exe + EXECUTABLE_DIR_MAC=$(EXECUTABLE).app + +-PREFIX = /usr/local ++DESTDIR = ++PREFIX = $(DESTDIR)/usr + BINDIR = $(PREFIX)/bin + DATADIR = $(PREFIX)/share + LOCALEDIR = $(DATADIR)/locale + +-VERSION = 0.12 Beta ++VERSION = 0.20 + + all: $(EXECUTABLE) + +-$(OBJECTS): $(LIBS) $(SOURCES) ++$(OBJECTS): $(SOURCES) + + $(EXECUTABLE): $(OBJECTS) +- $(CPP) $(OBJECTS) $(LIBS) $(LDFLAGS) -lgomp -o $@ ++ $(CPP) $(OBJECTS) $(LIBS) $(WXLDFLAGS) ${CXXFLAGS} -o $@ + +-.cpp.o: $(LIBS) +- $(CPP) $(CXXFLAGS) $< -o $@ ++.cpp.o: ++ $(CPP) $(WXCXXFLAGS) $< -o $@ + + %.o : %.rc + $(RC) $(RCFLAGS) $< -o $@ + +-udis86/libudis86/.libs/libudis86.a: +- cd udis86;./autogen.sh +- cd udis86;./configure --host=$(HOST) +- cd udis86/libudis86; $(MAKE) $(MFLAGS) +- +-mhash/lib/.libs/libmhash.a: +- cd mhash; ./configure --host=$(HOST) +- cd mhash; $(MAKE) $(MFLAGS) +- + win: $(RESOURCES) $(EXECUTABLE_WIN) + + #Stack override required for file comparison function... + $(EXECUTABLE_WIN): $(OBJECTS) $(RESOURCE_OBJ) +- $(CPP) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) $(LDFLAGS) -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@ ++ $(CPP) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@ + + maclink: $(OBJECTS) +- $(CPP) $(OBJECTS) $(LIBS) $(LDFLAGS) -lexpat -Wl,-stack_size,0x2000000 -o $(EXECUTABLE) ++ $(CPP) $(OBJECTS) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) -lexpat -Wl,-stack_size,0x2000000 -o $(EXECUTABLE) + + mac: maclink + mkdir -p $(EXECUTABLE_DIR_MAC)/Contents +--- a/src/HexDialogs.cpp ++++ b/src/HexDialogs.cpp +@@ -24,7 +24,7 @@ + #define NANINT 0xFFFFFFFFFFFFFFFFLL + #include "HexDialogs.h" + #include <wx/progdlg.h> +-#include "../mhash/include/mhash.h" ++#include <mhash.h> + + #ifdef _OPENMP + #include <omp.h> +--- a/src/HexEditor.h ++++ b/src/HexEditor.h +@@ -25,7 +25,7 @@ + #ifndef _wxHexEditor_h_ + #define _wxHexEditor_h_ + +-#include "../mhash/include/mhash.h" ++#include <mhash.h> + + #include <wx/ffile.h> + #include <wx/clipbrd.h> +--- a/src/HexPanels.h ++++ b/src/HexPanels.h +@@ -27,7 +27,7 @@ + #include "HexEditorFrame.h" + #include "HexEditorCtrl/HexEditorCtrl.h" + #include "HexEditorCtrl/wxHexCtrl/wxHexCtrl.h" +-#include "../udis86/udis86.h" ++#include <udis86.h> + + #ifdef WX_GCH + #include <wx_pch.h> diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.21-desktop-validation.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.21-desktop-validation.patch new file mode 100644 index 000000000000..aa2bb39bf85a --- /dev/null +++ b/app-editors/wxhexeditor/files/wxhexeditor-0.21-desktop-validation.patch @@ -0,0 +1,17 @@ +--- a/resources/wxHexEditor.desktop ++++ b/resources/wxHexEditor.desktop +@@ -1,12 +1,11 @@ + [Desktop Entry] +-Version=v1.0 ++Version=1.0 + Encoding=UTF-8 + Name=wxHexEditor + GenericName=wxHexEditor + Comment=A hex editor for huge files and devices + Exec=wxHexEditor +-Icon=wxHexEditor.png ++Icon=wxHexEditor + Terminal=false + Type=Application +-MimeType=* + Categories=Utility;TextEditor; diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.21-makefile.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.21-makefile.patch new file mode 100644 index 000000000000..34efd652abbe --- /dev/null +++ b/app-editors/wxhexeditor/files/wxhexeditor-0.21-makefile.patch @@ -0,0 +1,107 @@ +- respect CXXFLAGS/LDFLAGS +- install into /usr +- use system mhash and udis86 + +--- a/makefile ++++ b/makefile +@@ -1,8 +1,8 @@ + WXCONFIG = wx-config + CC = `$(WXCONFIG) --cc` + CXX = `$(WXCONFIG) --cxx` +-CXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -O2 -c ${OPTFLAGS} +-LDFLAGS = `$(WXCONFIG) --libs` ++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -O2 -c ${OPTFLAGS} ++WXLDFLAGS = `$(WXCONFIG) --libs` + RC = `$(WXCONFIG) --rescomp` + #RC = x86_64-w64-mingw32-windres --define WX_CPU_AMD64 + RCFLAGS = `$(WXCONFIG) --cxxflags | sed s/' '-m.*//g;` +@@ -21,7 +21,7 @@ SOURCES= src/HexEditorGui.cpp \ + src/HexEditorCtrl/wxHexCtrl/Tag.cpp\ + src/HexEditorCtrl/HexEditorCtrlGui.cpp\ + src/HexEditorFrame.cpp +-LIBS = udis86/libudis86/.libs/libudis86.a mhash/lib/.libs/libmhash.a ++LIBS = -ludis86 -lmhash + OBJECTS=$(SOURCES:.cpp=.o) + DEPENDS=$(OBJECTS:.o=.d) + LANGUAGEDIRS=tr +@@ -32,7 +32,7 @@ EXECUTABLE=wxHexEditor + EXECUTABLE_WIN=$(EXECUTABLE).exe + EXECUTABLE_DIR_MAC=$(EXECUTABLE).app + +-PREFIX = /usr/local ++PREFIX = /usr + BINDIR = $(PREFIX)/bin + DATADIR = $(PREFIX)/share + LOCALEDIR = $(DATADIR)/locale +@@ -46,10 +46,10 @@ $(OBJECTS): $(LIBS) $(SOURCES) + MOBJECTS=$(LANGUAGES:.po=.mo) + + $(EXECUTABLE): $(OBJECTS) +- $(CXX) $(OBJECTS) $(LIBS) $(LDFLAGS) -lgomp -o $@ ++ $(CXX) $(OBJECTS) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) ${LDFLAGS} -lgomp -o $@ + + .cpp.o: $(LIBS) +- $(CXX) $(CXXFLAGS) $< -o $@ ++ $(CXX) $(WXCXXFLAGS) ${CXXFLAGS} $< -o $@ + + %.o : %.rc + $(RC) $(RCFLAGS) $< -o $@ +@@ -59,23 +59,14 @@ langs: $(MOBJECTS) + %.mo : %.po + $(MSGFMT) $< -o $@ + +-udis86/libudis86/.libs/libudis86.a: +- cd udis86;./autogen.sh +- cd udis86;./configure --host=$(HOST) +- cd udis86/libudis86; $(MAKE) $(MFLAGS) +- +-mhash/lib/.libs/libmhash.a: +- cd mhash; ./configure --host=$(HOST) +- cd mhash; $(MAKE) $(MFLAGS) +- + win: $(RESOURCES) $(EXECUTABLE_WIN) + + #Stack override required for file comparison function... + $(EXECUTABLE_WIN): $(OBJECTS) $(RESOURCE_OBJ) +- $(CXX) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) $(LDFLAGS) -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@ ++ $(CXX) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) ${LDFLAGS} -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@ + + maclink: $(OBJECTS) +- $(CXX) $(OBJECTS) $(LIBS) $(LDFLAGS) -lexpat -lgomp -Wl,-stack_size,0x2000000 -o $(EXECUTABLE) ++ $(CXX) $(OBJECTS) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) ${LDFLAGS} -lexpat -lgomp -Wl,-stack_size,0x2000000 -o $(EXECUTABLE) + + mac: maclink langs + mkdir -p $(EXECUTABLE_DIR_MAC)/Contents +--- a/src/HexDialogs.cpp ++++ b/src/HexDialogs.cpp +@@ -24,7 +24,7 @@ + #define NANINT 0xFFFFFFFFFFFFFFFFLL + #include "HexDialogs.h" + #include <wx/progdlg.h> +-#include "../mhash/include/mhash.h" ++#include <mhash.h> + + #ifdef _OPENMP + #include <omp.h> +--- a/src/HexEditor.h ++++ b/src/HexEditor.h +@@ -25,7 +25,7 @@ + #ifndef _wxHexEditor_h_ + #define _wxHexEditor_h_ + +-#include "../mhash/include/mhash.h" ++#include <mhash.h> + + #include <wx/ffile.h> + #include <wx/clipbrd.h> +--- a/src/HexPanels.h ++++ b/src/HexPanels.h +@@ -27,7 +27,7 @@ + #include "HexEditorFrame.h" + #include "HexEditorCtrl/HexEditorCtrl.h" + #include "HexEditorCtrl/wxHexCtrl/wxHexCtrl.h" +-#include "../udis86/udis86.h" ++#include <udis86.h> + + #ifdef WX_GCH + #include <wx_pch.h> diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.22-makefile.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.22-makefile.patch new file mode 100644 index 000000000000..5e40694487f4 --- /dev/null +++ b/app-editors/wxhexeditor/files/wxhexeditor-0.22-makefile.patch @@ -0,0 +1,96 @@ + Makefile | 19 +++++-------------- + src/HexDialogs.cpp | 2 +- + src/HexEditor.h | 2 +- + src/HexPanels.h | 2 +- + 4 files changed, 8 insertions(+), 17 deletions(-) + +diff --git a/Makefile b/Makefile +index ead0702..cb80ddf 100755 +--- a/Makefile ++++ b/Makefile +@@ -1,9 +1,9 @@ + WXCONFIG = wx-config + CC = `$(WXCONFIG) --cc` + CXX = `$(WXCONFIG) --cxx` +-CFLAGS = -O2 +-CXXFLAGS = -O2 +-WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -O2 -c ${OPTFLAGS} ++CFLAGS ?= -O2 ++CXXFLAGS ?= -O2 ++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -O2 -c ${OPTFLAGS} + WXLDFLAGS = `$(WXCONFIG) --libs` + RC = `$(WXCONFIG) --rescomp` + #RC = x86_64-w64-mingw32-windres --define WX_CPU_AMD64 +@@ -23,7 +23,7 @@ SOURCES= src/HexEditorGui.cpp \ + src/HexEditorCtrl/wxHexCtrl/Tag.cpp\ + src/HexEditorCtrl/HexEditorCtrlGui.cpp\ + src/HexEditorFrame.cpp +-LIBS = udis86/libudis86/.libs/libudis86.a mhash/lib/.libs/libmhash.a ++LIBS = -ludis86 -lmhash + OBJECTS=$(SOURCES:.cpp=.o) + DEPENDS=$(OBJECTS:.o=.d) + LANGUAGEDIRS=tr ru +@@ -34,7 +34,7 @@ EXECUTABLE=wxHexEditor + EXECUTABLE_WIN=$(EXECUTABLE).exe + EXECUTABLE_DIR_MAC=$(EXECUTABLE).app + +-PREFIX = /usr/local ++PREFIX = /usr + BINDIR = $(PREFIX)/bin + DATADIR = $(PREFIX)/share + LOCALEDIR = $(DATADIR)/locale +@@ -61,15 +61,6 @@ langs: $(MOBJECTS) + %.mo : %.po + $(MSGFMT) $< -o $@ + +-udis86/libudis86/.libs/libudis86.a: +- cd udis86;./autogen.sh +- cd udis86;./configure --host=$(HOST) CC=$(CC) CXX=$(CXX) CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" +- cd udis86/libudis86; $(MAKE) $(MFLAGS) +- +-mhash/lib/.libs/libmhash.a: +- cd mhash; ./configure --host=$(HOST) CC=$(CC) CXX=$(CXX) CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" +- cd mhash; $(MAKE) $(MFLAGS) +- + win: $(RESOURCES) $(EXECUTABLE_WIN) + + #Stack override required for file comparison function... +diff --git a/src/HexDialogs.cpp b/src/HexDialogs.cpp +index 133830e..6ea0cc0 100644 +--- a/src/HexDialogs.cpp ++++ b/src/HexDialogs.cpp +@@ -24,7 +24,7 @@ + #define NANINT 0xFFFFFFFFFFFFFFFFLL + #include "HexDialogs.h" + #include <wx/progdlg.h> +-#include "../mhash/include/mhash.h" ++#include <mhash.h> + + #ifdef _OPENMP + #include <omp.h> +diff --git a/src/HexEditor.h b/src/HexEditor.h +index 7946d05..d4e1eb8 100644 +--- a/src/HexEditor.h ++++ b/src/HexEditor.h +@@ -25,7 +25,7 @@ + #ifndef _wxHexEditor_h_ + #define _wxHexEditor_h_ + +-#include "../mhash/include/mhash.h" ++#include <mhash.h> + + #include <wx/ffile.h> + #include <wx/clipbrd.h> +diff --git a/src/HexPanels.h b/src/HexPanels.h +index d498fa9..9f2ad5d 100644 +--- a/src/HexPanels.h ++++ b/src/HexPanels.h +@@ -27,7 +27,7 @@ + #include "HexEditorFrame.h" + #include "HexEditorCtrl/HexEditorCtrl.h" + #include "HexEditorCtrl/wxHexCtrl/wxHexCtrl.h" +-#include "../udis86/udis86.h" ++#include <udis86.h> + + #ifdef WX_GCH + #include <wx_pch.h> diff --git a/app-editors/wxhexeditor/metadata.xml b/app-editors/wxhexeditor/metadata.xml new file mode 100644 index 000000000000..fee87e271829 --- /dev/null +++ b/app-editors/wxhexeditor/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>wxwidgets</herd> + <upstream> + <remote-id type="sourceforge">wxhexeditor</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/wxhexeditor/wxhexeditor-0.20.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.20.ebuild new file mode 100644 index 000000000000..606be30dc07d --- /dev/null +++ b/app-editors/wxhexeditor/wxhexeditor-0.20.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" +WX_GTK_VER="2.8" + +inherit eutils toolchain-funcs wxwidgets + +MY_PN="wxHexEditor" + +DESCRIPTION="A cross-platform hex editor designed specially for large files" +HOMEPAGE="http://wxhexeditor.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-crypt/mhash + dev-libs/udis86 + x11-libs/wxGTK:2.8[X]" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_PN}" + +pkg_pretend() { + tc-has-openmp \ + || die "${PN} uses OpenMP libraries. Please use an OpenMP-capable compiler." +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-makefile.patch +} diff --git a/app-editors/wxhexeditor/wxhexeditor-0.21.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.21.ebuild new file mode 100644 index 000000000000..62b8a3128d9a --- /dev/null +++ b/app-editors/wxhexeditor/wxhexeditor-0.21.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +WX_GTK_VER="2.8" + +inherit eutils toolchain-funcs wxwidgets + +MY_PN="wxHexEditor" + +DESCRIPTION="A cross-platform hex editor designed specially for large files" +HOMEPAGE="http://wxhexeditor.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-crypt/mhash + dev-libs/udis86 + x11-libs/wxGTK:2.8[X]" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_PN}" + +pkg_pretend() { + tc-has-openmp \ + || die "${PN} uses OpenMP libraries. Please use an OpenMP-capable compiler." +} + +src_prepare() { + # parts sent upstream : https://sourceforge.net/p/wxhexeditor/patches/8/ + epatch "${FILESDIR}"/${P}-makefile.patch + # sent upstream : https://sourceforge.net/p/wxhexeditor/patches/9/ + epatch "${FILESDIR}"/${P}-desktop-validation.patch +} diff --git a/app-editors/wxhexeditor/wxhexeditor-0.22.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.22.ebuild new file mode 100644 index 000000000000..30902ad7a7cc --- /dev/null +++ b/app-editors/wxhexeditor/wxhexeditor-0.22.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +WX_GTK_VER="2.8" + +inherit eutils toolchain-funcs wxwidgets + +MY_PN="wxHexEditor" + +DESCRIPTION="A cross-platform hex editor designed specially for large files" +HOMEPAGE="http://wxhexeditor.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=" + app-crypt/mhash + dev-libs/udis86 + x11-libs/wxGTK:2.8[X]" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_PN}" + +pkg_pretend() { + tc-has-openmp \ + || die "${PN} uses OpenMP libraries. Please use an OpenMP-capable compiler." +} + +src_prepare() { + # parts sent upstream : https://sourceforge.net/p/wxhexeditor/patches/8/ + epatch "${FILESDIR}"/${P}-makefile.patch +} diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest new file mode 100644 index 000000000000..ba31b4f22859 --- /dev/null +++ b/app-editors/xemacs/Manifest @@ -0,0 +1,6 @@ +DIST NeXT_XEmacs.tar.gz 39571 SHA256 35a0d988fd4ee801572639a99798571aa9fad140ddbed1455565ae9d5e0086c7 SHA512 611ddbbf5be3d2274e7f76be7f8200c6c7f3cba917efcc24e73685aa5f61c94237e6e48ce66f2d59ee4b74862e686f3ea7a29cf006717d5d0674db24d243d566 WHIRLPOOL d47aafa6fe7a11de94196dffb752c683722b8ead23979a7f4344c61964ebcd052a4f0ad6b9ab42a5d41f5551c0a543f46af59656fc8a79340257626272c1faae +DIST xemacs-21.4.22.tar.gz 8357931 SHA256 87fb7633106625935105e821eb8fe65e521a3de44d45fe864109779c3a8e4bd1 SHA512 7ddd91f8d1a1b9f6d984a5bfddd98705dd6f7e3d6b4f81c1e03d971c93e33bff09b641bc2ad0a0d9d2e44170063550ad0399f3e28237dd34b8ad6200d8b197e8 WHIRLPOOL f1d313aa2dee7f4238190b90c10dc951a31302563a8a098e69ed740e85f428ac360b363e44f1e618f2d97782b5532846df290e9f79f11abdc7648a1e380cb44e +DIST xemacs-21.4.24.tar.gz 8543879 SHA256 9016a51496d4978cf3dba75000a8e38bfc8cb4ca3a3f3e71371aa19259f26cd5 SHA512 b7a88d5a4a9f74f74c2067ed60f7ea87ac8ccad5d9c2c1033ecf07f540250191f8fa5f9e6d23d9fedd0f2ab1eb5ea6c29a7665a310ec512d85e2e4f337447213 WHIRLPOOL 469d52341833037e22cebeb6b554435c81b3f5749f64d86ddf31c3990dfc08a57f49fab7e868ab8c2009d1cae665f4fd731813f25c942d5aafd287ad7736a049 +DIST xemacs-21.5.31.tar.gz 15802193 SHA256 d59f90b7e72621376a23daa484f1929945d0527350a10989fd086bde9d0a997d SHA512 17c385459edffc063d43537dae5b2883d2d7481e7f7596d02c9859ecb9dd4ee48921647b389ed979d65ede2745b647c9b196c9ef0873e6d526d21262f04b7f41 WHIRLPOOL b2a1741af341f260671e1c8479f47c30113b515b240d86b41b6449abde96be896371d3f6b038ab72a96c422f84704de0a41e403a16c9ca2a4861e590e65b1f59 +DIST xemacs-21.5.33.tar.gz 15781151 SHA256 448c76aa32cd5c84257027846f01b75a5e4f1e9db3278f95e68ff23d59fb8f94 SHA512 75358b5cf2a012d23b95eb918e0ba1abf254db51d979d370f407b67871c6d09e2d59f59fe1acd46149933913222935e2c12be72cdf0314109c568f9f14438151 WHIRLPOOL 29d6a19d8cacc243afd3c21ed96cfabfa956531692e8ce4a454b958d32b08bb3eac47f52ada872ccfdb41082514145c602cc7ed81443bece7529365ba089f454 +DIST xemacs-21.5.34.tar.gz 15816932 SHA256 33cc54a6a9a45224a64b6c57c8138b5a5f0f1be368951a6d9ec8c0aec5993ee5 SHA512 b61d88fe530a77b88c2ed0cecd6597ed3c265450bc61f7c6823920f774b2d566ef6fc18a6c33928d846d08d465617d4ccd3c4656606ec8634127a683abbc929a WHIRLPOOL 733aabc45309ff4172ab77492dd85e71f156722f2e06d9a185c0a4260b9fbea607ff8a41dc43fc009cb8cdf3f05d4523778610a501f27a4917ab43cea03c6209 diff --git a/app-editors/xemacs/files/README.Gentoo b/app-editors/xemacs/files/README.Gentoo new file mode 100644 index 000000000000..abb71cc90988 --- /dev/null +++ b/app-editors/xemacs/files/README.Gentoo @@ -0,0 +1,45 @@ +README.Gentoo +------------- + +This is a quick tutorial on how to configure the XEmacs package user +interface (package-ui). After you configure package-ui, you will be +able to download and install XEmacs packages and dependencies while in +XEmacs. For the complete documentation, see +/usr/share/doc/xemacs-21.4.*/README.packages.gz + +Once XEmacs is emerged onto a Gentoo Linux system, you will only have +the following elisp modules installed: xemacs-base, efs and +(optionally if you had mule in USE) mule-base. This guide will show +how to use package-ui to download and install your own preference in +elisp modules to ~/.xemacs/xemacs-packages. + +First, start XEmacs and load the package-ui elisp module. + + M-x load-library RET package-ui RET + +The first thing to set is the download site (package-ui installs via +network). + + M-x customize-variable RET package-get-remote RET + +Insert a new value, then: + + Choice: Remote + Host: ibiblio.org + Directory: /pub/packages/editors/xemacs/packages/ + +Make sure you set and save the change. Note, other host/directories +are possible. The the documentation for package-ui for more +information. Hint: ibiblio.org is *fast*. + +Then set the location package-ui should install to: + + M-x customize-variable RET pui-package-install-dest-dir RET + + Directory: ~/.xemacs/xemacs-packages + +Make sure you set and save the change. + +At this point you can install your modules: + + M-x pui-list-packages diff --git a/app-editors/xemacs/files/xemacs-21.4.19-db.patch b/app-editors/xemacs/files/xemacs-21.4.19-db.patch new file mode 100644 index 000000000000..cf87d60e628a --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.19-db.patch @@ -0,0 +1,84 @@ +This patch fixes several database-related problems. + +dbm_open has been moved into gdbm_compat, so we check for that and include it. + +ndbm.h is located in /usr/include/gdbm on Gentoo, so we only check +there, given that we don't support normal dbm installations, and we +patch database.c as well. Not portable beyond Gentoo, but will work +for us. + +The checks for Berkeley DB only took into account up to version +3. Added checks to deal with several versions 4 as well. + +--- xemacs-21.4.19/configure.in 2005-12-24 01:48:14.000000000 +0100 ++++ xemacs-21.4.19-db/configure.in 2006-06-11 22:43:52.000000000 +0200 +@@ -4502,7 +4502,7 @@ + + dnl Check for ndbm.h, required for either kind of DBM support. + if test "$with_database_gdbm $with_database_dbm" != "no no"; then +- AC_CHECK_HEADER(ndbm.h, [:], [ ++ AC_CHECK_HEADER(gdbm/ndbm.h, [:], [ + test "$with_database_gdbm" = "yes" -o \ + "$with_database_dbm" = "yes" && \ + XE_DIE("Required DBM support cannot be provided.") +@@ -4513,10 +4513,13 @@ + if test "$with_database_gdbm" != "no"; then + AC_CHECK_LIB(gdbm, dbm_open, [ + with_database_gdbm=yes with_database_dbm=no libdbm=-lgdbm], [ ++ AC_CHECK_LIB(gdbm_compat, dbm_open, [ ++ with_database_gdbm=yes with_database_dbm=no libdbm="-lgdbm_compat -lgdbm"], [ + if test "$with_database_gdbm" = "yes"; then + XE_DIE("Required GNU DBM support cannot be provided.") + fi +- with_database_gdbm=no]) ++ with_database_gdbm=no], -lgdbm) ++ ]) + fi + + dnl Check for DBM support in libc and libdbm. +@@ -4614,11 +4617,30 @@ + #if DB_VERSION_MAJOR > 2 + yes + #endif +-], [AC_MSG_RESULT(3); dbfunc=db_create],[ +- AC_MSG_RESULT(2); dbfunc=db_open])],[ +- AC_MSG_RESULT(1); dbfunc=dbopen]) ++], [AC_EGREP_CPP(yes, ++[#include <$db_h_file> ++#if DB_VERSION_MAJOR > 3 ++yes ++#endif ++], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[ ++ AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[ ++ AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[ ++ AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1]) + AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [ +- AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)]) ++ AC_CHECK_LIB(db, db_create_4002, with_database_berkdb=yes need_libdb=yes)]) ++ fi ++ ++ dnl Berk db 4.1 decorates public functions with version information ++ if test "$have_database_berkdb" != "yes" -a "$dbver" = "4"; then ++ rm -f $tempcname ++ echo "#include <$db_h_file>" > $tempcname ++ echo "configure___ dbfunc=db_create" >> $tempcname ++ define(TAB, [ ])dnl ++ eval `$CPP -Isrc $tempcname \ ++ | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"` ++ rm -f $tempcname ++ AC_MSG_WARN("db_create is really $dbfunc") ++ AC_CHECK_LIB(db, $dbfunc, have_database_berkdb=yes need_libdb=yes) + fi + + if test "$with_database_berkdb" = "yes"; then +--- xemacs-21.4.19/src/database.c 2005-12-24 01:52:35.000000000 +0100 ++++ xemacs-21.4.19-db/src/database.c 2006-06-13 21:00:01.000000000 +0200 +@@ -82,7 +82,7 @@ + #endif /* HAVE_BERKELEY_DB */ + + #ifdef HAVE_DBM +-#include <ndbm.h> ++#include <gdbm/ndbm.h> + Lisp_Object Qdbm; + #endif /* HAVE_DBM */ + diff --git a/app-editors/xemacs/files/xemacs-21.4.19-texi.patch b/app-editors/xemacs/files/xemacs-21.4.19-texi.patch new file mode 100644 index 000000000000..f53eb3dafd31 --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.19-texi.patch @@ -0,0 +1,33 @@ +Index: emodules.texi +=================================================================== +RCS file: /pack/xemacscvs/XEmacs/xemacs/man/emodules.texi,v +retrieving revision 1.2.2.2 +diff -u -B -r1.2.2.2 emodules.texi +--- man/emodules.texi 2002/08/20 11:35:22 1.2.2.2 ++++ man/emodules.texi 2006/12/09 14:21:22 +@@ -3,6 +3,9 @@ + @c %**start of header + @setfilename ../info/emodules.info + @settitle Extending Emacs using C Modules ++@direntry ++* Emodules: (emodules). XEmacs dynamically loadable module support. ++@end direntry + @c %**end of header + + @c +Index: external-widget.texi +=================================================================== +RCS file: /pack/xemacscvs/XEmacs/xemacs/man/external-widget.texi,v +retrieving revision 1.3.2.1 +diff -u -B -r1.3.2.1 external-widget.texi +--- man/external-widget.texi 2002/04/30 16:06:06 1.3.2.1 ++++ man/external-widget.texi 2006/12/09 14:21:22 +@@ -4,7 +4,7 @@ + @ifinfo + @dircategory XEmacs Editor + @direntry +-* External Widget: (external-widget) External Client Widget. ++* External Widget: (external-widget). External Client Widget. + @end direntry + @end ifinfo + diff --git a/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch b/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch new file mode 100644 index 000000000000..105eb549eb6d --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch @@ -0,0 +1,19 @@ +--- lib-src/vcdiff.~1~ 1996-12-18 23:42:33.000000000 +0100 ++++ lib-src/vcdiff 2008-04-09 08:20:36.000000000 +0200 +@@ -79,14 +79,14 @@ + case $f in + s.* | */s.*) + if +- rev1=/tmp/geta$$ ++ rev1=`mktemp /tmp/geta.XXXXXXXX` + get -s -p -k $sid1 "$f" > $rev1 && + case $sid2 in + '') + workfile=`expr " /$f" : '.*/s.\(.*\)'` + ;; + *) +- rev2=/tmp/getb$$ ++ rev2=`mktemp /tmp/getb.XXXXXXXX` + get -s -p -k $sid2 "$f" > $rev2 + workfile=$rev2 + esac diff --git a/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch b/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch new file mode 100644 index 000000000000..aceae530bcb0 --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch @@ -0,0 +1,18 @@ +Patch to include depracated LDAP symbols, specifically +ldap_open. Without the proper prototype the call will almost surely +lead to crashes on 64-bit arches otherwise. Thanks to hwoareng for the +initial bug report. + +Not reported upstream since bug tracker is down. + +--- src/eldap.h.~1~ 2001-04-12 20:23:36.000000000 +0200 ++++ src/eldap.h 2010-09-28 19:53:34.148472315 +0200 +@@ -21,6 +21,8 @@ + #ifndef INCLUDED_eldap_h_ + #define INCLUDED_eldap_h_ + ++#define LDAP_DEPRECATED 1 ++ + #include <lber.h> + #include <ldap.h> + diff --git a/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch b/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch new file mode 100644 index 000000000000..a03af3ccfa38 --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch @@ -0,0 +1,122 @@ +PATCH 21.4 + +Here is the 21.4 version of the previous patch. The lisp.h hunk is a +little ugly. Recommendations on how to deal with the absence of +UINT_64_T in 21.4 are welcome. + +Index: src/glyphs-eimage.c +=================================================================== +RCS file: /pack/xemacscvs/XEmacs/xemacs/src/glyphs-eimage.c,v +retrieving revision 1.9.2.5 +diff -d -u -r1.9.2.5 glyphs-eimage.c +--- src/glyphs-eimage.c 2007/08/20 19:52:28 1.9.2.5 ++++ src/glyphs-eimage.c 2009/07/01 22:36:04 +@@ -407,6 +407,7 @@ + */ + + { ++ UINT_64_BIT pixels_sq; + int jpeg_gray = 0; /* if we're dealing with a grayscale */ + /* Step 4: set parameters for decompression. */ + +@@ -429,7 +430,10 @@ + jpeg_start_decompress (&cinfo); + + /* Step 6: Read in the data and put into EImage format (8bit RGB triples)*/ +- ++ pixels_sq = ++ (UINT_64_BIT) cinfo.output_width * (UINT_64_BIT) cinfo.output_height; ++ if (pixels_sq > ((size_t) -1) / 3) ++ signal_image_error ("JPEG image too large to instantiate", instantiator); + unwind.eimage = (unsigned char*) xmalloc (cinfo.output_width * cinfo.output_height * 3); + if (!unwind.eimage) + signal_image_error("Unable to allocate enough memory for image", instantiator); +@@ -671,6 +675,7 @@ + { + ColorMapObject *cmo = unwind.giffile->SColorMap; + int i, j, row, pass, interlace, slice; ++ UINT_64_BIT pixels_sq; + unsigned char *eip; + /* interlaced gifs have rows in this order: + 0, 8, 16, ..., 4, 12, 20, ..., 2, 6, 10, ..., 1, 3, 5, ... */ +@@ -679,6 +684,9 @@ + + height = unwind.giffile->SHeight; + width = unwind.giffile->SWidth; ++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; ++ if (pixels_sq > ((size_t) -1) / (3 * unwind.giffile->ImageCount)) ++ signal_image_error ("GIF image too large to instantiate", instantiator); + unwind.eimage = (unsigned char*) + xmalloc (width * height * 3 * unwind.giffile->ImageCount); + if (!unwind.eimage) +@@ -937,11 +945,15 @@ + { + int y; + unsigned char **row_pointers; ++ UINT_64_BIT pixels_sq; + height = info_ptr->height; + width = info_ptr->width; ++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; ++ if (pixels_sq > ((size_t) -1) / 3) ++ signal_image_error ("PNG image too large to instantiate", instantiator); + + /* Wow, allocate all the memory. Truly, exciting. */ +- unwind.eimage = xnew_array_and_zero (unsigned char, width * height * 3); ++ unwind.eimage = xnew_array_and_zero (unsigned char, pixels_sq * 3); + /* libpng expects that the image buffer passed in contains a + picture to draw on top of if the png has any transparencies. + This could be a good place to pass that in... */ +@@ -994,7 +1006,7 @@ + png_set_expand (png_ptr); + /* send grayscale images to RGB too */ + if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || +- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ++ info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb (png_ptr); + /* we can't handle alpha values */ + if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) +@@ -1268,6 +1280,7 @@ + + uint32 *raster; + unsigned char *ep; ++ UINT_64_BIT pixels_sq; + + assert (!NILP (data)); + +@@ -1290,12 +1303,15 @@ + + TIFFGetField (unwind.tiff, TIFFTAG_IMAGEWIDTH, &width); + TIFFGetField (unwind.tiff, TIFFTAG_IMAGELENGTH, &height); +- unwind.eimage = (unsigned char *) xmalloc (width * height * 3); ++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; ++ if (pixels_sq >= 1 << 29) ++ signal_image_error ("TIFF image too large to instantiate", instantiator); ++ unwind.eimage = (unsigned char *) xmalloc (pixels_sq * 3); + + /* #### This is little more than proof-of-concept/function testing. + It needs to be reimplemented via scanline reads for both memory + compactness. */ +- raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32)); ++ raster = (uint32*) _TIFFmalloc ((tsize_t) (pixels_sq * sizeof (uint32))); + if (raster != NULL) + { + int i,j; +Index: src/lisp.h +=================================================================== +RCS file: /pack/xemacscvs/XEmacs/xemacs/src/lisp.h,v +retrieving revision 1.45.2.10 +diff -d -u -r1.45.2.10 lisp.h +--- src/lisp.h 2005/02/01 03:55:02 1.45.2.10 ++++ src/lisp.h 2009/07/01 22:36:05 +@@ -265,6 +265,11 @@ + /*#define REGISTER register*/ + /*#endif*/ + ++#if SIZEOF_LONG == 8 ++#define UINT_64_BIT unsigned long ++#elif SIZEOF_LONG_LONG == 8 ++#define UINT_64_BIT unsigned long long ++#endif + + /* EMACS_INT is the underlying integral type into which a Lisp_Object must fit. + In particular, it must be large enough to contain a pointer. diff --git a/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch b/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch new file mode 100644 index 000000000000..0143e375d749 --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch @@ -0,0 +1,66 @@ +diff -ur xemacs-21.4.22.orig/src/glyphs-eimage.c xemacs-21.4.22/src/glyphs-eimage.c +--- xemacs-21.4.22.orig/src/glyphs-eimage.c 2011-09-26 19:44:57.889720996 +0300 ++++ xemacs-21.4.22/src/glyphs-eimage.c 2011-09-26 19:48:07.026226254 +0300 +@@ -946,8 +946,8 @@ + int y; + unsigned char **row_pointers; + UINT_64_BIT pixels_sq; +- height = info_ptr->height; +- width = info_ptr->width; ++ height = png_get_image_height(png_ptr, info_ptr); ++ width = png_get_image_width(png_ptr, info_ptr); + pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; + if (pixels_sq > ((size_t) -1) / 3) + signal_image_error ("PNG image too large to instantiate", instantiator); +@@ -1002,22 +1002,22 @@ + /* Now that we're using EImage, ask for 8bit RGB triples for any type + of image*/ + /* convert palette images to full RGB */ +- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) + png_set_expand (png_ptr); + /* send grayscale images to RGB too */ +- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || +- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY || ++ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb (png_ptr); + /* we can't handle alpha values */ +- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) ++ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) + png_set_strip_alpha (png_ptr); + /* tell libpng to strip 16 bit depth files down to 8 bits */ +- if (info_ptr->bit_depth == 16) ++ if (png_get_bit_depth(png_ptr, info_ptr) == 16) + png_set_strip_16 (png_ptr); + /* if the image is < 8 bits, pad it out */ +- if (info_ptr->bit_depth < 8) ++ if (png_get_bit_depth(png_ptr, info_ptr) < 8) + { +- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY) + png_set_expand (png_ptr); + else + png_set_packing (png_ptr); +@@ -1036,16 +1036,18 @@ + */ + { + int i; ++ png_textp text; ++ int num_text; + +- for (i = 0 ; i < info_ptr->num_text ; i++) ++ for (i = 0 ; i < num_text ; i++) + { + /* How paranoid do I have to be about no trailing NULLs, and + using (int)info_ptr->text[i].text_length, and strncpy and a temp + string somewhere? */ + + warn_when_safe (Qpng, Qinfo, "%s - %s", +- info_ptr->text[i].key, +- info_ptr->text[i].text); ++ text[i].key, ++ text[i].text); + } + } + #endif diff --git a/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch b/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch new file mode 100644 index 000000000000..05dda3974a65 --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch @@ -0,0 +1,437 @@ +--- xemacs-21.4.22-orig/man/custom.texi ++++ xemacs-21.4.22/man/custom.texi +@@ -60,7 +60,7 @@ + + @node Declaring Groups, Declaring Variables, Top, Top + @comment node-name, next, previous, up +-@section Declaring Groups ++@chapter Declaring Groups + + Use @code{defgroup} to declare new customization groups. + +@@ -92,7 +92,7 @@ + + @node Declaring Variables, Declaring Faces, Declaring Groups, Top + @comment node-name, next, previous, up +-@section Declaring Variables ++@chapter Declaring Variables + + Use @code{defcustom} to declare user editable variables. + +@@ -176,7 +176,7 @@ + + @node Declaring Faces, Usage for Package Authors, Declaring Variables, Top + @comment node-name, next, previous, up +-@section Declaring Faces ++@chapter Declaring Faces + + Faces are declared with @code{defface}. + +@@ -228,7 +228,7 @@ + + @node Usage for Package Authors, Utilities, Declaring Faces, Top + @comment node-name, next, previous, up +-@section Usage for Package Authors ++@chapter Usage for Package Authors + + The recommended usage for the author of a typical emacs lisp package is + to create one group identifying the package, and make all user options +@@ -244,7 +244,7 @@ + + @node Utilities, The Init File, Usage for Package Authors, Top + @comment node-name, next, previous, up +-@section Utilities ++@chapter Utilities + + These utilities can come in handy when adding customization support. + +@@ -276,7 +276,7 @@ + + @node The Init File, Wishlist, Utilities, Top + @comment node-name, next, previous, up +-@section The Init File ++@chapter The Init File + + Customizations are saved to the file specified by @code{custom-file}, as + calls to @code{custom-set-variables} and @code{custom-set-faces}. +@@ -299,7 +299,7 @@ + + @node Wishlist, , The Init File, Top + @comment node-name, next, previous, up +-@section Wishlist ++@chapter Wishlist + + @itemize @bullet + @item +--- xemacs-21.4.22-orig/man/info.texi ++++ xemacs-21.4.22/man/info.texi +@@ -543,6 +543,10 @@ + @c If a menu appears at the end of this node, remove it. + @c It is an accident of the menu updating command. + ++@menu ++* Help-Cross:: ++@end menu ++ + @node Help-Cross, , , Help-Adv + @subsection The node reached by the cross reference in Info + +--- xemacs-21.4.22-orig/man/lispref/edebug-inc.texi ++++ xemacs-21.4.22/man/lispref/edebug-inc.texi +@@ -1103,7 +1103,7 @@ + Here is a table of the possibilities for @var{specification} and how each + directs processing of arguments. + +-@table @bullet ++@table @asis + + @item @code{t} + All arguments are instrumented for evaluation. +--- xemacs-21.4.22-orig/man/lispref/packaging.texi ++++ xemacs-21.4.22/man/lispref/packaging.texi +@@ -600,7 +600,7 @@ + Does most of the work. Builds the elcs, infos at a minimum. + @end table + +-@subsection The targets that most people would be interested in would be: ++@section The targets that most people would be interested in would be: + + @itemize @bullet + @item @code{all} +--- xemacs-21.4.22-orig/man/term.texi ++++ xemacs-21.4.22/man/term.texi +@@ -4,7 +4,7 @@ + + @titlepage + @sp 6 +-@center @titlefont(Notes about Emacs TERM Mode) ++@center @titlefont{Notes about Emacs TERM Mode} + @end titlepage + + @ifinfo +--- xemacs-21.4.22-orig/man/widget.texi ++++ xemacs-21.4.22/man/widget.texi +@@ -38,7 +38,7 @@ + + @node Introduction, User Interface, Top, Top + @comment node-name, next, previous, up +-@section Introduction ++@chapter Introduction + + Most graphical user interface toolkits, such as Motif and XView, provide + a number of standard user interface controls (sometimes known as +@@ -129,7 +129,7 @@ + + @node User Interface, Programming Example, Introduction, Top + @comment node-name, next, previous, up +-@section User Interface ++@chapter User Interface + + A form consists of read only text for documentation and some fields, + where each of the fields contains two parts, a tag and a value. The +@@ -175,7 +175,7 @@ + a form, namely editing the editable text fields and activating the + buttons. + +-@subsection Editable Text Fields ++@section Editable Text Fields + + In the example, the value for the @samp{Name} is most likely displayed + in an editable text field, and so are values for each of the members of +@@ -194,7 +194,7 @@ + Face used for other editing fields. + @end deffn + +-@subsection Buttons ++@section Buttons + + Some portions of the buffer have an associated @dfn{action}, which can + be @dfn{invoked} by a standard key or mouse command. These portions +@@ -259,7 +259,7 @@ + Face used for buttons when the mouse pointer is above it. + @end defopt + +-@subsection Navigation ++@section Navigation + + You can use all the normal Emacs commands to move around in a form + buffer, plus you will have these additional commands: +@@ -277,7 +277,7 @@ + + @node Programming Example, Setting Up the Buffer, User Interface, Top + @comment node-name, next, previous, up +-@section Programming Example ++@chapter Programming Example + + Here is the code to implement the user interface example (see @ref{User + Interface}). +@@ -369,7 +369,7 @@ + + @node Setting Up the Buffer, Basic Types, Programming Example, Top + @comment node-name, next, previous, up +-@section Setting Up the Buffer ++@chapter Setting Up the Buffer + + Widgets are created with @code{widget-create}, which returns a + @dfn{widget} object. This object can be queried and manipulated by +@@ -422,7 +422,7 @@ + + @node Basic Types, Sexp Types, Setting Up the Buffer, Top + @comment node-name, next, previous, up +-@section Basic Types ++@chapter Basic Types + + The syntax of a type specification is given below: + +@@ -635,7 +635,7 @@ + + @node link, url-link, Basic Types, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{link} Widget ++@section The @code{link} Widget + + Syntax: + +@@ -659,7 +659,7 @@ + + @node url-link, info-link, link, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{url-link} Widget ++@section The @code{url-link} Widget + + Syntax: + +@@ -672,7 +672,7 @@ + + @node info-link, push-button, url-link, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{info-link} Widget ++@section The @code{info-link} Widget + + Syntax: + +@@ -685,7 +685,7 @@ + + @node push-button, editable-field, info-link, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{push-button} Widget ++@section The @code{push-button} Widget + + Syntax: + +@@ -709,7 +709,7 @@ + + @node editable-field, text, push-button, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{editable-field} Widget ++@section The @code{editable-field} Widget + + Syntax: + +@@ -753,7 +753,7 @@ + + @node text, menu-choice, editable-field, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{text} Widget ++@section The @code{text} Widget + + This is just like @code{editable-field}, but intended for multiline text + fields. The default @code{:keymap} is @code{widget-text-keymap}, which +@@ -761,7 +761,7 @@ + + @node menu-choice, radio-button-choice, text, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{menu-choice} Widget ++@section The @code{menu-choice} Widget + + Syntax: + +@@ -796,7 +796,7 @@ + + @node radio-button-choice, item, menu-choice, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{radio-button-choice} Widget ++@section The @code{radio-button-choice} Widget + + Syntax: + +@@ -856,7 +856,7 @@ + + @node item, choice-item, radio-button-choice, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{item} Widget ++@section The @code{item} Widget + + Syntax: + +@@ -870,7 +870,7 @@ + + @node choice-item, toggle, item, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{choice-item} Widget ++@section The @code{choice-item} Widget + + Syntax: + +@@ -886,7 +886,7 @@ + + @node toggle, checkbox, choice-item, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{toggle} Widget ++@section The @code{toggle} Widget + + Syntax: + +@@ -914,7 +914,7 @@ + + @node checkbox, checklist, toggle, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{checkbox} Widget ++@section The @code{checkbox} Widget + + The widget has two possible states, `selected' and `unselected', which + corresponds to a @code{t} or @code{nil} value. +@@ -927,7 +927,7 @@ + + @node checklist, editable-list, checkbox, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{checklist} Widget ++@section The @code{checklist} Widget + + Syntax: + +@@ -978,7 +978,7 @@ + + @node editable-list, group, checklist, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{editable-list} Widget ++@section The @code{editable-list} Widget + + Syntax: + +@@ -1030,7 +1030,7 @@ + + @node group, , editable-list, Basic Types + @comment node-name, next, previous, up +-@subsection The @code{group} Widget ++@section The @code{group} Widget + + This widget simply groups other widgets together. + +@@ -1044,7 +1044,7 @@ + + @node Sexp Types, Widget Properties, Basic Types, Top + @comment +-@section Sexp Types ++@chapter Sexp Types + + A number of widgets for editing s-expressions (lisp types) are also + available. These basically fall in the following categories. +@@ -1058,7 +1058,7 @@ + + @node constants, generic, Sexp Types, Sexp Types + @comment node-name, next, previous, up +-@subsection The Constant Widgets. ++@section The Constant Widgets. + + The @code{const} widget can contain any lisp expression, but the user is + prohibited from editing it, which is mainly useful as a component of one +@@ -1094,7 +1094,7 @@ + + @node generic, atoms, constants, Sexp Types + @comment node-name, next, previous, up +-@subsection Generic Sexp Widget. ++@section Generic Sexp Widget. + + The @code{sexp} widget can contain any lisp expression, and allows the + user to edit it inline in the buffer. +@@ -1115,7 +1115,7 @@ + + @node atoms, composite, generic, Sexp Types + @comment node-name, next, previous, up +-@subsection Atomic Sexp Widgets. ++@section Atomic Sexp Widgets. + + The atoms are s-expressions that does not consist of other + s-expressions. A string is an atom, while a list is a composite type. +@@ -1192,7 +1192,7 @@ + + @node composite, , atoms, Sexp Types + @comment node-name, next, previous, up +-@subsection Composite Sexp Widgets. ++@section Composite Sexp Widgets. + + The syntax for the composite are + +@@ -1265,7 +1265,7 @@ + + @node Widget Properties, Defining New Widgets, Sexp Types, Top + @comment node-name, next, previous, up +-@section Properties ++@chapter Properties + + You can examine or set the value of a widget by using the widget object + that was returned by @code{widget-create}. +@@ -1353,7 +1353,7 @@ + + @node Defining New Widgets, Widget Browser, Widget Properties, Top + @comment node-name, next, previous, up +-@section Defining New Widgets ++@chapter Defining New Widgets + + You can define specialized widgets with @code{define-widget}. It allows + you to create a shorthand for more complex widgets. This includes +@@ -1565,7 +1565,7 @@ + + @node Widget Browser, Widget Minor Mode, Defining New Widgets, Top + @comment node-name, next, previous, up +-@section Widget Browser ++@chapter Widget Browser + + There is a separate package to browse widgets. This is intended to help + programmers who want to examine the content of a widget. The browser +@@ -1589,7 +1589,7 @@ + + @node Widget Minor Mode, Utilities, Widget Browser, Top + @comment node-name, next, previous, up +-@section Widget Minor Mode ++@chapter Widget Minor Mode + + There is a minor mode for manipulating widgets in major modes that + doesn't provide any support for widgets themselves. This is mostly +@@ -1606,7 +1606,7 @@ + + @node Utilities, Widget Wishlist, Widget Minor Mode, Top + @comment node-name, next, previous, up +-@section Utilities. ++@chapter Utilities. + + @defun widget-prompt-value widget prompt [ value unbound ] + Prompt for a value matching @var{widget}, using @var{prompt}.@* +@@ -1621,7 +1621,7 @@ + + @node Widget Wishlist, Widget Internals, Utilities, Top + @comment node-name, next, previous, up +-@section Wishlist ++@chapter Wishlist + + @itemize @bullet + @item +@@ -1693,7 +1693,7 @@ + @end itemize + + @node Widget Internals, , Widget Wishlist, Top +-@section Internals ++@chapter Internals + + This (very brief!) section provides a few notes on the internal + structure and implementation of Emacs widgets. Avoid relying on this +@@ -1701,7 +1701,7 @@ + To the extent that it actually describes APIs, the information will be + moved to appropriate sections of the manual in due course. + +-@subsection The @dfn{Widget} and @dfn{Type} Structures ++@section The @dfn{Widget} and @dfn{Type} Structures + + Widgets and types are currently both implemented as lists. + diff --git a/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch b/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch new file mode 100644 index 000000000000..32a1a02c2abe --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch @@ -0,0 +1,14 @@ +Work around a GCC optimization bug as described in +http://tracker.xemacs.org/XEmacs/its/issue354 + +--- src/dumper.c.~1~ 2008-01-26 09:54:11.000000000 +0100 ++++ src/dumper.c 2008-05-03 10:17:03.000000000 +0200 +@@ -2584,7 +2584,7 @@ + #endif /* !WIN32_NATIVE */ + + +-static int ++int + pdump_file_try (Wexttext *exe_path) + { + Wexttext *w = exe_path + wext_strlen (exe_path); diff --git a/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch b/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch new file mode 100644 index 000000000000..17e572044fac --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch @@ -0,0 +1,33 @@ +diff -r a2912073be85 lisp/paragraphs.el +--- a/lisp/paragraphs.el Wed Jun 19 09:30:30 2013 -0600 ++++ b/lisp/paragraphs.el Sat Jun 22 13:27:48 2013 +0200 +@@ -180,7 +180,10 @@ + :type '(choice regexp (const :tag "Use default value" nil))) + (put 'sentence-end 'safe-local-variable 'string-or-null-p) + +-(defcustom sentence-end-base "[.?!][]\"'”)}]*" ++(defcustom sentence-end-base ++ (concat "[.?!][]\"'" ++ (if (featurep 'mule) (string (unicode-to-char #x201D)) "") ++ ")}]*") + "Regexp matching the basic end of a sentence, not including following space." + :group 'paragraphs + :type 'string +@@ -201,14 +204,14 @@ + in between. See Info node `(elisp)Standard Regexps'." + (or sentence-end + ;; We accept non-break space along with space. +- (concat (if sentence-end-without-period "\\w[ \u00a0][ \u00a0]\\|") ++ (concat (if sentence-end-without-period "\\w[ \240][ \240]\\|") + "\\(" + sentence-end-base + (if sentence-end-double-space +- "\\($\\|[ \u00a0]$\\|\t\\|[ \u00a0][ \u00a0]\\)" "\\($\\|[\t \u00a0]\\)") ++ "\\($\\|[ \240]$\\|\t\\|[ \240][ \240]\\)" "\\($\\|[\t \240]\\)") + "\\|[" sentence-end-without-space "]+" + "\\)" +- "[ \u00a0\t\n]*"))) ++ "[ \240\t\n]*"))) + + (defcustom page-delimiter "^\014" + "*Regexp describing line-beginnings that separate pages." diff --git a/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch b/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch new file mode 100644 index 000000000000..a08eda3c8a83 --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch @@ -0,0 +1,13 @@ +diff -r 6355de501637 configure +--- a/configure Thu Jan 23 15:03:16 2014 +0000 ++++ b/configure Fri Jan 31 23:55:12 2014 +0100 +@@ -19699,7 +19699,8 @@ + extra_objs="$extra_objs terminfo.o" && if test "$verbose" = "yes"; then + echo " xemacs will be linked with \"terminfo.o\"" + fi +- LIBS="-lncurses $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-lncurses\" to \$LIBS"; fi ++ ncurses_libs=$(pkg-config ncurses --libs) ++ LIBS="$ncurses_libs $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"$ncurses_libs\" to \$LIBS"; fi + + if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then + save_c_switch_site="$c_switch_site" diff --git a/app-editors/xemacs/files/xemacs.desktop b/app-editors/xemacs/files/xemacs.desktop new file mode 100644 index 000000000000..93f14a731f2b --- /dev/null +++ b/app-editors/xemacs/files/xemacs.desktop @@ -0,0 +1,33 @@ +[Desktop Entry] +Name=XEmacs Text Editor +Name[bg]=редактор XEmacs +Name[ca]=Editor XEmacs +Name[cs]=Editor XEmacs +Name[da]=XEmacs tekstredigerer +Name[de]=XEmacs Texteditor +Name[eo]=La redaktilo XEmakso +Name[es]=Emacs para X +Name[et]=Emacs X'i kasutajaliidesega +Name[fi]=XEmacs editori +Name[fr]=Éditeur XEmacs +Name[hu]=XEmacs szövegszerkesztő +Name[is]=XEmacs-ritill +Name[it]=Emacs per X +Name[ja]=XEmacs テキスト・エディター +Name[mk]=Софистицираниот XEmacs уредувач +Name[no]=XEmacs-tekstredigerer +Name[pt]=Editor XEmacs +Name[ro]=Editorul XEmacs +Name[ru]=Редактор XEmacs +Name[sk]=Editor XEmacs +Name[sl]=Urejevalnik XEmacs +Name[uk]=Редактор XEmacs +GenericName=Text Editor +Comment=Edit text +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +Exec=xemacs %f +Icon=xemacs +Type=Application +Terminal=false +Categories=Utility;TextEditor; +StartupWMClass=Emacs diff --git a/app-editors/xemacs/metadata.xml b/app-editors/xemacs/metadata.xml new file mode 100644 index 000000000000..1476b66ede4b --- /dev/null +++ b/app-editors/xemacs/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>xemacs</herd> + <maintainer> + <email>xemacs@gentoo.org</email> + <description>Primary Maintainer</description> + </maintainer> + <longdescription></longdescription> + <use> + <flag name='athena'>Chooses the MIT Athena widget set</flag> + <flag name='dnd'>Enables support for the <pkg>x11-libs/dnd</pkg> + drag-n-drop library</flag> + <flag name='eolconv'>Support detection and translation of newline + conventions</flag> + <flag name='pop'>Support POP for mail retrieval</flag> + <flag name='xim'>Enable X11 XiM input method</flag> + </use> +</pkgmetadata> diff --git a/app-editors/xemacs/xemacs-21.4.22-r4.ebuild b/app-editors/xemacs/xemacs-21.4.22-r4.ebuild new file mode 100644 index 000000000000..e8f4a7949c49 --- /dev/null +++ b/app-editors/xemacs/xemacs-21.4.22-r4.ebuild @@ -0,0 +1,258 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Note: xemacs currently does not work with a hardened profile. If you +# want to use xemacs on a hardened profile then compile with the +# -nopie flag in CFLAGS or help fix bug #75028. + +EAPI="5" + +WANT_AUTOCONF="2.1" +inherit autotools eutils toolchain-funcs + +DESCRIPTION="highly customizable open source text editor and application development system" +HOMEPAGE="http://www.xemacs.org/" +SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86" +IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb" + +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-libs/zlib-1.1.4 + >=dev-libs/openssl-0.9.6:0 + >=media-libs/audiofile-0.2.3 + gpm? ( >=sys-libs/gpm-1.19.6 ) + postgres? ( dev-db/postgresql:= ) + ldap? ( net-nds/openldap ) + nas? ( media-libs/nas ) + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) ) + dnd? ( x11-libs/dnd ) + motif? ( >=x11-libs/motif-2.3:0 ) + athena? ( x11-libs/libXaw ) + Xaw3d? ( x11-libs/libXaw3d ) + neXt? ( x11-libs/neXtaw ) + xface? ( media-libs/compface ) + tiff? ( media-libs/tiff:0 ) + png? ( >=media-libs/libpng-1.2:0 ) + jpeg? ( virtual/jpeg:0 ) + canna? ( app-i18n/canna ) + !amd64? ( freewnn? ( app-i18n/freewnn ) ) + >=sys-libs/ncurses-5.2 + >=app-eselect/eselect-emacs-1.15" + +DEPEND="${RDEPEND}" + +PDEPEND="app-xemacs/xemacs-base + mule? ( app-xemacs/mule-base )" + +src_unpack() { + unpack ${P}.tar.gz + use neXt && unpack NeXT_XEmacs.tar.gz +} + +src_prepare() { + epatch "${FILESDIR}"/xemacs-21.4.19-texi.patch + + # see bug 58350, 102540 and 143580 + epatch "${FILESDIR}"/xemacs-21.4.19-db.patch + + # Security bug #216880 + epatch "${FILESDIR}"/xemacs-21.4.21-vcdiff.patch + + # Security bug #275397 + epatch "${FILESDIR}"/${P}-large-images.patch + + # Make sure to include deprecated LDAP symbols to avoid runtime + # crashes. + epatch "${FILESDIR}"/${P}-deprecated-ldap.patch + + # Fix compilation with libpng 1.5, bug 384461 + epatch "${FILESDIR}"/${P}-libpng15.patch + + # Add texinfo-5.1 compatibility + epatch "${FILESDIR}"/${P}-texinfo-5.patch + + # Some binaries and man pages are installed under suffixed names + # to avoid collions with their GNU Emacs counterparts (see below). + # Fix internal filename references. + sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die + sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die + sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die + + # Run autoconf. XEmacs tries to be smart by providing a stub + # configure.ac file for autoconf 2.59 but this throws our + # autotools eclass so it must be removed first. + rm "${S}"/configure.ac || die + eautoconf + + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/ +} + +src_configure() { + local myconf="" + + if use X; then + + myconf="${myconf} --with-widgets=athena" + myconf="${myconf} --with-dialogs=athena" + myconf="${myconf} --with-menubars=lucid" + myconf="${myconf} --with-scrollbars=lucid" + if use motif ; then + myconf="--with-widgets=motif" + myconf="${myconf} --with-dialogs=motif" + myconf="${myconf} --with-scrollbars=motif" + myconf="${myconf} --with-menubars=lucid" + fi + if use athena ; then + myconf="--with-scrollbars=athena" + fi + + if use Xaw3d; then + myconf="${myconf} --with-athena=3d" + elif use neXt; then + myconf="${myconf} --with-athena=next" + else + myconf="${myconf} --with-athena=xaw" + fi + + use dnd && myconf="${myconf} --with-dragndrop --with-offix" + + myconf="${myconf} $(use_with tiff ) $(use_with png )" + myconf="${myconf} $(use_with jpeg ) $(use_with xface )" + else + myconf="${myconf} + --without-x + --without-xpm + --without-dragndrop + --with-gif=no" + fi + + if use mule ; then + myconf="${myconf} --with-mule" + + if use xim ; then + if use motif ; then + myconf="${myconf} --with-xim=motif" + else + myconf="${myconf} --with-xim=xlib" + fi + else + myconf="${myconf} --with-xim=no" + fi + + myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )" + fi + + # This determines the type of sounds we are playing + local soundconf="native" + + # This determines how these sounds should be played + use nas && soundconf="${soundconf},nas" + + myconf="${myconf} --with-sound=${soundconf}" + + if use gdbm || use berkdb ; then + use gdbm && mydb="gdbm" + + use berkdb && mydb="${mydb},berkdb" + + myconf="${myconf} --with-database=${mydb}" + else + myconf="${myconf} --without-database" + fi + + # fixes #21264, this should be fixed in 21.4.21 and has been fixed + # in 21.5 for sure. Now that 21.4.21 is out there is no real + # evidence that this indeed got fixed, so keep these exceptions + # for now. + use alpha && myconf="${myconf} --with-system-malloc" + use ppc64 && myconf="${myconf} --with-system-malloc" + use ia64 && myconf="${myconf} --with-system-malloc" + + # Enabling modules will cause segfaults outside the XEmacs build directory + use ia64 && myconf="${myconf} --without-modules" + + # fixes #552044, deprecation warnings fools header detection in configure + myconf="${myconf} --cppflags=-Wno-cpp" + + einfo "${myconf}" + + # Don't use econf because it uses options which this configure + # script does not understand (like --host). + ./configure ${myconf} ${EXTRA_ECONF} \ + $(use_with gif ) \ + $(use_with gpm ) \ + $(use_with postgres postgresql ) \ + $(use_with ldap ) \ + $(use_with eolconv file-coding ) \ + $(use_with pop ) \ + --compiler=$(tc-getCC) \ + --prefix=/usr \ + --with-ncurses \ + --with-msw=no \ + --mail-locking=flock \ + --with-site-lisp=yes \ + --with-site-modules=yes \ + || die "The configure script failed to run properly" +} + +src_install() { + emake prefix="${D}"/usr \ + mandir="${D}"/usr/share/man/man1 \ + infodir="${D}"/usr/share/info \ + install gzip-el || die "emake install failed" + + # Rename some applications installed in bin so that it is clear + # which application installed them and so that conflicting + # packages (emacs) can't clobber the actual applications. + # Addresses bug #62991. + for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do + mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed" + done + + # rename man pages + for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do + mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed" + done + + # install base packages directories + dodir /usr/lib/xemacs/xemacs-packages/ + dodir /usr/lib/xemacs/site-packages/ + dodir /usr/lib/xemacs/site-modules/ + dodir /usr/lib/xemacs/site-lisp/ + + if use mule; + then + dodir /usr/lib/xemacs/mule-packages + fi + + # remove extraneous info files + cd "${D}"/usr/share/info + rm -f dir info.info texinfo* termcap* standards* + + cd "${S}" + dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README* + dodoc "${FILESDIR}"/README.Gentoo + + newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm + + domenu "${FILESDIR}"/${PN}.desktop +} + +pkg_postinst() { + eselect emacs update ifunset + eselect gnuclient update ifunset +} + +pkg_postrm() { + eselect emacs update ifunset + eselect gnuclient update ifunset +} diff --git a/app-editors/xemacs/xemacs-21.4.24.ebuild b/app-editors/xemacs/xemacs-21.4.24.ebuild new file mode 100644 index 000000000000..a9b17c431eaa --- /dev/null +++ b/app-editors/xemacs/xemacs-21.4.24.ebuild @@ -0,0 +1,241 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Note: xemacs currently does not work with a hardened profile. If you +# want to use xemacs on a hardened profile then compile with the +# -nopie flag in CFLAGS or help fix bug #75028. + +EAPI="5" + +WANT_AUTOCONF="2.1" +inherit autotools eutils toolchain-funcs + +DESCRIPTION="highly customizable open source text editor and application development system" +HOMEPAGE="http://www.xemacs.org/" +SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="alpha ~amd64 hppa ppc ppc64 sparc ~x86" +IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb" + +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-libs/zlib-1.1.4 + >=dev-libs/openssl-0.9.6:0 + >=media-libs/audiofile-0.2.3 + gpm? ( >=sys-libs/gpm-1.19.6 ) + postgres? ( dev-db/postgresql:= ) + ldap? ( net-nds/openldap ) + nas? ( media-libs/nas ) + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) ) + dnd? ( x11-libs/dnd ) + motif? ( >=x11-libs/motif-2.3:0 ) + athena? ( x11-libs/libXaw ) + Xaw3d? ( x11-libs/libXaw3d ) + neXt? ( x11-libs/neXtaw ) + xface? ( media-libs/compface ) + tiff? ( media-libs/tiff:0 ) + png? ( >=media-libs/libpng-1.2:0 ) + jpeg? ( virtual/jpeg:0 ) + canna? ( app-i18n/canna ) + !amd64? ( freewnn? ( app-i18n/freewnn ) ) + >=sys-libs/ncurses-5.2 + >=app-eselect/eselect-emacs-1.15" + +DEPEND="${RDEPEND} + >=sys-apps/texinfo-5" + +PDEPEND="app-xemacs/xemacs-base + mule? ( app-xemacs/mule-base )" + +src_unpack() { + unpack ${P}.tar.gz + use neXt && unpack NeXT_XEmacs.tar.gz +} + +src_prepare() { + # see bug 58350, 102540 and 143580 + epatch "${FILESDIR}"/xemacs-21.4.19-db.patch + + # Some binaries and man pages are installed under suffixed names + # to avoid collions with their GNU Emacs counterparts (see below). + # Fix internal filename references. + sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die + sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die + sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die + + # Run autoconf. XEmacs tries to be smart by providing a stub + # configure.ac file for autoconf 2.59 but this throws our + # autotools eclass so it must be removed first. + rm "${S}"/configure.ac || die + eautoconf + + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/ +} + +src_configure() { + local myconf="" + + if use X; then + + myconf="${myconf} --with-widgets=athena" + myconf="${myconf} --with-dialogs=athena" + myconf="${myconf} --with-menubars=lucid" + myconf="${myconf} --with-scrollbars=lucid" + if use motif ; then + myconf="--with-widgets=motif" + myconf="${myconf} --with-dialogs=motif" + myconf="${myconf} --with-scrollbars=motif" + myconf="${myconf} --with-menubars=lucid" + fi + if use athena ; then + myconf="--with-scrollbars=athena" + fi + + if use Xaw3d; then + myconf="${myconf} --with-athena=3d" + elif use neXt; then + myconf="${myconf} --with-athena=next" + else + myconf="${myconf} --with-athena=xaw" + fi + + use dnd && myconf="${myconf} --with-dragndrop --with-offix" + + myconf="${myconf} $(use_with tiff ) $(use_with png )" + myconf="${myconf} $(use_with jpeg ) $(use_with xface )" + else + myconf="${myconf} + --without-x + --without-xpm + --without-dragndrop + --with-gif=no" + fi + + if use mule ; then + myconf="${myconf} --with-mule" + + if use xim ; then + if use motif ; then + myconf="${myconf} --with-xim=motif" + else + myconf="${myconf} --with-xim=xlib" + fi + else + myconf="${myconf} --with-xim=no" + fi + + myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )" + fi + + # This determines the type of sounds we are playing + local soundconf="native" + + # This determines how these sounds should be played + use nas && soundconf="${soundconf},nas" + + myconf="${myconf} --with-sound=${soundconf}" + + if use gdbm || use berkdb ; then + use gdbm && mydb="gdbm" + + use berkdb && mydb="${mydb},berkdb" + + myconf="${myconf} --with-database=${mydb}" + else + myconf="${myconf} --without-database" + fi + + # fixes #21264, this should be fixed in 21.4.21 and has been fixed + # in 21.5 for sure. Now that 21.4.21 is out there is no real + # evidence that this indeed got fixed, so keep these exceptions + # for now. + use alpha && myconf="${myconf} --with-system-malloc" + use ppc64 && myconf="${myconf} --with-system-malloc" + use ia64 && myconf="${myconf} --with-system-malloc" + + # Enabling modules will cause segfaults outside the XEmacs build directory + use ia64 && myconf="${myconf} --without-modules" + + # fixes #552044, deprecation warnings fools header detection in configure + myconf="${myconf} --cppflags=-Wno-cpp" + + einfo "${myconf}" + + # Don't use econf because it uses options which this configure + # script does not understand (like --host). + ./configure ${myconf} ${EXTRA_ECONF} \ + $(use_with gif ) \ + $(use_with gpm ) \ + $(use_with postgres postgresql ) \ + $(use_with ldap ) \ + $(use_with eolconv file-coding ) \ + $(use_with pop ) \ + --compiler=$(tc-getCC) \ + --prefix=/usr \ + --with-ncurses \ + --with-msw=no \ + --mail-locking=flock \ + --with-site-lisp=yes \ + --with-site-modules=yes \ + || die "The configure script failed to run properly" +} + +src_install() { + emake prefix="${D}"/usr \ + mandir="${D}"/usr/share/man/man1 \ + infodir="${D}"/usr/share/info \ + install gzip-el || die "emake install failed" + + # Rename some applications installed in bin so that it is clear + # which application installed them and so that conflicting + # packages (emacs) can't clobber the actual applications. + # Addresses bug #62991. + for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do + mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed" + done + + # rename man pages + for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do + mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed" + done + + # install base packages directories + dodir /usr/lib/xemacs/xemacs-packages/ + dodir /usr/lib/xemacs/site-packages/ + dodir /usr/lib/xemacs/site-modules/ + dodir /usr/lib/xemacs/site-lisp/ + + if use mule; + then + dodir /usr/lib/xemacs/mule-packages + fi + + # remove extraneous info files + cd "${D}"/usr/share/info + rm -f dir info.info texinfo* termcap* standards* + + cd "${S}" + dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README* + dodoc "${FILESDIR}"/README.Gentoo + + newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm + + domenu "${FILESDIR}"/${PN}.desktop +} + +pkg_postinst() { + eselect emacs update ifunset + eselect gnuclient update ifunset +} + +pkg_postrm() { + eselect emacs update ifunset + eselect gnuclient update ifunset +} diff --git a/app-editors/xemacs/xemacs-21.5.31.ebuild b/app-editors/xemacs/xemacs-21.5.31.ebuild new file mode 100644 index 000000000000..073ddf74b5a6 --- /dev/null +++ b/app-editors/xemacs/xemacs-21.5.31.ebuild @@ -0,0 +1,239 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Note: xemacs currently does not work with a hardened profile. If you +# want to use xemacs on a hardened profile then compile with the +# -nopie flag in CFLAGS or help fix bug #75028. + +EAPI=4 + +WANT_AUTOCONF="2.5" +inherit eutils flag-o-matic multilib + +DESCRIPTION="highly customizable open source text editor and application development system" +HOMEPAGE="http://www.xemacs.org/" +SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd" +IUSE="alsa debug eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb" + +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps" + +RDEPEND=" + berkdb? ( >=sys-libs/db-4 !!<sys-libs/db-4 ) + gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] ) + >=sys-libs/zlib-1.1.4 + >=dev-libs/openssl-0.9.6:0 + >=media-libs/audiofile-0.2.3 + gpm? ( >=sys-libs/gpm-1.19.6 ) + postgres? ( dev-db/postgresql ) + ldap? ( net-nds/openldap ) + alsa? ( media-libs/alsa-lib ) + nas? ( media-libs/nas ) + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) ) + dnd? ( x11-libs/dnd ) + motif? ( >=x11-libs/motif-2.3:0[xft=] ) + athena? ( x11-libs/libXaw ) + Xaw3d? ( x11-libs/libXaw3d ) + xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 ) + neXt? ( x11-libs/neXtaw ) + xface? ( media-libs/compface ) + tiff? ( media-libs/tiff:0 ) + png? ( >=media-libs/libpng-1.2:0 ) + jpeg? ( virtual/jpeg:0 ) + canna? ( app-i18n/canna ) + freewnn? ( app-i18n/freewnn ) + >=sys-libs/ncurses-5.2" + +DEPEND="${RDEPEND} + >=app-eselect/eselect-emacs-1.2" + +PDEPEND="app-xemacs/xemacs-base + mule? ( app-xemacs/mule-base )" + +src_unpack() { + default_src_unpack + + use neXt && unpack NeXT_XEmacs.tar.gz +} + +src_prepare() { + # Fix problem caused by improper optimization with GCC 4.1.2 on x86 + # (and possibly other arches, but only confirmed on x86). See + # http://tracker.xemacs.org/XEmacs/its/issue354 for the upstream + # bug. + epatch "${FILESDIR}"/${PN}-21.5.29-optimization-bug.patch + + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/ +} + +src_configure() { + local myconf="" + + if use X; then + + myconf="${myconf} --with-widgets=athena" + myconf="${myconf} --with-dialogs=athena" + myconf="${myconf} --with-menubars=lucid" + myconf="${myconf} --with-scrollbars=lucid" + if use motif ; then + myconf="--with-widgets=motif" + myconf="${myconf} --with-dialogs=motif" + myconf="${myconf} --with-scrollbars=motif" + myconf="${myconf} --with-menubars=lucid" + fi + if use athena or use Xaw3d ; then + myconf="--with-scrollbars=athena" + fi + + if use Xaw3d; then + myconf="${myconf} --with-athena=3d" + elif use neXt; then + myconf="${myconf} --with-athena=next" + else + myconf="${myconf} --with-athena=xaw" + fi + + use dnd && myconf="${myconf} --with-dragndrop --with-offix" + + myconf="${myconf} $(use_with tiff )" + myconf="${myconf} $(use_with png )" + myconf="${myconf} $(use_with jpeg )" + myconf="${myconf} $(use_with xface )" + + use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" || + myconf="${myconf} --with-xft=no" + + else + myconf="${myconf} + --without-x + --without-xpm + --without-dragndrop + --with-xft=no + --with-gif=no" + fi + + if use mule ; then + myconf="${myconf} --with-mule" + + if use xim ; then + if use motif ; then + myconf="${myconf} --with-xim=motif" + else + myconf="${myconf} --with-xim=xlib" + fi + else + myconf="${myconf} --with-xim=no" + fi + + myconf="${myconf} $(use_with canna )" + myconf="${myconf} $(use_with freewnn wnn )" + fi + + # This determines the type of sounds we are playing + local soundconf="native" + + # This determines how these sounds should be played + use nas && soundconf="${soundconf},nas" + use alsa && soundconf="${soundconf},alsa" + + myconf="${myconf} --with-sound=${soundconf}" + + if use gdbm || use berkdb ; then + use gdbm && mydb="gdbm" + use berkdb && mydb="${mydb},berkdb" + + myconf="${myconf} --with-database=${mydb}" + else + myconf="${myconf} --without-database" + fi + + use debug && myconf="${myconf} --with-debug" || + myconf="${myconf} --with-optimization" + + econf ${myconf} \ + $(use_with gif ) \ + $(use_with gpm ) \ + $(use_with postgres postgresql ) \ + $(use_with ldap ) \ + $(use_with eolconv file-coding ) \ + $(use_with pop ) \ + --prefix=/usr \ + --with-ncurses \ + --with-msw=no \ + --with-mail-locking=flock \ + --with-site-lisp=yes \ + --with-site-modules=yes \ + --with-newgc \ + --enable-option-checking=no \ + --with-last-packages=/usr/lib/xemacs \ + || die "configuration failed" +} + +src_install() { + emake prefix="${D}"/usr \ + mandir="${D}"/usr/share/man/man1 \ + infodir="${D}"/usr/share/info \ + libdir="${D}"/usr/$(get_libdir) \ + datadir="${D}"/usr/share \ + install gzip-el || die + + # Rename some applications installed in bin so that it is clear + # which application installed them and so that conflicting + # packages (emacs) can't clobber the actual applications. + # Addresses bug #62991. + for i in b2m ctags etags ; do + mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed" + done + + # rename man pages + for i in ctags etags; do + mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed" + done + + # install base packages directories + dodir /usr/lib/xemacs/xemacs-packages/ + dodir /usr/lib/xemacs/site-packages/ + dodir /usr/lib/xemacs/site-modules/ + dodir /usr/lib/xemacs/site-lisp/ + + if use mule; + then + dodir /usr/lib/xemacs/mule-packages + fi + + # remove extraneous info files + cd "${D}"/usr/share/info + rm -f dir info.info texinfo* termcap* standards* + + cd "${S}" + dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README* + + newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm + + domenu "${FILESDIR}"/${PN}.desktop +} + +pkg_postinst() { + eselect emacs update ifunset + + einfo "If you are upgrading from XEmacs 21.4 you should note the following" + einfo "incompatibilities:" + einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5" + einfo "- The X resource class has changed from Emacs to XEmacs," + einfo " settings in your .Xdefaults file should be updated accordingly." + + if use xft; + then + einfo "You have enabled Xft font support. Xft requires font names to be provided" + einfo "in a different way, so you may need to adjust your .Xdefaults accordingly." + fi +} + +pkg_postrm() { + eselect emacs update ifunset +} diff --git a/app-editors/xemacs/xemacs-21.5.33.ebuild b/app-editors/xemacs/xemacs-21.5.33.ebuild new file mode 100644 index 000000000000..07d4248e34d0 --- /dev/null +++ b/app-editors/xemacs/xemacs-21.5.33.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Note: xemacs currently does not work with a hardened profile. If you +# want to use xemacs on a hardened profile then compile with the +# -nopie flag in CFLAGS or help fix bug #75028. + +EAPI=4 + +WANT_AUTOCONF="2.5" +inherit eutils flag-o-matic multilib + +DESCRIPTION="highly customizable open source text editor and application development system" +HOMEPAGE="http://www.xemacs.org/" +SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd" +IUSE="alsa debug eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb" + +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps" + +RDEPEND=" + berkdb? ( >=sys-libs/db-4 !!<sys-libs/db-4 ) + gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] ) + >=sys-libs/zlib-1.1.4 + >=dev-libs/openssl-0.9.6:0 + >=media-libs/audiofile-0.2.3 + gpm? ( >=sys-libs/gpm-1.19.6 ) + postgres? ( dev-db/postgresql ) + ldap? ( net-nds/openldap ) + alsa? ( media-libs/alsa-lib ) + nas? ( media-libs/nas ) + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) ) + dnd? ( x11-libs/dnd ) + motif? ( >=x11-libs/motif-2.3:0[xft=] ) + athena? ( x11-libs/libXaw ) + Xaw3d? ( x11-libs/libXaw3d ) + xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 ) + neXt? ( x11-libs/neXtaw ) + xface? ( media-libs/compface ) + tiff? ( media-libs/tiff:0 ) + png? ( >=media-libs/libpng-1.2:0 ) + jpeg? ( virtual/jpeg:0 ) + canna? ( app-i18n/canna ) + freewnn? ( app-i18n/freewnn ) + >=sys-libs/ncurses-5.2" + +DEPEND="${RDEPEND} + >=app-eselect/eselect-emacs-1.2" + +PDEPEND="app-xemacs/xemacs-base + mule? ( app-xemacs/mule-base )" + +src_unpack() { + default_src_unpack + + use neXt && unpack NeXT_XEmacs.tar.gz +} + +src_prepare() { + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/ + + # Fix for no-mule build. + find "${S}"/lisp -name '*.elc' -exec rm {} \; || die + epatch "${FILESDIR}"/${P}-no-mule-build.patch +} + +src_configure() { + local myconf="" + + if use X; then + + myconf="${myconf} --with-widgets=athena" + myconf="${myconf} --with-dialogs=athena" + myconf="${myconf} --with-menubars=lucid" + myconf="${myconf} --with-scrollbars=lucid" + if use motif ; then + myconf="--with-widgets=motif" + myconf="${myconf} --with-dialogs=motif" + myconf="${myconf} --with-scrollbars=motif" + myconf="${myconf} --with-menubars=lucid" + fi + if use athena or use Xaw3d ; then + myconf="--with-scrollbars=athena" + fi + + if use Xaw3d; then + myconf="${myconf} --with-athena=3d" + elif use neXt; then + myconf="${myconf} --with-athena=next" + else + myconf="${myconf} --with-athena=xaw" + fi + + use dnd && myconf="${myconf} --with-dragndrop --with-offix" + + myconf="${myconf} $(use_with tiff )" + myconf="${myconf} $(use_with png )" + myconf="${myconf} $(use_with jpeg )" + myconf="${myconf} $(use_with xface )" + + use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" || + myconf="${myconf} --with-xft=no" + + else + myconf="${myconf} + --without-x + --without-xpm + --without-dragndrop + --with-xft=no + --with-gif=no" + fi + + if use mule ; then + myconf="${myconf} --with-mule" + + if use xim ; then + if use motif ; then + myconf="${myconf} --with-xim=motif" + else + myconf="${myconf} --with-xim=xlib" + fi + else + myconf="${myconf} --with-xim=no" + fi + + myconf="${myconf} $(use_with canna )" + myconf="${myconf} $(use_with freewnn wnn )" + fi + + # This determines the type of sounds we are playing + local soundconf="native" + + # This determines how these sounds should be played + use nas && soundconf="${soundconf},nas" + use alsa && soundconf="${soundconf},alsa" + + myconf="${myconf} --with-sound=${soundconf}" + + if use gdbm || use berkdb ; then + use gdbm && mydb="gdbm" + use berkdb && mydb="${mydb},berkdb" + + myconf="${myconf} --with-database=${mydb}" + else + myconf="${myconf} --without-database" + fi + + use debug && myconf="${myconf} --with-debug" || + myconf="${myconf} --with-optimization" + + econf ${myconf} \ + $(use_with gif ) \ + $(use_with gpm ) \ + $(use_with postgres postgresql ) \ + $(use_with ldap ) \ + $(use_with eolconv file-coding ) \ + $(use_with pop ) \ + --prefix=/usr \ + --with-ncurses \ + --with-msw=no \ + --with-mail-locking=flock \ + --with-site-lisp=yes \ + --with-site-modules=yes \ + --with-newgc \ + --enable-option-checking=no \ + --with-last-packages=/usr/lib/xemacs \ + || die "configuration failed" +} + +src_install() { + emake prefix="${D}"/usr \ + mandir="${D}"/usr/share/man/man1 \ + infodir="${D}"/usr/share/info \ + libdir="${D}"/usr/$(get_libdir) \ + datadir="${D}"/usr/share \ + install gzip-el || die + + # Rename some applications installed in bin so that it is clear + # which application installed them and so that conflicting + # packages (emacs) can't clobber the actual applications. + # Addresses bug #62991. + for i in b2m ctags etags ; do + mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed" + done + + # rename man pages + for i in ctags etags; do + mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed" + done + + # install base packages directories + dodir /usr/lib/xemacs/xemacs-packages/ + dodir /usr/lib/xemacs/site-packages/ + dodir /usr/lib/xemacs/site-modules/ + dodir /usr/lib/xemacs/site-lisp/ + + if use mule; + then + dodir /usr/lib/xemacs/mule-packages + fi + + # remove extraneous info files + cd "${D}"/usr/share/info + rm -f dir info.info texinfo* termcap* standards* + + cd "${S}" + dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README* + + newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm + + domenu "${FILESDIR}"/${PN}.desktop +} + +pkg_postinst() { + eselect emacs update ifunset + + einfo "If you are upgrading from XEmacs 21.4 you should note the following" + einfo "incompatibilities:" + einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5" + einfo "- The X resource class has changed from Emacs to XEmacs," + einfo " settings in your .Xdefaults file should be updated accordingly." + + if use xft; + then + einfo "You have enabled Xft font support. Xft requires font names to be provided" + einfo "in a different way, so you may need to adjust your .Xdefaults accordingly." + fi +} + +pkg_postrm() { + eselect emacs update ifunset +} diff --git a/app-editors/xemacs/xemacs-21.5.34-r2.ebuild b/app-editors/xemacs/xemacs-21.5.34-r2.ebuild new file mode 100644 index 000000000000..ee0d516b0536 --- /dev/null +++ b/app-editors/xemacs/xemacs-21.5.34-r2.ebuild @@ -0,0 +1,250 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Note: xemacs currently does not work with a hardened profile. If you +# want to use xemacs on a hardened profile then compile with the +# -nopie flag in CFLAGS or help fix bug #75028. + +EAPI=4 + +WANT_AUTOCONF="2.5" +inherit eutils flag-o-matic multilib + +DESCRIPTION="highly customizable open source text editor and application development system" +HOMEPAGE="http://www.xemacs.org/" +SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd" +IUSE="alsa debug eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb" + +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps" + +RDEPEND=" + berkdb? ( >=sys-libs/db-4 !!<sys-libs/db-4 ) + gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] ) + >=sys-libs/zlib-1.1.4 + >=dev-libs/openssl-0.9.6:0 + >=media-libs/audiofile-0.2.3 + gpm? ( >=sys-libs/gpm-1.19.6 ) + postgres? ( dev-db/postgresql ) + ldap? ( net-nds/openldap ) + alsa? ( media-libs/alsa-lib ) + nas? ( media-libs/nas ) + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) ) + dnd? ( x11-libs/dnd ) + motif? ( >=x11-libs/motif-2.3:0[xft=] ) + athena? ( x11-libs/libXaw ) + Xaw3d? ( x11-libs/libXaw3d ) + xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 ) + neXt? ( x11-libs/neXtaw ) + xface? ( media-libs/compface ) + tiff? ( media-libs/tiff:0 ) + png? ( >=media-libs/libpng-1.2:0 ) + jpeg? ( virtual/jpeg:0 ) + canna? ( app-i18n/canna ) + freewnn? ( app-i18n/freewnn ) + >=sys-libs/ncurses-5.2 + >=app-eselect/eselect-emacs-1.15" + +DEPEND="${RDEPEND} + virtual/pkgconfig" + +PDEPEND="app-xemacs/xemacs-base + mule? ( app-xemacs/mule-base )" + +src_unpack() { + default_src_unpack + + use neXt && unpack NeXT_XEmacs.tar.gz +} + +src_prepare() { + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/ + find "${S}"/lisp -name '*.elc' -exec rm {} \; || die + epatch "${FILESDIR}/${P}-ncurses-tinfo.patch" + + # Some binaries and man pages are installed under suffixed names + # to avoid collions with their GNU Emacs counterparts (see below). + # Fix internal filename references. + sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die + sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die + sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die +} + +src_configure() { + local myconf="" + + if use X; then + + myconf="${myconf} --with-widgets=athena" + myconf="${myconf} --with-dialogs=athena" + myconf="${myconf} --with-menubars=lucid" + myconf="${myconf} --with-scrollbars=lucid" + if use motif ; then + myconf="--with-widgets=motif" + myconf="${myconf} --with-dialogs=motif" + myconf="${myconf} --with-scrollbars=motif" + myconf="${myconf} --with-menubars=lucid" + fi + if use athena or use Xaw3d ; then + myconf="--with-scrollbars=athena" + fi + + if use Xaw3d; then + myconf="${myconf} --with-athena=3d" + elif use neXt; then + myconf="${myconf} --with-athena=next" + else + myconf="${myconf} --with-athena=xaw" + fi + + use dnd && myconf="${myconf} --with-dragndrop --with-offix" + + myconf="${myconf} $(use_with tiff )" + myconf="${myconf} $(use_with png )" + myconf="${myconf} $(use_with jpeg )" + myconf="${myconf} $(use_with xface )" + + use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" || + myconf="${myconf} --with-xft=no" + + else + myconf="${myconf} + --without-x + --without-xpm + --without-dragndrop + --with-xft=no + --with-gif=no" + fi + + if use mule ; then + myconf="${myconf} --with-mule" + + if use xim ; then + if use motif ; then + myconf="${myconf} --with-xim=motif" + else + myconf="${myconf} --with-xim=xlib" + fi + else + myconf="${myconf} --with-xim=no" + fi + + myconf="${myconf} $(use_with canna )" + myconf="${myconf} $(use_with freewnn wnn )" + fi + + # This determines the type of sounds we are playing + local soundconf="native" + + # This determines how these sounds should be played + use nas && soundconf="${soundconf},nas" + use alsa && soundconf="${soundconf},alsa" + + myconf="${myconf} --with-sound=${soundconf}" + + if use gdbm || use berkdb ; then + use gdbm && mydb="gdbm" + use berkdb && mydb="${mydb},berkdb" + + myconf="${myconf} --with-database=${mydb}" + else + myconf="${myconf} --without-database" + fi + + use debug && myconf="${myconf} --with-debug" || + myconf="${myconf} --with-optimization" + + econf ${myconf} \ + $(use_with gif ) \ + $(use_with gpm ) \ + $(use_with postgres postgresql ) \ + $(use_with ldap ) \ + $(use_with eolconv file-coding ) \ + $(use_with pop ) \ + --prefix=/usr \ + --with-ncurses \ + --with-msw=no \ + --with-mail-locking=flock \ + --with-site-lisp=yes \ + --with-site-modules=yes \ + --with-newgc \ + --enable-option-checking=no \ + --with-last-packages=/usr/lib/xemacs \ + || die "configuration failed" +} + +src_compile() { + emake EMACSLOADPATH="${S}"/lisp +} + +src_install() { + emake prefix="${D}"/usr \ + mandir="${D}"/usr/share/man/man1 \ + infodir="${D}"/usr/share/info \ + libdir="${D}"/usr/$(get_libdir) \ + datadir="${D}"/usr/share \ + install || die + + # Rename some applications installed in bin so that it is clear + # which application installed them and so that conflicting + # packages (emacs) can't clobber the actual applications. + # Addresses bug #62991. + for i in b2m ctags etags gnuclient gnudoit gnuattach; do + mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed" + done + + # rename man pages + for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do + mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed" + done + + # install base packages directories + dodir /usr/lib/xemacs/xemacs-packages/ + dodir /usr/lib/xemacs/site-packages/ + dodir /usr/lib/xemacs/site-modules/ + dodir /usr/lib/xemacs/site-lisp/ + + if use mule; + then + dodir /usr/lib/xemacs/mule-packages + fi + + # remove extraneous info files + cd "${D}"/usr/share/info + rm -f dir info.info texinfo* termcap* standards* + + cd "${S}" + dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README* + + newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm + + domenu "${FILESDIR}"/${PN}.desktop +} + +pkg_postinst() { + eselect emacs update ifunset + eselect gnuclient update ifunset + + einfo "*************************************************" + einfo "If you are upgrading from XEmacs 21.4 you should note the following" + einfo "incompatibilities:" + einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5" + einfo "- The X resource class has changed from Emacs to XEmacs," + einfo " settings in your .Xdefaults file should be updated accordingly." + + if use xft; + then + einfo "You have enabled Xft font support. Xft requires font names to be provided" + einfo "in a different way, so you may need to adjust your .Xdefaults accordingly." + fi +} + +pkg_postrm() { + eselect emacs update ifunset + eselect gnuclient update ifunset +} diff --git a/app-editors/xmlcopyeditor/Manifest b/app-editors/xmlcopyeditor/Manifest new file mode 100644 index 000000000000..529450773bb8 --- /dev/null +++ b/app-editors/xmlcopyeditor/Manifest @@ -0,0 +1,4 @@ +DIST GuideXML-templates.tar.gz 884 SHA256 3ede041b74a64a3f262455728486a616ffb496fa0d6f3c50610387d9de0d742e SHA512 1a303c8f0664d950b89430f940fc27b8cc4f3b76d076437e62edbc736c50bce5794a7178a2c99712a29db4de7e9e8b03c0f598ab702e4289cb77625d5a63ab30 WHIRLPOOL 6094faa76f1b731537e5d254cdd33a98830c22ad4fb99817fd8332b59a03451bf9e3c14ef2fc71c32ed2c74bf1c1ca132210aaf3b2bdeb4342f2a0fc24505f6f +DIST xmlcopyeditor-1.2.0.12.tar.gz 4052354 SHA256 7f33795ca8c6c25207970a4933ff41651314dbd9fd73e94ae68dfde100baa415 SHA512 501ad0302d0dfd3a695adc430ca4b2a720092c04797ee9d2da597971be3c10a51984ab3d444b044f058ba6b1b7a384f71c16aac9fa30e7eb32d509d56972e349 WHIRLPOOL 7b731890a61a2c6742c3c97de9e661fe625a72d289711f9d04cd376e16b3f37dfde8b2d595fdd7ab35d1de8b2e992fdd0e2c824f9b915744f2e52fd2830a9f86 +DIST xmlcopyeditor-1.2.0.6-2.tar.gz 1526457 SHA256 9a4ba41d67604d303b1728877768f9e3ef85d56e6f580b0eeef840e12b84f02c SHA512 9833a520ed835ea1bb285ace9deca3e309a5b31fd923582f79302cd1b81e5caf1de39296efe6eda33d329b2c40aabb10bcd7b476e61d8b3ea6e5aac43b361b72 WHIRLPOOL 9e79075e4a0b325a08b9784a5bcdfdd414390d161440a47394bf63ed5944e700fef4c61e6e29c508ec7bfee802f527a5b393824d48ac82bd55527231ba341916 +DIST xmlcopyeditor-1.2.0.9.tar.gz 1815995 SHA256 850df750f3561320f6ab1b612e00cd2b9ecc2bed49ab1dcc261af78d0a28b7f7 SHA512 a375476fe1140a2089e7322c9d219ae3440a3b971947ced440f71c72e99b3b3998419bf34303df3e6093378336b2d69652c4e7dc93880ff40d8c3fac48103eaa WHIRLPOOL 75bbd422c7618650d183eac45f24871a80bf8cffcaa9f3d320d7fcb0a282cabf1f14b9f825e893373b85d99bd6c5f58db882a91eb427c9775822ce417f5d5278 diff --git a/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.0.6-gcc-4.8.patch b/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.0.6-gcc-4.8.patch new file mode 100644 index 000000000000..4367cee1fa0a --- /dev/null +++ b/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.0.6-gcc-4.8.patch @@ -0,0 +1,13 @@ +--- a/xmlcopyeditor-1.2.0.9/src/housestyle.h 2012-10-07 09:19:52.000000000 -0400 ++++ b/xmlcopyeditor-1.2.0.9/src/housestyle.h 2013-04-03 10:27:46.784455182 -0400 +@@ -68,8 +68,9 @@ + filterDirectory,
+ filterFile,
+ pathSeparator,
+- error,
++ error
+ #ifdef __WXMSW__
++ ,
+ aspellDataPath,
+ aspellDictPath
+ #endif
diff --git a/app-editors/xmlcopyeditor/metadata.xml b/app-editors/xmlcopyeditor/metadata.xml new file mode 100644 index 000000000000..5c04de6911fc --- /dev/null +++ b/app-editors/xmlcopyeditor/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>dabbott@gentoo.org</email> + <name>David Abbott</name> + <description>Maintainer. Assign bugs to him</description> + </maintainer> + <longdescription> + Fast, free, validating XML editor. +</longdescription> + <use> + <flag name="guidexml">Install GuideXML templates to work with Gentoo + official docs</flag> + </use> + <upstream> + <remote-id type="sourceforge">xml-copy-editor</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.12.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.12.ebuild new file mode 100644 index 000000000000..0facaeb9a381 --- /dev/null +++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.12.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +WX_GTK_VER="2.8" + +inherit autotools wxwidgets + +DESCRIPTION="XML Copy Editor is a fast, free, validating XML editor" +HOMEPAGE="http://xml-copy-editor.sourceforge.net/" +SRC_URI="mirror://sourceforge/xml-copy-editor/${P}.tar.gz + guidexml? ( mirror://gentoo/GuideXML-templates.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos" +IUSE="aqua guidexml" + +RDEPEND=">=dev-libs/libxml2-2.7.3-r1 + dev-libs/libxslt + dev-libs/xerces-c[icu] + dev-libs/libpcre + app-text/aspell + !aqua? ( x11-libs/wxGTK:2.8[X] ) + aqua? ( x11-libs/wxGTK:2.8[aqua] )" +DEPEND="${RDEPEND} + dev-libs/boost" + +DOCS=( AUTHORS ChangeLog README NEWS ) + +src_prepare() { + # fix desktop file + sed -i -e '/Categories/s/Application;//' \ + -e '/Icon/s/.png//' \ + -e 's/\r//g' \ + "src/${PN}.desktop" || die "sed on src/${PN}.desktop failed" + # bug #440744 + sed -i -e 's/ -Wall -g -fexceptions//g' \ + -e '/CXXFLAGS/s/CPPFLAGS/CXXFLAGS/' \ + configure.ac || die 'sed on configure.ac failed' + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install + + if use guidexml; then + insinto /usr/share/xmlcopyeditor/templates/ + for TEMPLATE in "${WORKDIR}"/GuideXML-templates/*.xml; do + newins "${TEMPLATE}" "${TEMPLATE##*/}" + done + fi + +} diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.6.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.6.ebuild new file mode 100644 index 000000000000..255dfa477a94 --- /dev/null +++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.6.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +WX_GTK_VER="2.8" +MY_P=${P}-2 + +inherit autotools eutils wxwidgets + +DESCRIPTION="XML Copy Editor is a fast, free, validating XML editor" +HOMEPAGE="http://xml-copy-editor.sourceforge.net/" +SRC_URI="mirror://sourceforge/xml-copy-editor/${MY_P}.tar.gz + guidexml? ( mirror://gentoo/GuideXML-templates.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos" +IUSE="aqua guidexml" + +RDEPEND=">=dev-libs/libxml2-2.7.3-r1 + dev-libs/libxslt + dev-libs/xerces-c[icu] + dev-libs/libpcre + app-text/aspell + !aqua? ( x11-libs/wxGTK:2.8[X] ) + aqua? ( x11-libs/wxGTK:2.8[aqua] )" +DEPEND="${RDEPEND} + dev-libs/boost" + +DOCS=( AUTHORS ChangeLog README NEWS ) + +src_prepare() { + # fix desktop file + sed -i -e '/Categories/s/Application;//' \ + -e '/Icon/s/.png//' \ + "src/${PN}.desktop" || die "sed on src/${PN}.desktop failed" + # bug #440744 + sed -i -e 's/ -Wall -g -fexceptions//g' \ + -e '/CXXFLAGS/s/CPPFLAGS/CXXFLAGS/' \ + configure.in || die 'sed on configure.in failed' + # bug #464280 + epatch "${FILESDIR}/${P}-gcc-4.8.patch" + + eautoreconf +} + +src_install() { + default + if use guidexml; then + insinto /usr/share/xmlcopyeditor/templates/ + for TEMPLATE in "${WORKDIR}"/GuideXML-templates/*.xml; do + newins "${TEMPLATE}" "${TEMPLATE##*/}" + done + fi +} diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.9.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.9.ebuild new file mode 100644 index 000000000000..a33e4e154b6f --- /dev/null +++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.9.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +WX_GTK_VER="2.8" + +inherit autotools eutils wxwidgets + +DESCRIPTION="XML Copy Editor is a fast, free, validating XML editor" +HOMEPAGE="http://xml-copy-editor.sourceforge.net/" +SRC_URI="mirror://sourceforge/xml-copy-editor/${P}.tar.gz + guidexml? ( mirror://gentoo/GuideXML-templates.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos" +IUSE="aqua guidexml" + +RDEPEND="app-text/aspell + >=dev-libs/libxml2-2.7.3-r1 + dev-libs/libxslt + dev-libs/xerces-c[icu] + dev-libs/libpcre + !aqua? ( x11-libs/wxGTK:2.8[X] ) + aqua? ( x11-libs/wxGTK:2.8[aqua] )" +DEPEND="${RDEPEND} + dev-libs/boost" + +DOCS=( AUTHORS ChangeLog README NEWS ) + +src_prepare() { + # fix desktop file + sed -i -e '/Categories/s/Application;//' \ + -e '/Icon/s/.png//' \ + "src/${PN}.desktop" || die "sed on src/${PN}.desktop failed" + # bug #440744 + sed -i -e 's/ -Wall -g -fexceptions//g' \ + -e '/CXXFLAGS/s/CPPFLAGS/CXXFLAGS/' \ + configure.in || die 'sed on configure.in failed' + # bug #464280 + epatch "${FILESDIR}/${PN}-1.2.0.6-gcc-4.8.patch" + + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install + + if use guidexml; then + insinto /usr/share/xmlcopyeditor/templates/ + for TEMPLATE in "${WORKDIR}"/GuideXML-templates/*.xml; do + newins "${TEMPLATE}" "${TEMPLATE##*/}" + done + fi + +} diff --git a/app-editors/xvile/Manifest b/app-editors/xvile/Manifest new file mode 100644 index 000000000000..4980defc1cf5 --- /dev/null +++ b/app-editors/xvile/Manifest @@ -0,0 +1,3 @@ +DIST vile-9.8k.tgz 2278349 SHA256 af8386a43fdf82ba3c8e4187b8fe850543c5baac769cf26bb2b437e5b3689e24 SHA512 93dce951701f156ebe5aecd39a86556658334a2f262919974bd302238e4b78a63ea6a675fc47fd5b170055e7fba8134db27ff26076be0d1b0cf7a58d697b5836 WHIRLPOOL e75ded06e6eb5234a673a92d27ceb1632150c60e580a27e0c00267a147a3b02005afb62843e373a3112ed8a353f230d4101ad1adfa0a045cba47d21f1b301a20 +DIST vile-9.8n.tgz 2300678 SHA256 36cea866603483e43e705ba1a96d0d52dc81f9c0d97fbefe5150c50b04b258bb SHA512 c87350325f47ef9338d9e7dca1a22b0d2c23b632cc2338ab07b00a986fc911f2bfbb05c9dcb98f4b606c2f2d0294dec26bcbf45a711cb6ad25c3ecf4b84c9037 WHIRLPOOL 16be864f128b256049a6d0e7cd39a3256415eabec66bcc632db09c6e5d07ef72b775fe28c38c2cfa805e0a495d3bf83d25ac9c5c6d3decaa5c165c91ee5558b1 +DIST vile-9.8o.tgz 2304783 SHA256 45625c060cb9da3d68bba0d308fa61cb6a1cd7c7fd8b0e83aba8890632a19b24 SHA512 ddcc01b47990cc603f4af2c4738ed989d2be51018aa0bbc96079771f2809f11df160c6bc597dc50bf30f47ef5ec7c78646cbc19d7c381ef836de7bdb884bab87 WHIRLPOOL 746e2face1cbf0881cc2c10a57b5d412a30668805a62c8f5db64ffb20e9a74285ef1e5a05e6d607530705427360b13a1cb22dd62ae1dfe02ac190e1bfea518cd diff --git a/app-editors/xvile/files/vile-9.8h-flex.patch b/app-editors/xvile/files/vile-9.8h-flex.patch new file mode 100644 index 000000000000..bb1c1c301110 --- /dev/null +++ b/app-editors/xvile/files/vile-9.8h-flex.patch @@ -0,0 +1,30 @@ +--- vile-9.8h/filters/filters.h ++++ vile-9.8h/filters/filters.h +@@ -200,27 +200,6 @@ + #endif + #endif /* __GNUC__ */ + +-/* +- * 2003/5/20 - "new" flex 2.5.31: +- * workaround for "developers" who don't use compiler-warnings... +- * perhaps by the time "new" flex merits the term "beta", they'll fix this: +- */ +-#if defined(FLEX_BETA) +-extern FILE *yyget_in (void); +-extern FILE *yyget_out (void); +-extern char *yyget_text (void); +-extern int yyget_debug (void); +-extern int yyget_leng (void); +-extern int yyget_lineno (void); +-extern int yylex_destroy (void); +-extern void yyset_debug (int bdebug); +-extern void yyset_in (FILE * in_str); +-extern void yyset_lineno (int line_number); +-extern void yyset_out (FILE * out_str); +-/* there's also warnings for unused 'yyunput()', but I don't see a fix */ +-/* flex's skeleton includes <unistd.h> - no particular reason apparent */ +-#endif +- + #define YY_NO_INPUT 1 /* get rid of 'input()' function */ + + /* diff --git a/app-editors/xvile/metadata.xml b/app-editors/xvile/metadata.xml new file mode 100644 index 000000000000..5fcb67350f69 --- /dev/null +++ b/app-editors/xvile/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/xvile/xvile-9.8k.ebuild b/app-editors/xvile/xvile-9.8k.ebuild new file mode 100644 index 000000000000..36a1e4d4e33f --- /dev/null +++ b/app-editors/xvile/xvile-9.8k.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils + +MY_P="${PN/x/}-${PV}" +DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone" +HOMEPAGE="http://invisible-island.net/vile/" +SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ia64 ppc sparc x86" +IUSE="perl" + +RDEPEND="perl? ( dev-lang/perl ) + =app-editors/vile-${PV} + >=x11-libs/libX11-1.0.0 + >=x11-libs/libXt-1.0.0 + >=x11-libs/libICE-1.0.0 + >=x11-libs/libSM-1.0.0 + >=x11-libs/libXaw-1.0.1 + >=x11-libs/libXpm-3.5.4.2 + >=x11-proto/xproto-7.0.4" +DEPEND="${RDEPEND} + sys-devel/flex" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch "${FILESDIR}"/vile-9.8h-flex.patch +} + +src_configure() { + econf \ + --with-ncurses \ + --with-x \ + $(use_with perl) +} + +src_install() { + dobin xvile + dodoc CHANGES* README doc/*.doc + dohtml doc/*.html +} diff --git a/app-editors/xvile/xvile-9.8n.ebuild b/app-editors/xvile/xvile-9.8n.ebuild new file mode 100644 index 000000000000..159f3a06ab80 --- /dev/null +++ b/app-editors/xvile/xvile-9.8n.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +MY_P="${PN/x/}-${PV}" +DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone" +HOMEPAGE="http://invisible-island.net/vile/" +SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86" +IUSE="perl" + +RDEPEND="perl? ( dev-lang/perl ) + =app-editors/vile-${PV} + >=x11-libs/libX11-1.0.0 + >=x11-libs/libXt-1.0.0 + >=x11-libs/libICE-1.0.0 + >=x11-libs/libSM-1.0.0 + >=x11-libs/libXaw-1.0.1 + >=x11-libs/libXpm-3.5.4.2 + >=x11-proto/xproto-7.0.4" +DEPEND="${RDEPEND} + sys-devel/flex" + +S=${WORKDIR}/${MY_P} + +src_configure() { + econf \ + --with-ncurses \ + --with-x \ + $(use_with perl) +} + +src_install() { + dobin xvile + dodoc CHANGES* README doc/*.doc + dohtml doc/*.html +} diff --git a/app-editors/xvile/xvile-9.8o.ebuild b/app-editors/xvile/xvile-9.8o.ebuild new file mode 100644 index 000000000000..d36670a5174f --- /dev/null +++ b/app-editors/xvile/xvile-9.8o.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +MY_P="${PN/x/}-${PV}" +DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone" +HOMEPAGE="http://invisible-island.net/vile/" +SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86" +IUSE="perl" + +RDEPEND="perl? ( dev-lang/perl ) + =app-editors/vile-${PV} + >=x11-libs/libX11-1.0.0 + >=x11-libs/libXt-1.0.0 + >=x11-libs/libICE-1.0.0 + >=x11-libs/libSM-1.0.0 + >=x11-libs/libXaw-1.0.1 + >=x11-libs/libXpm-3.5.4.2 + >=x11-proto/xproto-7.0.4" +DEPEND="${RDEPEND} + sys-devel/flex" + +S=${WORKDIR}/${MY_P} + +src_configure() { + econf \ + --with-ncurses \ + --with-x \ + $(use_with perl) +} + +src_install() { + dobin xvile + dodoc CHANGES* README doc/*.doc + dohtml doc/*.html +} diff --git a/app-editors/yudit/Manifest b/app-editors/yudit/Manifest new file mode 100644 index 000000000000..3db07fd0c131 --- /dev/null +++ b/app-editors/yudit/Manifest @@ -0,0 +1,2 @@ +DIST yudit-2.9.2.tar.gz 2831966 SHA256 d9bb2fbf49dbc192b33a9095a819c6ee0b62bf46839333c286371786ab1acfc9 SHA512 39bbd6f1696a97922a5db83b25b52609660ea77c7651cfde1d7189789e7d9a6298f6dd91acf17ab9d1bef1fabbdeb7bb1f9ab95a14198913c84c30154efd9e07 WHIRLPOOL cc45b5cc6f7c2f683b76cf5bad81de78938c7ac0a7bebbe98a360e52f633dded01189047fd90f2eca632c8629a2090dfdb996fbe4ca8a0a35101364e52233aa3 +DIST yudit-2.9.6.tar.gz 2797142 SHA256 ded0b47742fce92aedb6403e8e758162abc73395f9c5a3268ceb2093fbfdf906 SHA512 a9a0b6f6c44451cf2fefc4fc0bb1bbd9ffccd17c4c622dc35b08113245b3bb9f3ca949f3e7b9d2aa919ebf3840295c5e63c0297576e74a5f2d1fb99cfc97c46b WHIRLPOOL b6a0a008ce67d6c2354ea74ee03dd6316cb86f091db5497dc329363c03dc805b8ac7191103f6372e8f4780604c309d8b77365d4600992d4ded09036c0c824bb0 diff --git a/app-editors/yudit/metadata.xml b/app-editors/yudit/metadata.xml new file mode 100644 index 000000000000..ff62877c67ae --- /dev/null +++ b/app-editors/yudit/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/yudit/yudit-2.9.2.ebuild b/app-editors/yudit/yudit-2.9.2.ebuild new file mode 100644 index 000000000000..3445aa6533b9 --- /dev/null +++ b/app-editors/yudit/yudit-2.9.2.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="Free (Y)unicode text editor for all unices" +HOMEPAGE="http://www.yudit.org/" +SRC_URI="http://yudit.org/download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +RDEPEND="x11-libs/libX11" +DEPEND="${RDEPEND} + >=sys-devel/gettext-0.10" + +src_prepare() { + #Don't strip binaries, let portage do that. + sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed" +} + +src_compile() { + #FIXME: + #-j1 because this app builds a tool called 'mytool' and we need to make + #sure that it is built before it needs to be used. + emake -j1 +} + +src_install() { + make DESTDIR="${D}" install || die + dodoc {BUGS,CHANGELOG,NEWS,TODO,XBUGS}.TXT +} diff --git a/app-editors/yudit/yudit-2.9.6.ebuild b/app-editors/yudit/yudit-2.9.6.ebuild new file mode 100644 index 000000000000..4fa21b5d6360 --- /dev/null +++ b/app-editors/yudit/yudit-2.9.6.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="Free (Y)unicode text editor for all unices" +HOMEPAGE="http://www.yudit.org/" +SRC_URI="http://yudit.org/download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="x11-libs/libX11" +DEPEND="${RDEPEND} + >=sys-devel/gettext-0.10" + +src_prepare() { + #Don't strip binaries, let portage do that. + sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed" +} + +src_install() { + emake DESTDIR="${D}" install + dodoc {BUGS,CHANGELOG,NEWS,TODO,XBUGS}.TXT +} diff --git a/app-editors/zile/Manifest b/app-editors/zile/Manifest new file mode 100644 index 000000000000..039675d7d34b --- /dev/null +++ b/app-editors/zile/Manifest @@ -0,0 +1,2 @@ +DIST zile-2.3.24.tar.gz 953962 SHA256 218bb2af414c6a168101656631a5b2da92f20a965895e1006658cc658b0b7e89 SHA512 8361f42436ae9ca150f09d830096b7a3fb0089d58bffe5ad7538b5ec5cd4e0e50085213e938db1a95e2922db845d1d2f36841a65fe1b9b72f60cd930dd8f09b9 WHIRLPOOL 37aae22305abdc2c2b86c8f6b43dcb7621464213ac375ec2fde767d99f79ddba08216c392c5500a71175f30762fe57e786f94305ff03947e413d5291cfafa934 +DIST zile-2.4.11.tar.gz 1293707 SHA256 1fd27bbddc61491b1fbb29a345d0d344734aa9e80cfa07b02892eedf831fa9cc SHA512 dbcbae98d8b9fc7ea71abc8ad0c4248edf1498a731172e800dd4b1fd598597924cc61e24fbfce5eb44dd2b3a0b2aea416c6373843a450e19cc8c98aa83d6ae0e WHIRLPOOL c39cafe9b4409580656c29df78e8a4aeb37487b93bb01e357c964866f27207ef2811672967c7da7e2ad9bdfb2d47ea09168c611d89757b000530dbb60d5785d9 diff --git a/app-editors/zile/files/zile-2.3.24-userhome.patch b/app-editors/zile/files/zile-2.3.24-userhome.patch new file mode 100644 index 000000000000..37f605ccf610 --- /dev/null +++ b/app-editors/zile/files/zile-2.3.24-userhome.patch @@ -0,0 +1,26 @@ +http://lists.gnu.org/archive/html/bug-zile/2011-08/msg00030.html + +--- zile-2.3.24-orig/src/file.c ++++ zile-2.3.24/src/file.c +@@ -177,14 +177,15 @@ compact_path (astr path) + { + /* Replace `/userhome/' (if found) with `~/'. */ + size_t homelen = strlen (pw->pw_dir); +- if (astr_len (path) >= homelen && +- !strncmp (pw->pw_dir, astr_cstr (path), homelen)) ++ if (homelen > 0 && pw->pw_dir[homelen - 1] == '/') ++ homelen--; ++ ++ if (astr_len (path) > homelen && ++ !strncmp (pw->pw_dir, astr_cstr (path), homelen) && ++ astr_get (path, homelen) == '/') + { + astr buf = astr_new_cstr ("~/"); +- if (STREQ (pw->pw_dir, "/")) +- astr_cat_cstr (buf, astr_cstr (path) + 1); +- else +- astr_cat_cstr (buf, astr_cstr (path) + homelen + 1); ++ astr_cat_cstr (buf, astr_cstr (path) + homelen + 1); + astr_cpy (path, buf); + astr_delete (buf); + } diff --git a/app-editors/zile/metadata.xml b/app-editors/zile/metadata.xml new file mode 100644 index 000000000000..077afb685940 --- /dev/null +++ b/app-editors/zile/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + Zile is a small, fast, and powerful Emacs clone. It is useful for small + footprint installations (e.g. on floppy disk), machines with little memory, + or quick editing sessions, especially on remote machines or as a different + user, e.g. root. +</longdescription> +<use> + <flag name='valgrind'>Enable usage of <pkg>dev-util/valgrind</pkg> + in tests</flag> +</use> +</pkgmetadata> diff --git a/app-editors/zile/zile-2.3.24-r1.ebuild b/app-editors/zile/zile-2.3.24-r1.ebuild new file mode 100644 index 000000000000..45e46f9835b3 --- /dev/null +++ b/app-editors/zile/zile-2.3.24-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils + +DESCRIPTION="Zile is a small Emacs clone" +HOMEPAGE="http://www.gnu.org/software/zile/" +SRC_URI="mirror://gnu/zile/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="alpha amd64 ppc sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +IUSE="test valgrind" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND} + test? ( valgrind? ( dev-util/valgrind ) )" + +src_prepare() { + epatch "${FILESDIR}/${P}-userhome.patch" +} + +src_configure() { + econf $(use test && use_with valgrind || echo "--without-valgrind") +} + +src_install() { + emake DESTDIR="${D}" install + + # FAQ is installed by the build system in /usr/share/zile + dodoc AUTHORS BUGS NEWS README THANKS + + # Zile should never install charset.alias (even on non-glibc arches) + rm -f "${ED}"/usr/lib/charset.alias +} diff --git a/app-editors/zile/zile-2.4.11.ebuild b/app-editors/zile/zile-2.4.11.ebuild new file mode 100644 index 000000000000..13902d5582dd --- /dev/null +++ b/app-editors/zile/zile-2.4.11.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="Zile is a small Emacs clone" +HOMEPAGE="http://www.gnu.org/software/zile/" +SRC_URI="mirror://gnu/zile/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="alpha amd64 arm ppc sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +IUSE="acl test" + +RDEPEND=">=dev-libs/boehm-gc-7.2 + sys-libs/ncurses + acl? ( virtual/acl )" + +DEPEND="${RDEPEND} + test? ( dev-lang/perl )" + +QA_AM_MAINTAINER_MODE=".*help2man.*" #450278 + +src_configure() { + econf \ + --docdir="${EPREFIX}"/usr/share/doc/${PF} \ + $(use_enable acl) +} + +src_install() { + emake DESTDIR="${D}" install + + # AUTHORS, FAQ, and NEWS are installed by the build system + dodoc README THANKS + + # Zile should never install charset.alias (even on non-glibc arches) + rm -f "${ED}"/usr/lib/charset.alias +} diff --git a/app-editors/znotes/Manifest b/app-editors/znotes/Manifest new file mode 100644 index 000000000000..7b4fe9c2fe81 --- /dev/null +++ b/app-editors/znotes/Manifest @@ -0,0 +1 @@ +DIST znotes-0.4.5.tar.gz 171884 SHA256 ac692253e74bda8f989db40042c26b6db2bb60a5f9c30cdbfcd824af0de1c5b2 SHA512 a7d9c149bbe80b83eff75eeec9644f9e648911c9cc5d6c83507b2d82199b7a2d1148665d6b650eb022dab1b34bbab96d52a0c27ac04525c30e4840049565e240 WHIRLPOOL 02acbe2f712b9ec5e4e9ca383aa8f6c04c98ba1a6bec73572c4656b2d1bb3faca4c8f39021e2e8c68d57495b582e7b29eaf6bdc3878c947d6cd5aadd37806798 diff --git a/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch b/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch new file mode 100644 index 000000000000..ae8c4eca7b8e --- /dev/null +++ b/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch @@ -0,0 +1,24 @@ +From 9cb09430444e36415e887317525a24e542e135fb Mon Sep 17 00:00:00 2001 +From: Michael Palimaka <kensington@gentoo.org> +Date: Fri, 31 Aug 2012 02:15:30 +1000 +Subject: [PATCH] Fix build with GCC 4.7. + +--- + single_inst/qtlocalpeer.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/single_inst/qtlocalpeer.cpp b/single_inst/qtlocalpeer.cpp +index 6d7c24f..f9663c9 100644 +--- a/single_inst/qtlocalpeer.cpp ++++ b/single_inst/qtlocalpeer.cpp +@@ -50,6 +50,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0; + #endif + #if defined(Q_OS_UNIX) + #include <time.h> ++#include <unistd.h> + #endif + + namespace QtLP_Private { +-- +1.7.12 + diff --git a/app-editors/znotes/metadata.xml b/app-editors/znotes/metadata.xml new file mode 100644 index 000000000000..1fc9dad40de4 --- /dev/null +++ b/app-editors/znotes/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>qt</herd> + <upstream> + <remote-id type="sourceforge">znotes</remote-id> + <remote-id type="github">proton/zNotes</remote-id> + <bugs-to>https://github.com/proton/zNotes/issues</bugs-to> + </upstream> +</pkgmetadata> diff --git a/app-editors/znotes/znotes-0.4.5.ebuild b/app-editors/znotes/znotes-0.4.5.ebuild new file mode 100644 index 000000000000..40ec5b607b75 --- /dev/null +++ b/app-editors/znotes/znotes-0.4.5.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit qt4-r2 + +DESCRIPTION="Simple Notes" +HOMEPAGE="http://znotes.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dev-qt/qtcore:4 + dev-qt/qtgui:4" +RDEPEND="${DEPEND}" + +DOCS="CHANGELOG THANKS" + +PATCHES=( "${FILESDIR}/${P}-gcc-4.7.patch" ) + +src_configure() { + lrelease znotes.pro || die "lrelease failed" + qt4-r2_src_configure +} diff --git a/app-editors/zoinks/Manifest b/app-editors/zoinks/Manifest new file mode 100644 index 000000000000..63478dc8c9bf --- /dev/null +++ b/app-editors/zoinks/Manifest @@ -0,0 +1 @@ +DIST zoinks-0.4.1.tar.gz 322009 SHA256 bd8b229904b2e0aeae4742cc9eda882cd47874c86dcf21df8b3d77c830d301cd SHA512 f1608755b25dd0b4cd2840592b9abd2df462d9a4b97847bf813d46e9f3fca0d15e41ef80b8bafbbb494a7c446b5f727a258f44d28fdbbf2ceddc179292d15a79 WHIRLPOOL 676640d85d9136b9ed227bc1c80a2ae4ac45476eaf6617d988167b78f8c98c2b71951271174ecae5b136fa752e96c7e910d98c5d028c72f47cca18ae96d19f01 diff --git a/app-editors/zoinks/metadata.xml b/app-editors/zoinks/metadata.xml new file mode 100644 index 000000000000..ff62877c67ae --- /dev/null +++ b/app-editors/zoinks/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/zoinks/zoinks-0.4.1.ebuild b/app-editors/zoinks/zoinks-0.4.1.ebuild new file mode 100644 index 000000000000..3ae66d2e70af --- /dev/null +++ b/app-editors/zoinks/zoinks-0.4.1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils toolchain-funcs + +DESCRIPTION="programmer's text editor and development environment" +HOMEPAGE="http://zoinks.mikelockwood.com" +SRC_URI="http://${PN}.mikelockwood.com/download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="nls" + +RDEPEND="x11-libs/libX11 + x11-libs/libXpm + x11-libs/libXext + x11-libs/libXt" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext )" + +src_prepare() { + sed -i -e 's:-g -Werror::g' configure* || die + tc-export CXX +} + +src_configure() { + econf $(use_enable nls) --disable-imlib +} + +src_install() { + default + dodoc AUTHORS ChangeLog NEWS README + doicon ide/Pixmaps/${PN}.xpm + make_desktop_entry ${PN} "Zoinks!" ${PN} "Utility;TextEditor" +} + +pkg_postinst() { + if ! [[ ${REPLACING_VERSIONS} ]]; then + elog "If you see this message when starting zoinks:" + elog "zoinks: TFont.cpp:40: TFont::TFont(const char*): Assertion \`fFontSet' failed." + elog "You need to install media-fonts/font-adobe-{75,100dpi}" + fi +} |