summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-editors/fte
downloadgentoo-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/fte')
-rw-r--r--app-editors/fte/Manifest4
-rw-r--r--app-editors/fte/files/fte26
-rw-r--r--app-editors/fte/files/fte-gcc3438
-rw-r--r--app-editors/fte/files/fte-interix.patch38
-rw-r--r--app-editors/fte/files/fte-new_keyword.patch14
-rw-r--r--app-editors/fte/files/fte-slang.patch131
-rw-r--r--app-editors/fte/fte-20051115-r3.ebuild124
-rw-r--r--app-editors/fte/fte-20110708.ebuild124
-rw-r--r--app-editors/fte/metadata.xml11
9 files changed, 510 insertions, 0 deletions
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>