summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/rhide')
-rw-r--r--dev-util/rhide/ChangeLog10
-rw-r--r--dev-util/rhide/files/digest-rhide-1.54
-rw-r--r--dev-util/rhide/files/rhide-1.5-rhtvision2.patch152
-rw-r--r--dev-util/rhide/files/tvrc11
-rw-r--r--dev-util/rhide/rhide-1.5.ebuild280
5 files changed, 456 insertions, 1 deletions
diff --git a/dev-util/rhide/ChangeLog b/dev-util/rhide/ChangeLog
index 2d22c1bae2a7..861a7df52f2d 100644
--- a/dev-util/rhide/ChangeLog
+++ b/dev-util/rhide/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-util/rhide
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/rhide/ChangeLog,v 1.5 2003/02/12 06:46:06 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/rhide/ChangeLog,v 1.6 2003/03/22 21:52:54 azarah Exp $
+
+*rhide-1.5 (22 Mar 2003)
+
+ 22 Mar 2003; Martin Schlemmer <azarah@gentoo.org> rhide-1.5 :
+ New version with new hacks. I really wish these guys would try to get
+ a more sane build system. Got the beast to work with rhtvision-2.0.1
+ and setedit-0.5.0 ... although setedit's docs currently do not build
+ with texinfo-4.5. No train smach, as we still have info pages.
*rhide-1.5_pre-r1 (22 Sep 2002)
diff --git a/dev-util/rhide/files/digest-rhide-1.5 b/dev-util/rhide/files/digest-rhide-1.5
new file mode 100644
index 000000000000..47a80695d336
--- /dev/null
+++ b/dev-util/rhide/files/digest-rhide-1.5
@@ -0,0 +1,4 @@
+MD5 e9a197c729ea80a429bd9aa8107db666 rhide-1.5.tar.gz 959140
+MD5 409c52e8ec111a10f40b41a7fd198766 rhtvision-2.0.1.src.tar.gz 1168371
+MD5 0d8964a0f4edfbe3ca860abadef1fade setedit-0.5.0.tar.bz2 1393629
+MD5 70e4ade69a2dff2c7b9af9a4ef44798f gdb-5.3.tar.bz2 11198721
diff --git a/dev-util/rhide/files/rhide-1.5-rhtvision2.patch b/dev-util/rhide/files/rhide-1.5-rhtvision2.patch
new file mode 100644
index 000000000000..ef032bc6ef62
--- /dev/null
+++ b/dev-util/rhide/files/rhide-1.5-rhtvision2.patch
@@ -0,0 +1,152 @@
+--- rhide-1.5/idemain.cc.orig 2003-03-22 11:25:11.000000000 +0200
++++ rhide-1.5/idemain.cc 2003-03-22 11:48:47.000000000 +0200
+@@ -114,6 +114,10 @@
+
+ #include <edhists.h>
+
++#if TV_MAJOR_VERSION==2
++#define dual_display TScreen::dual_display
++#endif
++
+ void SaveScreen();
+ void RestoreScreen();
+ static int keep_temp_dir = 0;
+@@ -1727,7 +1731,11 @@
+ TMouse::suspend();
+ update_flag = 0;
+ #ifdef __linux__
++# if TV_MAJOR_VERSION==2
++ TScreen::suspend();
++# else
+ RestoreScreen();
++# endif
+ #else
+ TScreen::suspend();
+ #endif
+@@ -1932,7 +1940,11 @@
+ char *_rhide_opt = expand_rhide_spec("$(RHIDEOPT)");
+ char *rhide_opt = NULL;
+
++#if TV_MAJOR_VERSION==2
++ TGKey::SetKbdMapping(TGKey::dosUseDirect);
++#else
+ TGKey::useBIOS = 0;
++#endif
+
+ if (*_rhide_opt)
+ {
+@@ -1977,9 +1989,11 @@
+ break;
+ case 'H':
+ #ifdef __linux__
++# if TV_MAJOR_VERSION<2
+ extern int install_console_sigs;
+
+ install_console_sigs = 0;
++# endif
+ #endif
+ break;
+ case 'S':
+@@ -2001,7 +2015,11 @@
+ #endif
+ break;
+ case 'K':
++#if TV_MAJOR_VERSION==2
++ TGKey::SetKbdMapping(TGKey::dosUseBIOS);
++#else
+ TGKey::useBIOS = 1;
++#endif
+ break;
+ case 'G':
+ arg = next_option(rhide_opt, rhide_opt_end, i, argc, argv);
+@@ -2014,7 +2032,11 @@
+ #endif
+ break;
+ case 'p':
++#if TV_MAJOR_VERSION==2
++ //#warning Fix me!
++#else
+ TGKey::translateKeyPad = 0;
++#endif
+ break;
+ case 'k':
+ arg = next_option(rhide_opt, rhide_opt_end, i, argc, argv);
+--- rhide-1.5/idedebug.cc.orig 2003-03-22 11:30:58.000000000 +0200
++++ rhide-1.5/idedebug.cc 2003-03-22 11:31:40.000000000 +0200
+@@ -49,6 +49,10 @@
+ #define Uses_TDataWindow
+ #include <libtvgdb.h>
+
++#if TV_MAJOR_VERSION==2
++#define dual_display TScreen::dual_display
++#endif
++
+ static void RemoveSessionTempFiles(void);
+
+ TDisassemblerWindow *dis_win;
+--- rhide-1.5/ideprj.cc.orig 2003-03-22 11:46:13.000000000 +0200
++++ rhide-1.5/ideprj.cc 2003-03-22 11:51:51.000000000 +0200
+@@ -316,18 +316,22 @@
+ }
+
+ /* They are in tscreen.cc */
++#if TV_MAJOR_VERSION<2
+ void setBlinkState(void);
+ void setIntenseState(void);
++#endif
+
+ void
+ SetProjectScreenMode()
+ {
+ if (TScreen::screenMode != Project.screen_mode)
+ TProgram::application->setScreenMode(Project.screen_mode);
++#if TV_MAJOR_VERSION<2
+ if (IntenseMode)
+ setIntenseState();
+ else
+ setBlinkState();
++#endif
+ }
+
+ static void
+--- rhide-1.5/rhgdb/main.cc.orig 2003-03-22 11:52:54.000000000 +0200
++++ rhide-1.5/rhgdb/main.cc 2003-03-22 11:57:24.000000000 +0200
+@@ -62,6 +62,10 @@
+ #include "rhgdb.h"
+
+
++#if TV_MAJOR_VERSION==2
++#define dual_display TScreen::dual_display
++#endif
++
+ extern int RunProgram(const char *cmd,
+ Boolean redir_stderr, Boolean redir_stdout,
+
+@@ -589,7 +593,7 @@
+ case cmUserScreen:
+ {
+ TMouse::suspend();
+-#if 0
++#if TV_MAJOR_VERSION==2
+ TScreen::suspend();
+ #else
+ RestoreScreen();
+@@ -790,12 +794,18 @@
+ use_dual_display = 1;
+ break;
+ case 'M':
++#if TV_MAJOR_VERSION<2
+ extern int use_mouse_handler;
+
+ use_mouse_handler = 0;
++#endif
+ break;
+ case 'K':
++#if TV_MAJOR_VERSION==2
++ TGKey::SetKbdMapping(TGKey::dosUseBIOS);
++#else
+ TGKey::useBIOS = 1;
++#endif
+ break;
+ case 'G':
+ // extern int screen_saving;
diff --git a/dev-util/rhide/files/tvrc b/dev-util/rhide/files/tvrc
new file mode 100644
index 000000000000..76c1d0b7aade
--- /dev/null
+++ b/dev-util/rhide/files/tvrc
@@ -0,0 +1,11 @@
+[TV]
+{
+ [Linux]
+ {
+ # Force 'PC 437 ASCII extended' codepage, else
+ # console looks crap
+# AppCP=437
+# ScrCP=437
+ }
+}
+
diff --git a/dev-util/rhide/rhide-1.5.ebuild b/dev-util/rhide/rhide-1.5.ebuild
new file mode 100644
index 000000000000..e68a7eb257b9
--- /dev/null
+++ b/dev-util/rhide/rhide-1.5.ebuild
@@ -0,0 +1,280 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/rhide/rhide-1.5.ebuild,v 1.1 2003/03/22 21:52:54 azarah Exp $
+
+IUSE="X"
+
+#SNAPSHOT="20020825"
+TVISIONVER="2.0.1"
+SETEDITVER="0.5.0"
+SETEDIT_S="setedit-${SETEDITVER}"
+# RHIDE is _very_ picky about the GDB used, so dont put GDB in DEPEND
+GDBVER="5.3"
+
+DESCRIPTION="RHIDE is a console IDE for various languages."
+if [ -z "${SNAPSHOT}" ]
+then
+ S="${WORKDIR}/${P}"
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+else
+ S="${WORKDIR}/${P/_}-${SNAPSHOT}"
+ SRC_URI="http://rhide.sourceforge.net/snapshots/${P/_}-${SNAPSHOT}.tar.gz
+ mirror://gentoo/${P/_}-${SNAPSHOT}.tar.gz"
+fi
+SRC_URI="${SRC_URI}
+ mirror://sourceforge/tvision/rhtvision-${TVISIONVER}.src.tar.gz
+ mirror://sourceforge/setedit/setedit-${SETEDITVER}.tar.bz2
+ mirror://gnu/gdb/gdb-${GDBVER}.tar.bz2"
+HOMEPAGE="http://www.rhide.com/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86"
+
+DEPEND="virtual/glibc
+ >=app-text/recode-3.6
+ >=dev-libs/libpcre-2.0.6
+ >=sys-apps/bzip2-1.0.1
+ >=sys-apps/texinfo-4.1
+ >=sys-devel/gettext-0.11.0
+ >=dev-lang/perl-5.6
+ >=sys-libs/zlib-1.1.4
+ >=sys-libs/gpm-1.20.0
+ >=sys-libs/ncurses-5.2
+ aalib? ( media-libs/aalib )
+ X? ( virtual/x11 )"
+
+
+src_unpack() {
+
+ unpack ${A}
+
+ cd ${S}
+
+ # Get it to work with rhtvision-2.0
+ epatch ${FILESDIR}/${P}-rhtvision2.patch
+
+ # Update snapshot version
+ if [ -n "${SNAPSHOT}" ]
+ then
+ perl -pi -e "s|1998-11-29|${SNAPSHOT}|" ${S}/idemain.cc
+ else
+ perl -pi -e "s|1998-11-29|`date +%F`|" ${S}/idemain.cc
+ fi
+
+ # Fix invalid "-O2" in CFLAGS and CXXFLAGS
+ for x in configure $(find . -name '*.mak') $(find . -name 'makefile.src')
+ do
+ [ -f "${x}" ] && perl -pi -e 's:-O2::g' ${x}
+ done
+
+ # Update setedit macro's
+ for x in ${WORKDIR}/${SETEDIT_S}/cfgfiles/*
+ do
+ [ -f "${x}" ] && cp -f ${x} ${S}/share/setedit
+ done
+
+ # Hack to uncomment a needed variable
+ perl -pi -e 's|//cmcUpdateCodePage|cmcUpdateCodePage|' \
+ ${WORKDIR}/${SETEDIT_S}/include/ced_coma.h
+}
+
+src_compile() {
+
+ # Most of these use a _very_ weird build systems,
+ # so please no comments ;/
+
+# ************* TVision *************
+
+ if [ ! -f "${WORKDIR}/.tvision" ]
+ then
+ cd ${WORKDIR}/tvision || die "TVision source dir do not exist!"
+
+ DUMMYFLAGS=""
+
+ ./configure --prefix=/usr \
+ --fhs \
+ --cflags='${DUMMYFLAGS}' \
+ --cxxflags='${DUMMYFLAGS}' || die
+
+ # Only build the static libs
+ perl -pi -e 's/all: static-lib dynamic-lib/all: static-lib/' Makefile
+
+ # -j breaks build
+ make || die
+
+ touch ${WORKDIR}/.tvision
+ fi
+
+
+# ************* SetEdit *************
+
+ if [ ! -f "${WORKDIR}/.setedit" ]
+ then
+ cd ${WORKDIR}/${SETEDIT_S} || die "SetEdit source dir do not exist!"
+
+ ./configure --prefix=/usr \
+ --fhs \
+ --libset \
+ --without-mp3 \
+ `use_with aalib aa` || die
+
+ # Latest texinfo breaks docs, so disable for now ...
+ perl -pi -e 's/needed: internac doc-basic/needed: internac/' \
+ Makefile
+
+ # -j breaks build
+ make || die
+
+ # Make the docs
+ cd ${WORKDIR}/${SETEDIT_S}/doc
+# make || die
+
+ touch ${WORKDIR}/.setedit
+ fi
+
+
+# ************* RHIDE ***************
+
+ cd ${S}
+
+ addpredict "/usr/share/rhide"
+
+ export RHIDESRC="${S}"
+ export SETSRC="${WORKDIR}/${SETEDIT_S}"
+ export SETOBJ="${WORKDIR}/${SETEDIT_S}/makes"
+ export TVSRC="${WORKDIR}/tvision"
+ export TVOBJ="${WORKDIR}/tvision/linux"
+ export GDB_SRC="${WORKDIR}/gdb-${GDBVER}"
+
+ #
+ # *** DETECT XFREE86 with tvision-2.0 ***
+ #
+ # None of these packages have any way to specify XFree86 support,
+ # thus we check if tvision compiled with xfree support or not.
+ #
+ # If it did compile with xfree support, we need to get rhide to link
+ # against libX11 ...
+ #
+ local have_xfree="$(gawk '/HAVE_X11/ { if (/yes/) print "Yes" }' \
+ ${WORKDIR}/tvision/configure.cache)"
+
+ if [ ! -f "${WORKDIR}/.rhide-configured" ]
+ then
+ econf || die
+
+ if [ "${have_xfree}" = "Yes" ]
+ then
+ einfo "Compiling with XFree86 support..."
+ perl -pi -e 's|LDFLAGS= |LDFLAGS= -L/usr/X11R6/lib -lXmu|' \
+ ${S}/config.env
+
+ touch ${WORKDIR}/.tvision-with-X11
+ else
+ einfo "Compiling without XFree86 support..."
+ fi
+
+ touch "${WORKDIR}/.rhide-configured"
+ fi
+
+ # -j breaks build
+ make prefix=/usr \
+ install_docdir=share/doc/${PF} \
+ install_infodir=share/info \
+ LDFLAGS="${LDFLAGS} ${myLDFLAGS}" || die
+
+ # Update and Fix DIR entry in .info files
+ cd ${S}/share/setedit/
+ if [ -f "${WORKDIR}/${SETEDIT_S}/doc/editor.inf" ]
+ then
+ sed -e 's:editor.inf:setedit.info:g' \
+ ${WORKDIR}/${SETEDIT_S}/doc/editor.inf > setedit.inf
+ fi
+ if [ -f "${WORKDIR}/${SETEDIT_S}/doc/infeng.inf" ]
+ then
+ sed -e 's:infeng.inf:infview.info:g' \
+ ${WORKDIR}/${SETEDIT_S}/doc/infeng.inf > infview.inf
+ fi
+ cd ${S}
+}
+
+src_install() {
+
+ # Dont error out on sandbox violations. I should really
+ # try to track this down, but its a bit tougher than usually.
+ addpredict "/:/usr/share/rhide:/libide:/libtvuti:/librhuti"
+
+ make prefix=${D}/usr \
+ install_docdir=share/doc/${PF} \
+ install_infodir=share/info \
+ install || die
+
+ # Install default CFG file and fix the paths
+ cd ${D}/usr/share/rhide
+ sed -e 's:/usr/local/share:/usr/share:g' \
+ rhide_.env >rhide.env
+ echo 'INFOPATH=/usr/share/info' >> rhide.env
+
+ # Install sample TVision config file
+ insinto /etc
+ doins ${FILESDIR}/tvrc
+
+ # Install env file
+ insinto /etc/env.d
+ doins ${FILESDIR}/80rhide
+
+ # We only need the Eterm stuff if TVision was not compiled
+ # with X11 support ...
+ if [ ! -f "${WORKDIR}/.tvision-with-X11" ]
+ then
+ # Install the terminfo file
+ tic -o ${D}/usr/share/terminfo \
+ ${WORKDIR}/tvision/extra/eterm/xterm-eterm-tv
+ insinto /usr/share/Eterm/themes/Setedit
+
+ dosed 's:Eterm --title:Eterm --theme Setedit --title:' /usr/bin/rhidex
+ dosed 's:Eterm --title:Eterm --theme Setedit --title:' /usr/bin/rhgdbx
+
+ # Install the Eterm theme
+ for x in ${WORKDIR}/tvision/extra/eterm/Setedit/*
+ do
+ [ -f "${x}" ] && doins ${x}
+ done
+ else
+ rm -f ${D}/usr/bin/{rhide,rhgdb}x
+ fi
+
+ # Fix .info files
+ for x in ${D}/usr/share/info/*.inf
+ do
+ [ -f "${x}" ] && mv -f ${x} ${x}o
+ done
+
+ # Install the manpages
+ for x in ${WORKDIR}/${SETEDIT_S}/doc/*.1
+ do
+ [ -f "${x}" ] && doman ${x}
+ done
+
+ cd ${S}
+ dodoc todo
+ cd ${WORKDIR}/tvision
+ docinto tvision
+ dodoc THANKS TODO borland.txt change.log change1.log readme.txt doc/*.txt
+ cd ${WORKDIR}/${SETEDIT_S}
+ docinto setedit
+ dodoc README TODO change.log change0.log copying.*
+}
+
+pkg_postinst() {
+ if [ -x "${ROOT}/usr/bin/rhidex" ]
+ then
+ echo
+ einfo "You might consider installing Eterm to be able to use the rhidex"
+ einfo "version of RHIDE that have better keyboard support under X:"
+ echo
+ einfo " # emerge eterm"
+ echo
+ fi
+}
+