diff options
author | Mamoru Komachi <usata@gentoo.org> | 2005-02-18 13:37:22 +0000 |
---|---|---|
committer | Mamoru Komachi <usata@gentoo.org> | 2005-02-18 13:37:22 +0000 |
commit | ac9bdffc51239c351fe309c0b20d3187f338282a (patch) | |
tree | e673c62380792611196f63b7cc367b997fae6c26 /x11-terms/mrxvt | |
parent | Stable on sparc wrt #82404 (diff) | |
download | gentoo-2-ac9bdffc51239c351fe309c0b20d3187f338282a.tar.gz gentoo-2-ac9bdffc51239c351fe309c0b20d3187f338282a.tar.bz2 gentoo-2-ac9bdffc51239c351fe309c0b20d3187f338282a.zip |
Fixed bug #81574. Thanks to Jimmy Zhou <jmzhou13@hotmail.com> for providing a pointer and patch.
(Portage version: 2.0.51-r15)
Diffstat (limited to 'x11-terms/mrxvt')
-rw-r--r-- | x11-terms/mrxvt/ChangeLog | 11 | ||||
-rw-r--r-- | x11-terms/mrxvt/Manifest | 19 | ||||
-rw-r--r-- | x11-terms/mrxvt/files/digest-mrxvt-0.3.13-r1 | 1 | ||||
-rw-r--r-- | x11-terms/mrxvt/files/mrxvt-0.3.13-xdefaults.patch | 230 | ||||
-rw-r--r-- | x11-terms/mrxvt/mrxvt-0.3.13-r1.ebuild | 97 |
5 files changed, 343 insertions, 15 deletions
diff --git a/x11-terms/mrxvt/ChangeLog b/x11-terms/mrxvt/ChangeLog index 1839f667a881..e370b7e378f8 100644 --- a/x11-terms/mrxvt/ChangeLog +++ b/x11-terms/mrxvt/ChangeLog @@ -1,8 +1,15 @@ # ChangeLog for x11-terms/mrxvt # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-terms/mrxvt/ChangeLog,v 1.15 2005/02/13 13:12:35 kloeri Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-terms/mrxvt/ChangeLog,v 1.16 2005/02/18 13:37:22 usata Exp $ - 13 Feb 2005; Bryan Østergaard <kloeri@gentoo.org> mrxvt-0.3.12.ebuild: +*mrxvt-0.3.13-r1 (18 Feb 2005) + + 18 Feb 2005; Mamoru KOMACHI <usata@gentoo.org> + +files/mrxvt-0.3.13-xdefaults.patch, +mrxvt-0.3.13-r1.ebuild: + Fixed bug #81574. Thanks to Jimmy Zhou <jmzhou13@hotmail.com> for providing + a pointer and patch. + + 13 Feb 2005; Bryan ?stergaard <kloeri@gentoo.org> mrxvt-0.3.12.ebuild: Stable on alpha. *mrxvt-0.3.13 (10 Feb 2005) diff --git a/x11-terms/mrxvt/Manifest b/x11-terms/mrxvt/Manifest index 70d9a5e0f06b..571428fbd7df 100644 --- a/x11-terms/mrxvt/Manifest +++ b/x11-terms/mrxvt/Manifest @@ -1,18 +1,11 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - +MD5 8bc8072760af288805c11e3494976ccb ChangeLog 2405 MD5 3ff31b5479b2a0244f5711fff3155aed metadata.xml 221 +MD5 d028da3e4a3757e94903b601faa3cc27 mrxvt-0.3.13.ebuild 2138 MD5 24fbaa3a73327000bee63a1b767e6bce mrxvt-0.3.12.ebuild 2136 MD5 41c1ea608931d35ca225079983eab4af mrxvt-0.3.9.ebuild 2133 -MD5 8bc8072760af288805c11e3494976ccb ChangeLog 2405 -MD5 d028da3e4a3757e94903b601faa3cc27 mrxvt-0.3.13.ebuild 2138 -MD5 97a062086b26cbe392dd10aba52e37e7 files/digest-mrxvt-0.3.12 64 +MD5 75f9c75b28e15fcb750179acf7fa0ecd mrxvt-0.3.13-r1.ebuild 2239 MD5 c1c69c0365b65e6fe61bb9d71061a16a files/digest-mrxvt-0.3.13 64 +MD5 97a062086b26cbe392dd10aba52e37e7 files/digest-mrxvt-0.3.12 64 MD5 5cd5d045034d93c8cfcefa10960f099f files/digest-mrxvt-0.3.9 63 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.0 (GNU/Linux) - -iD8DBQFCD1J4ugEuf3OQ0akRAgqKAJ0cYe8QZMPxudxyXSLen5w5jxyJnACglOAf -w0A+qPnSFmKFH7VdOX0gqK0= -=y8a8 ------END PGP SIGNATURE----- +MD5 3c200ae7dfc3c24b5010a26289b3c3aa files/mrxvt-0.3.13-xdefaults.patch 8017 +MD5 c1c69c0365b65e6fe61bb9d71061a16a files/digest-mrxvt-0.3.13-r1 64 diff --git a/x11-terms/mrxvt/files/digest-mrxvt-0.3.13-r1 b/x11-terms/mrxvt/files/digest-mrxvt-0.3.13-r1 new file mode 100644 index 000000000000..579a5967d027 --- /dev/null +++ b/x11-terms/mrxvt/files/digest-mrxvt-0.3.13-r1 @@ -0,0 +1 @@ +MD5 880bc53d17af9f177cc68d7ce1abd1a2 mrxvt-0.3.13.tar.gz 497798 diff --git a/x11-terms/mrxvt/files/mrxvt-0.3.13-xdefaults.patch b/x11-terms/mrxvt/files/mrxvt-0.3.13-xdefaults.patch new file mode 100644 index 000000000000..fbeb8e0b91d6 --- /dev/null +++ b/x11-terms/mrxvt/files/mrxvt-0.3.13-xdefaults.patch @@ -0,0 +1,230 @@ +--- xdefaults.c.orig 2005-02-04 04:57:51.000000000 +0900 ++++ xdefaults.c 2005-02-18 17:36:49.168153000 +0900 +@@ -24,7 +24,7 @@ + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + *----------------------------------------------------------------------*/ + /* +-** $Id: mrxvt-0.3.13-xdefaults.patch,v 1.1 2005/02/18 13:37:22 usata Exp $ ++** $Id: mrxvt-0.3.13-xdefaults.patch,v 1.1 2005/02/18 13:37:22 usata Exp $ + */ + + #include "../config.h" +@@ -58,7 +58,7 @@ + # ifndef USE_XGETDEFAULT + void rxvt_get_xdefaults (rxvt_t*, FILE*, const char*); + # else +-char* get_xdefault_resource (XrmDatabase database, char *name, char *subClass, char *fullClass, char *resource); ++char* get_xdefault_resource (XrmDatabase database, const char *name, char *subClass, char *fullClass, char *resource); + # endif + #endif + /*--------------------------------------------------------------------* +@@ -100,7 +100,7 @@ + {(flag), -1, NULL, (opt), NULL, (desc), (multiple)} + + /* convenient macros */ +-#define optList_strlen(i) \ ++#define optList_STRLEN(i) \ + (optList[i].flag ? 0 : (optList[i].arg ? STRLEN(optList[i].arg) : 1)) + #define optList_isBool(i) \ + (optList[i].flag & Opt_Boolean) +@@ -735,7 +735,7 @@ + int len = 0; + + if (!optList_isBool(i)) { +- len = optList_strlen(i); ++ len = optList_STRLEN(i); + if (len > 0) + len++; /* account for space */ + } +@@ -750,7 +750,7 @@ + } + fprintf(stderr, " [-%s%s", (optList_isBool(i) ? + "/+" : ""), optList[i].opt); +- if (optList_strlen(i)) ++ if (optList_STRLEN(i)) + fprintf(stderr, " %s]", optList[i].arg); + else + fprintf(stderr, "]"); +@@ -1002,7 +1002,7 @@ + if (entry < optList_size()) { + if (optList_isReverse(entry)) + flag = (flag == On) ? Off : On; +- if (optList_strlen(entry)) { /* string value */ ++ if (optList_STRLEN(entry)) { /* string value */ + const char *str = argv[++i]; + + DBG_MSG(2, (stderr, "string (%s,%s) = ", +@@ -1437,86 +1437,97 @@ + #ifdef USE_XGETDEFAULT + /* INTPROTO */ + char* +-get_xdefault_resource(XrmDatabase database, char *name, char *subClass, char *fullClass, char *resource) ++get_xdefault_resource(XrmDatabase database, const char *name, char *subClass, char *fullClass, char *resource) + { +- char *resourceClass; +- char *str_class; +- char *str_name; +- char *generic_return_str_type = NULL; +- char *return_str_type = NULL; +- int i; +- +- Bool foundGeneric; +- Bool found; +- +- XrmValue return_value; +- static char *invalidPrefix = "! invalid name !"; +- +- int prefix_len = strlen(invalidPrefix); +- if (strlen(name) > prefix_len) { +- prefix_len = strlen(name); +- } +- if (strlen(subClass) > prefix_len) { +- prefix_len = strlen(subClass); +- } +- if (strlen(fullClass) > prefix_len) { +- prefix_len = strlen(fullClass); +- } +- str_class = malloc(prefix_len + strlen(resource) + 1); +- str_name = malloc(prefix_len + strlen(resource) + 1); +- sprintf(str_name, "%s.%s", name, resource); +- +- /* translate resource to class */ +- resourceClass = malloc(strlen(resource) + 1); +- resourceClass[0] = toupper(resource[0]); +- for (i = 1; i < strlen(resource); i++) { +- if (resource[i - 1] == '.') { +- resourceClass[i] = toupper(resource[i]); +- } else { +- resourceClass[i] = resource[i]; +- } +- } +- resourceClass[strlen(resource)] = 0; ++ char* resourceClass; ++ char* str_class; ++ char* str_name; ++ char* generic_return_str_type = NULL; ++ char* return_str_type = NULL; ++ int len, i; ++ Bool foundGeneric; ++ Bool found; ++ XrmValue return_value; ++ ++ static char* invalidPrefix = "! invalid name !"; ++ int prefix_len = STRLEN(invalidPrefix); ++ /* find the maximal prefix_len */ ++ if (STRLEN(name) > prefix_len) { ++ prefix_len = STRLEN(name); ++ } ++ if (STRLEN(subClass) > prefix_len) { ++ prefix_len = STRLEN(subClass); ++ } ++ if (STRLEN(fullClass) > prefix_len) { ++ prefix_len = STRLEN(fullClass); ++ } ++ ++ /* allocate memory for str_class and str_name */ ++ len = prefix_len + STRLEN(resource) + 2; ++ str_class = malloc(len); ++ str_name = malloc(len); ++ ++ snprintf(str_name, len-1, "%s.%s", name, resource); ++ str_name[len-1] = (char) 0; ++ ++ /* translate resource to class */ ++ resourceClass = malloc(STRLEN(resource) + 1); ++ resourceClass[0] = toupper(resource[0]); ++ for (i = 1; i < STRLEN(resource); i++) { ++ if (resource[i - 1] == '.') { ++ resourceClass[i] = toupper(resource[i]); ++ } ++ else { ++ resourceClass[i] = resource[i]; ++ } ++ } ++ resourceClass[STRLEN(resource)] = 0; + +- /* +- ** We need to get resources with two different class names. If ++ /* ++ ** We need to get resources with two different class names. If + ** both subClass and fullClass exist, then subClass takes + ** precedence. +- ** +- ** The original algorithm for this was to get null-prefix resource +- ** (i.e. *resource) as well as the subClass resource. If they ++ ** ++ ** The original algorithm for this was to get null-prefix resource ++ ** (i.e. *resource) as well as the subClass resource. If they + ** matched, then the fullClass was used. Unfortunately this has + ** a weakness; with the following database: +- ** *resource: value1 +- ** subClass.resource: value1 +- ** fullClass.resource: value2 +- ** the value used will be 'value2' instead of 'value1'. This is ++ ** *resource: value1 ++ ** subClass.resource: value1 ++ ** fullClass.resource: value2 ++ ** the value used will be 'value2' instead of 'value1'. This is + ** incorrect. +- ** +- ** However, we can cheat. XrmGetResource returns string pointers ++ ** ++ ** However, we can cheat. XrmGetResource returns string pointers + ** that are actually pointing to the internal string in the + ** database. Thus, if the *pointer* returned when looking for + ** the generic resource is the same as that for the subClass, + ** then they found the same thing. +- ** +- ** Note that XGetDefault *cannot* be used, as we may be getting ++ ** ++ ** Note that XGetDefault *cannot* be used, as we may be getting + ** multi-level resources, something that it does not support. +- */ +- sprintf(str_class, "%s.%s", invalidPrefix, resourceClass); +- foundGeneric = XrmGetResource(database, str_name, str_class, &generic_return_str_type, &return_value); +- +- sprintf(str_class, "%s.%s", subClass, resourceClass); +- found = XrmGetResource(database, str_name, str_class, &return_str_type, &return_value); +- +- if (!found || (foundGeneric && found && generic_return_str_type == return_str_type) ) { +- /* Subclass returned nothing or the same physical thing as the the generic. Try fullClass. */ +- sprintf(str_class, "%s.%s", fullClass, resourceClass); +- found = XrmGetResource(database, str_name, str_class, &return_str_type, &return_value); +- } +- +- free(str_class); +- free(str_name); +- return found ? (char *) return_value.addr : NULL; ++ */ ++ snprintf(str_class, len-1, "%s.%s", invalidPrefix, resourceClass); ++ str_name[len-1] = (char) 0; ++ foundGeneric = XrmGetResource(database, str_name, str_class, &generic_return_str_type, &return_value); ++ ++ snprintf(str_class, len-1, "%s.%s", subClass, resourceClass); ++ str_name[len-1] = (char) 0; ++ found = XrmGetResource(database, str_name, str_class, &return_str_type, &return_value); ++ ++ if (!found || ++ (foundGeneric && found && generic_return_str_type == return_str_type) ) { ++ /* Subclass returned nothing or the same physical thing as the the generic. Try fullClass. */ ++ snprintf(str_class, len-1, "%s.%s", fullClass, resourceClass); ++ str_name[len-1] = (char) 0; ++ found = XrmGetResource(database, str_name, str_class, &return_str_type, &return_value); ++ } ++ ++ /* free memory */ ++ free(str_class); ++ free(str_name); ++ ++ return found ? (char *) return_value.addr : NULL; + } + #endif /* USE_XGETDEFAULT */ + +@@ -1619,7 +1630,6 @@ + for (entry = 0; entry < optList_size(); entry++) { + int s; + char* p; +- char* p0; + register int i; + register int loop = optList[entry].multiple ? MAX_PAGES : 1; + diff --git a/x11-terms/mrxvt/mrxvt-0.3.13-r1.ebuild b/x11-terms/mrxvt/mrxvt-0.3.13-r1.ebuild new file mode 100644 index 000000000000..be6df7d829be --- /dev/null +++ b/x11-terms/mrxvt/mrxvt-0.3.13-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-terms/mrxvt/mrxvt-0.3.13-r1.ebuild,v 1.1 2005/02/18 13:37:22 usata Exp $ + +inherit eutils + +IUSE="debug truetype xgetdefault" +#IUSE="${IUSE} utempter" + +DESCRIPTION="Multi-tabbed rxvt clone with XFT, transparent background and CJK support" +HOMEPAGE="http://materm.sourceforge.net/" +SRC_URI="mirror://sourceforge/materm/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 -ppc-macos ~amd64 ~ppc ~alpha" + +RDEPEND="virtual/libc + virtual/x11 + dev-libs/expat + media-libs/libpng + media-libs/jpeg + truetype? ( virtual/xft + media-libs/fontconfig + media-libs/freetype )" +# utempter? ( sys-apps/utempter ) +DEPEND="${RDEPEND} + sys-devel/autoconf + sys-devel/automake" + +src_unpack() { + unpack ${A} + cd ${S}/src + epatch ${FILESDIR}/${P}-xdefaults.patch +} + +src_compile() { + local myconf + + # if you want to pass any other flags, use EXTRA_ECONF. + if use linguas_el ; then + myconf="${myconf} --enable-greek" + fi + if use linguas_ja ; then + # --with-encoding=sjis + myconf="${myconf} --enable-kanji --with-encoding=eucj" + fi + if use linguas_ko ; then + myconf="${myconf} --enable-kr --with-encoding=kr" + fi + if use linguas_th ; then + myconf="${myconf} --enable-thai" + fi + if use linguas_zh_CN ; then + # --with-encoding=gbk + myconf="${myconf} --enable-gb --with-encoding=gb" + fi + if use linguas_zh_TW ; then + myconf="${myconf} --enable-big5 --with-encoding=big5" + fi + + ./bootstrap.sh + + econf \ + --enable-everything \ + --enable-rxvt-scroll \ + --enable-next-scroll \ + --enable-xterm-scroll \ + --enable-transparency \ + --enable-xpm-background \ + --enable-fading \ + --enable-utmp \ + --enable-wtmp \ + --enable-mousewheel \ + --enable-slipwheeling \ + --enable-smart-resize \ + --enable-ttygid \ + --enable-256-color \ + --enable-xim \ + --enable-shared \ + --enable-keepscrolling \ + --enable-xft \ + $(use_enable xgetdefault) \ + $(use_enable truetype xft) \ + $(use_enable debug) \ + --disable-text-blink \ + --disable-menubar \ + ${myconf} || die + + emake || die +} + +src_install() { + make DESTDIR=${D} docdir=/usr/share/doc/${PF} install || die + + dodoc AUTHORS CREDITS ChangeLog FAQ NEWS README* TODO +} |