diff options
Diffstat (limited to 'dev-util/rhide')
-rw-r--r-- | dev-util/rhide/ChangeLog | 10 | ||||
-rw-r--r-- | dev-util/rhide/files/digest-rhide-1.5 | 4 | ||||
-rw-r--r-- | dev-util/rhide/files/rhide-1.5-rhtvision2.patch | 152 | ||||
-rw-r--r-- | dev-util/rhide/files/tvrc | 11 | ||||
-rw-r--r-- | dev-util/rhide/rhide-1.5.ebuild | 280 |
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 +} + |