diff options
-rw-r--r-- | app-portage/ufed/ChangeLog | 11 | ||||
-rw-r--r-- | app-portage/ufed/Manifest | 14 | ||||
-rw-r--r-- | app-portage/ufed/files/ufed-0.40-termsize-2.patch | 200 | ||||
-rw-r--r-- | app-portage/ufed/ufed-0.40-r11.ebuild | 47 |
4 files changed, 259 insertions, 13 deletions
diff --git a/app-portage/ufed/ChangeLog b/app-portage/ufed/ChangeLog index 72e7b7536c45..839d79705914 100644 --- a/app-portage/ufed/ChangeLog +++ b/app-portage/ufed/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-portage/ufed -# Copyright 2003-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-portage/ufed/ChangeLog,v 1.69 2008/08/08 16:55:54 nixnut Exp $ +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-portage/ufed/ChangeLog,v 1.70 2009/06/18 17:16:19 truedfx Exp $ + +*ufed-0.40-r11 (18 Jun 2009) + + 18 Jun 2009; Harald van Dijk <truedfx@gentoo.org> +ufed-0.40-r11.ebuild, + +files/ufed-0.40-termsize-2.patch: + Support flags with too many descriptions to fit on one screen (#273309 by + ulm) 08 Aug 2008; nixnut <nixnut@gentoo.org> ufed-0.40-r10.ebuild: Stable on ppc wrt bug 233644 diff --git a/app-portage/ufed/Manifest b/app-portage/ufed/Manifest index 056d85a2863c..22cef204f5f5 100644 --- a/app-portage/ufed/Manifest +++ b/app-portage/ufed/Manifest @@ -1,23 +1,15 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX ufed-0.40-comments.patch 1514 RMD160 92eab07ec71b6d51b9952455b73f04b1c26c37b2 SHA1 164528e1d2e29776f70a97f7483f531206e4b155 SHA256 f7a812e012f04c3f6c52f5efb096349ed25ddff0898c1107f7acd170eac1b17f AUX ufed-0.40-masked.patch 487 RMD160 2418285104f72cef7b87a2c4225ea7934cb37076 SHA1 aee6579a525e54274d75c754691ef0418da8e9bb SHA256 d2fd936d900d245ac7e1ed488dee602afe5b5536d1e3d5102ee015d60ff09217 AUX ufed-0.40-multiple-inheritance.patch 704 RMD160 18fc8b1f3729a3d435031f5cccf741326db70744 SHA1 2fa92308d5e351a184b6203047735250e2ed7d07 SHA256 73f9352b1f47faa513f700a806569c5da0d72d4aca5d914d692b2c82f65fd358 AUX ufed-0.40-noremove.patch 4473 RMD160 45e4e566a5d514db357aad1b2a0146a738861783 SHA1 b8cb1a0ea91e065fa866bc16450b28fd3e158e1a SHA256 36c1b8ae11aaa6da8cf5e9a2db93b356b98107aca0dd8901e9d3c98a5c6d02a2 AUX ufed-0.40-packageusemask.patch 1773 RMD160 158e0033bdde3264259e28cf77964b6b7527cf42 SHA1 12fc4602e48899d9c8ab598519d1b381cea94d50 SHA256 ff9c592ad541d71e9ff85acd4d061b711d2d555ee97592b380d450edf40b242f AUX ufed-0.40-source.patch 1934 RMD160 636f210be5b3f74ec204f8427503d3a60e6b28ac SHA1 2c2c51aaabcbf80c50039c9b180574d72b3992f2 SHA256 5050eb221225c0232632a19bc67ba29e8c6fd6ae557307ca76acfdee5f211449 +AUX ufed-0.40-termsize-2.patch 5934 RMD160 c77ed7c3067a18d05d020599c2f8f8b8f5ff9d23 SHA1 881089220962a7a4dfb97595eea46e50ec02a337 SHA256 3264f5fbd7abec074b8e06b4f06fa68fd438d070450cb761d657c0c2da6b9c04 AUX ufed-0.40-termsize.patch 1022 RMD160 ecbe487e3ede165eb24a4e098d6a41f41ae805f1 SHA1 e8beb891f5d37cdc33338a03a7593b9f23eec7fc SHA256 285c5ff5db45dd506c9f0afc59eb2126b7e0774bfc9304bc6e5eb9f62c9a1604 AUX ufed-0.40-useorder.patch 983 RMD160 6886d7dcf15c47aaf5cc45d730511d0d7f2bd8f2 SHA1 6d026beb4d1a93dc7567fe11cd3ef519e7f64113 SHA256 e3f904ab52d9fc184f7d32800f25c3d1ddaf73e14db09585afb12ca64e36fc0b DIST ufed-0.40.tar.bz2 20288 RMD160 f360eb01f952acb4f52cfa571927a523f1fe3015 SHA1 a20e980972123e424fdef14001dace14ca1a6b73 SHA256 85d8894b7d163dacf7dfc94fff4e8c4a9cbb0302a66fc7e545a6d5c1c6c9318c EBUILD ufed-0.40-r10.ebuild 1211 RMD160 10bb9f10b1865352df64b72ebed64fc0159dfc1a SHA1 569fa2722d4da31d241f4e632b4bd7df97434255 SHA256 cfedda6736fbe28c11a5e4f299b0e3af83ab465f07f1bdc0d06d1ffc6ce56dac +EBUILD ufed-0.40-r11.ebuild 1253 RMD160 4dd256d151aa26f887b88e9e153274b4c839c998 SHA1 682eab22945a01e973ac2eb9db05e8da2998f518 SHA256 706d25d2cc56fcfacb6ad7af1630e5bf206a0a994e52d76a36f5cbd7652779b4 EBUILD ufed-0.40-r6.ebuild 1071 RMD160 fea211ac591e93c122f06b4d7273cf0e47c466b6 SHA1 7fe048645c73372a0017861af394066406da784d SHA256 bcc894cc49d7f08b35255e0e750310b1216b744594e0f330ac50b6691291e11e -MISC ChangeLog 9816 RMD160 da2a312f4bd2e8ce866eb789ba0598f7f844423c SHA1 4f50dcd9fa2579470460dc9785f133a5db7ff5f8 SHA256 50c8c1389223e48a8e00f2776b4b029ef752e12b615a4f952fcfea8dbd102f94 +MISC ChangeLog 10043 RMD160 94895cb67653aafef7b23c3db259b9de090625a7 SHA1 38c12e185f502ab08a284bcee7b47910537d9ece SHA256 4a6439ddb5acd37b64d350e88ea193444041028cd9f3c6f401f0b27fbfe7d24e MISC metadata.xml 256 RMD160 338deafc839d9e041e7c2df1ad9f3d73da67c096 SHA1 437b2fe5a9ddf258e30d77483bea041d998381de SHA256 52559b22087ad96b3cc63918a82c69515b3efdb8ca7735746698650bf62bb8b5 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) - -iEYEARECAAYFAkkDn7sACgkQ67wieSYcaxdzsQCeIvwT79C301zIcofjLOvE6fbU -CrkAoMlT+gsYUtZDWr1OsFwkoyYAZ8YM -=u5s5 ------END PGP SIGNATURE----- diff --git a/app-portage/ufed/files/ufed-0.40-termsize-2.patch b/app-portage/ufed/files/ufed-0.40-termsize-2.patch new file mode 100644 index 000000000000..ae0834e76682 --- /dev/null +++ b/app-portage/ufed/files/ufed-0.40-termsize-2.patch @@ -0,0 +1,200 @@ + + Allow termsizes as small as allowing only one line in the list. + Bug #273309 by ulm + +--- ufed-0.40/ufed-curses.c ++++ ufed-0.40/ufed-curses.c +@@ -21,7 +21,7 @@ + static const struct key *keys; + + static struct item *items, *currentitem; +-int topy, minheight, minwidth; ++int topy, minwidth; + + static void checktermsize(void); + +@@ -53,7 +53,7 @@ + } + + static void checktermsize(void) { +- while(wHeight(List) < minheight ++ while(wHeight(List) < 1 + || wWidth(List) < minwidth) { + #ifdef KEY_RESIZE + clear(); +@@ -227,32 +227,13 @@ + } + + void scrollcurrent(void) { +- int oldtopy = topy; + if(currentitem->top < topy) +- topy = currentitem->top; ++ topy = max(currentitem->top, currentitem->top+currentitem->height-wHeight(List)); + else if(currentitem->top+currentitem->height > topy+wHeight(List)) +- topy = currentitem->top+currentitem->height-wHeight(List); ++ topy = min(currentitem->top+currentitem->height-wHeight(List), currentitem->top); + else + return; +- if(abs(topy-oldtopy)>wHeight(List)) { +- drawitems(); ++ drawitems(); +- } else { +- struct item *item = currentitem; +- scrollok(win(List), TRUE); +- wscrl(win(List), topy-oldtopy); +- scrollok(win(List), FALSE); +- if(topy<oldtopy) +- while((item=item->next)!=items +- && item->top < oldtopy +- && item->top < topy + wHeight(List)) +- (*drawitem)(item, FALSE); +- else +- while((item=item->prev)->next!=items +- && item->top > oldtopy +- && item->top + item->height-1 >= topy) +- (*drawitem)(item, FALSE); +- mvwhline(win(List), wHeight(List), 0, ' ', wWidth(List)); +- } + drawscrollbar(); + } + +@@ -282,8 +263,8 @@ + window[w].win = newwin(wHeight(w), wWidth(w), wTop(w), wLeft(w)); + } } + /* this won't work for the help viewer, but it doesn't use yesno() */ +- currentitem = items; + topy = 0; ++ scrollcurrent(); + draw(); + wattrset(win(Input), COLOR_PAIR(4) | A_BOLD | A_REVERSE); + mvwhline(win(Input), 0, 0, ' ', wWidth(Input)); +@@ -463,7 +444,11 @@ + + switch(c) { + case KEY_UP: +- if(currentitem!=items) { ++ if(currentitem->top<topy) { ++ (*drawitem)(currentitem, FALSE); ++ topy--; ++ (*drawitem)(currentitem, TRUE); ++ } else if(currentitem!=items || topy>currentitem->top) { + (*drawitem)(currentitem, FALSE); + currentitem = currentitem->prev; + scrollcurrent(); +@@ -472,7 +457,11 @@ + break; + + case KEY_DOWN: +- if(currentitem->next!=items) { ++ if(currentitem->top+currentitem->height>topy+wHeight(List)) { ++ (*drawitem)(currentitem, FALSE); ++ topy++; ++ (*drawitem)(currentitem, TRUE); ++ } else if(currentitem->next!=items) { + (*drawitem)(currentitem, FALSE); + currentitem = currentitem->next; + scrollcurrent(); +@@ -484,9 +473,9 @@ + if(currentitem!=items) { + struct item *olditem = currentitem; + (*drawitem)(currentitem, FALSE); ++ do currentitem = currentitem->prev; + while(currentitem!=items +- && olditem->top - currentitem->prev->top <= wHeight(List)) ++ && olditem->top - currentitem->prev->top <= wHeight(List)); +- currentitem = currentitem->prev; + scrollcurrent(); + (*drawitem)(currentitem, TRUE); + } +@@ -496,10 +485,10 @@ + if(currentitem->next!=items) { + struct item *olditem = currentitem; + (*drawitem)(currentitem, FALSE); ++ do currentitem = currentitem->next; + while(currentitem->next!=items + && (currentitem->next->top + currentitem->next->height) +- - (olditem->top + olditem->height) <= wHeight(List)) ++ - (olditem->top + olditem->height) <= wHeight(List)); +- currentitem = currentitem->next; + scrollcurrent(); + (*drawitem)(currentitem, TRUE); + } +@@ -531,11 +520,11 @@ + delwin(window[w].win); + window[w].win = newwin(wHeight(w), wWidth(w), wTop(w), wLeft(w)); + } } +- if(result==-1) ++ if(result==-1) { +- currentitem = items; ++ topy = 0; ++ scrollcurrent(); +- else ++ } else + items = currentitem; +- topy = 0; + draw(); + break; + #endif +--- ufed-0.40/ufed-curses-checklist.c ++++ ufed-0.40/ufed-curses-checklist.c +@@ -109,8 +109,6 @@ + flag->state = &line[state.start]; + + flag->item.height = ndescr; +- if(ndescr > minheight) +- minheight = ndescr; + { int i; for(i=0; i<ndescr; i++) { + flag->descr[i] = getline(input); + } } +@@ -174,11 +172,12 @@ + wattrset(win(List), COLOR_PAIR(3)); + else + wattrset(win(List), COLOR_PAIR(3) | A_BOLD | A_REVERSE); +- if(y < 0) { ++ if(y >= 0 || -y >= flag->item.height) { ++ d = &flag->descr[0]; ++ } else { + wmove(win(List), 0, 0); + d = &flag->descr[-y]; + y = 0; +- goto descriptiononly; + } + wmove(win(List), y, 0); + sprintf(buf, " %c%c%c %-*s %-5.5s ", +@@ -187,7 +186,6 @@ + flag->on == ' ' ? ')' : ']', + minwidth-12, flag->name, + flag->state); +- d = &flag->descr[0]; + if(d != &flag->descr[flag->item.height]) { + for(;;) { + sprintf(buf+minwidth, "%-*.*s", +@@ -198,7 +196,6 @@ + waddstr(win(List), buf); + d++; + y++; +- descriptiononly: + if(d!=&flag->descr[flag->item.height] && y<wHeight(List)) { + char *p; + for(p=buf; p!=buf+minwidth; p++) +@@ -214,7 +211,7 @@ + y++; + } + if(highlight) +- wmove(win(List), flag->item.top - topy, 2); ++ wmove(win(List), max(flag->item.top - topy, 0), 2); + wnoutrefresh(win(List)); + } + +--- ufed-0.40/ufed-curses.h ++++ ufed-0.40/ufed-curses.h +@@ -45,6 +45,8 @@ + static inline int wLeft (enum win w) { return (window[w].left >= 0 ? 0 : COLS ) + window[w].left ; } + static inline int wHeight(enum win w) { return (window[w].height > 0 ? 0 : LINES) + window[w].height; } + static inline int wWidth (enum win w) { return (window[w].width > 0 ? 0 : COLS ) + window[w].width ; } ++static inline int min(int a, int b) { return a < b ? a : b; } ++static inline int max(int a, int b) { return a > b ? a : b; } + +-extern int minheight, minwidth; ++extern int minwidth; + extern int topy; diff --git a/app-portage/ufed/ufed-0.40-r11.ebuild b/app-portage/ufed/ufed-0.40-r11.ebuild new file mode 100644 index 000000000000..4558d9e9b1bc --- /dev/null +++ b/app-portage/ufed/ufed-0.40-r11.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-portage/ufed/ufed-0.40-r11.ebuild,v 1.1 2009/06/18 17:16:19 truedfx Exp $ + +EAPI=2 + +inherit eutils + +DESCRIPTION="Gentoo Linux USE flags editor" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2 + http://dev.gentoo.org/~truedfx/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="" + +DEPEND="sys-libs/ncurses" +RDEPEND="${DEPEND} + dev-lang/perl" + +src_prepare() { + epatch "${FILESDIR}"/${P}-useorder.patch + epatch "${FILESDIR}"/${P}-source.patch + epatch "${FILESDIR}"/${P}-comments.patch + epatch "${FILESDIR}"/${P}-masked.patch + epatch "${FILESDIR}"/${P}-packageusemask.patch + epatch "${FILESDIR}"/${P}-noremove.patch + epatch "${FILESDIR}"/${P}-termsize.patch + epatch "${FILESDIR}"/${P}-multiple-inheritance.patch + epatch "${FILESDIR}"/${P}-termsize-2.patch +} + +src_compile() { + ./configure || die "configure failed" + emake || die "make failed" +} + +src_install() { + newsbin ufed.pl ufed || die + doman ufed.8 + insinto /usr/lib/ufed + doins *.pm || die + exeinto /usr/lib/ufed + doexe ufed-curses || die +} |