diff --git a/README.md b/README.md index 10d0e92..967ac19 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,3 @@ The S-Lang language was designed so that it can be easily embedded into a progra The S-Lang library, provided in this package, provides the S-Lang extension language. S-Lang's syntax resembles C, which makes it easy to recode S-Lang procedures in C if you need to. - diff --git a/libslang-1.4.9-autoconf.patch b/libslang-1.4.9-autoconf.patch deleted file mode 100644 index f5a6130..0000000 --- a/libslang-1.4.9-autoconf.patch +++ /dev/null @@ -1,149 +0,0 @@ ---- slang-1.4.9/autoconf/configure.in.old 2002-09-13 13:53:56.000000000 +0200 -+++ slang-1.4.9/autoconf/configure.in 2002-09-13 14:01:44.000000000 +0200 -@@ -17,6 +17,62 @@ - AC_CONFIG_AUX_DIR(autoconf) - AC_CANONICAL_HOST - -+AH_TOP([ -+/* -*- c -*- */ -+/* Note: this is for unix only. */ -+ -+#ifndef SL_CONFIG_H -+#define SL_CONFIG_H -+]) -+ -+AH_BOTTOM([ -+#if defined(HAVE_SIGADDSET) && defined(HAVE_SIGEMPTYSET) -+# if defined(HAVE_SIGACTION) && defined(HAVE_SIGPROCMASK) -+# define SLANG_POSIX_SIGNALS -+# endif -+#endif -+ -+/* Define if you need to in order for stat and other things to work. */ -+#undef _POSIX_SOURCE -+ -+#ifdef _AIX -+# ifndef _POSIX_SOURCE -+# define _POSIX_SOURCE 1 -+# endif -+# ifndef _ALL_SOURCE -+# define _ALL_SOURCE -+# endif -+/* This may generate warnings but the fact is that without it, xlc will -+ * INCORRECTLY inline many str* functions. */ -+# undef __STR__ -+#endif -+ -+/* define USE_TERMCAP if you want to use it instead of terminfo. */ -+#if defined(sequent) || defined(NeXT) -+# ifndef USE_TERMCAP -+# define USE_TERMCAP -+# endif -+#endif -+ -+#if defined(ultrix) && !defined(__GNUC__) -+# ifndef NO_PROTOTYPES -+# define NO_PROTOTYPES -+# endif -+#endif -+ -+#ifndef unix -+# define unix 1 -+#endif -+ -+#ifndef __unix__ -+# define __unix__ 1 -+#endif -+ -+#define _SLANG_SOURCE_ 1 -+#endif /* SL_CONFIG_H */ -+]) -+ -+ - JD_INIT - JD_ANSI_CC - -@@ -69,9 +125,9 @@ - times gmtime \ - ) - --AC_CHECK_LIB(m, acosh, [AC_DEFINE(HAVE_ACOSH)]) --AC_CHECK_LIB(m, asinh, [AC_DEFINE(HAVE_ASINH)]) --AC_CHECK_LIB(m, atanh, [AC_DEFINE(HAVE_ATANH)]) -+AC_CHECK_LIB(m, acosh, [AC_DEFINE(HAVE_ACOSH,1,[Define to 1 if you have the `acosh' function])]) -+AC_CHECK_LIB(m, asinh, [AC_DEFINE(HAVE_ASINH,1,[Define to 1 if you have the `asinh' function])]) -+AC_CHECK_LIB(m, atanh, [AC_DEFINE(HAVE_ATANH,1,[Define to 1 if you have the `atanh' function])]) - - JD_ELF_COMPILER - JD_IEEE_CFLAGS ---- slang-1.4.9/utoconf/aclocal.m4.old 2002-09-13 13:35:17.000000000 +0200 -+++ slang-1.4.9/autoconf/aclocal.m4 2002-09-13 14:16:10.000000000 +0200 -@@ -258,18 +258,18 @@ - AC_DEFUN(JD_GCC_WARNINGS, - [ - AC_ARG_ENABLE(warnings, -- [ --enable-warnings turn on GCC compiler warnings], -+ AC_HELP_STRING([--enable-warnings],[turn on GCC compiler warnings]), - [gcc_warnings=$enableval]) --if test -n "$GCC" -+if test -n "$GCC" && test -n "$gcc_warnings" - then -- CFLAGS="$CFLAGS -fno-strength-reduce" -- if test -n "$gcc_warnings" -- then -- CFLAGS="$CFLAGS -Wall -W -pedantic -Winline -Wmissing-prototypes \ -- -Wnested-externs -Wpointer-arith -Wcast-align -Wshadow -Wstrict-prototypes" -- # Now trim excess whitespace -- CFLAGS=`echo $CFLAGS` -- fi -+ CFLAGS="$CFLAGS -Wall -W -pedantic -Winline -Wmissing-prototypes \ -+ -Wnested-externs -Wpointer-arith -Wcast-align -Wshadow -Wstrict-prototypes \ -+ -Wformat -Wformat-security" -+ ELF_CFLAGS="$ELF_CFLAGS -Wall -W -pedantic -Winline -Wmissing-prototypes \ -+ -Wnested-externs -Wpointer-arith -Wcast-align -Wshadow -Wstrict-prototypes \ -+ -Wformat -Wformat-security" -+ # Now trim excess whitespace -+ CFLAGS=`echo $CFLAGS` - fi - ]) - -@@ -415,7 +415,7 @@ - done - if test "$TERMCAP"; then - AC_MSG_RESULT(no) -- AC_DEFINE(USE_TERMCAP) -+ AC_DEFINE(USE_TERMCAP,1,[Define to use termcap]) - fi - AC_SUBST(TERMCAP)dnl - AC_SUBST(MISC_TERMINFO_DIRS)dnl -@@ -439,7 +439,7 @@ - yes - #endif - ], [ --AC_DEFINE(_HPUX_SOURCE) -+AC_DEFINE(_HPUX_SOURCE,1,[Special define needed for HPUX]) - if test "$CC" = cc; then CC="cc -Ae"; fi - ])dnl - dnl -@@ -462,8 +462,11 @@ - dnl # Check for dynamic linker - dnl #------------------------------------------------------------------------- - DYNAMIC_LINK_LIB="" -+ -+AH_TEMPLATE([HAVE_DLOPEN],[Define if you have dlopen]) -+ - AC_CHECK_HEADER(dlfcn.h,[ -- AC_DEFINE(HAVE_DLFCN_H) -+ AC_DEFINE(HAVE_DLFCN_H,1,[Define if you have the dlfcn.h header]) - AC_CHECK_LIB(dl,dlopen,[ - DYNAMIC_LINK_LIB="-ldl" - AC_DEFINE(HAVE_DLOPEN) -@@ -484,7 +487,7 @@ - *linux* ) - DYNAMIC_LINK_FLAGS="-Wl,-export-dynamic" - ELF_CC="gcc" -- ELF_CFLAGS="-O2 -fno-strength-reduce -fPIC" -+ ELF_CFLAGS="$ELF_CFLAGS -fPIC" - ELF_LINK="gcc -shared -Wl,-soname#" - ELF_LINK_CMD="\$(ELF_LINK),\$(ELFLIB_MAJOR)" - ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" diff --git a/libslang-1.4.9-debian-utf8.patch b/libslang-1.4.9-debian-utf8.patch deleted file mode 100644 index 62eb670..0000000 --- a/libslang-1.4.9-debian-utf8.patch +++ /dev/null @@ -1,917 +0,0 @@ ---- slang-1.4.4.orig/src/slinclud.h -+++ slang-1.4.4/src/slinclud.h -@@ -23,4 +23,12 @@ - # include - #endif - -+#define UTF8 1 -+ -+#ifdef UTF8 -+#include -+#include -+#endif /* UTF8 */ -+ -+ - #endif /* _SLANG_INCLUDE_H_ */ ---- slang-1.4.4.orig/src/slang.h -+++ slang-1.4.4/src/slang.h -@@ -1239,10 +1239,20 @@ - extern int SLtt_Msdos_Cheap_Video; - #endif - -+#define UTF8 1 -+ -+#ifdef UTF8 -+typedef int SLsmg_Char_Type; -+#define SLSMG_EXTRACT_CHAR(x) ((x) & 0xFFFFFF) -+#define SLSMG_EXTRACT_COLOR(x) (((x)>>24)&0xFF) -+#define SLSMG_BUILD_CHAR(ch,color) (((SLsmg_Char_Type)(wchar_t)(ch))|((color)<<24)) -+#define SLSMG_NOCHAR 1 -+#else - typedef unsigned short SLsmg_Char_Type; - #define SLSMG_EXTRACT_CHAR(x) ((x) & 0xFF) - #define SLSMG_EXTRACT_COLOR(x) (((x)>>8)&0xFF) - #define SLSMG_BUILD_CHAR(ch,color) (((SLsmg_Char_Type)(unsigned char)(ch))|((color)<<8)) -+#endif /* UTF8 */ - - extern int SLtt_flush_output (void); - extern void SLtt_set_scroll_region(int, int); -@@ -1334,7 +1342,11 @@ - - /*{{{ SLsmg Screen Management Functions */ - -+#ifdef UTF8 -+extern void SLsmg_fill_region (int, int, unsigned int, unsigned int, wchar_t); -+#else - extern void SLsmg_fill_region (int, int, unsigned int, unsigned int, unsigned char); -+#endif /* UTF8 */ - extern void SLsmg_set_char_set (int); - #ifndef IBMPC_SYSTEM - extern int SLsmg_Scroll_Hash_Border; -@@ -1351,7 +1363,12 @@ - extern void SLsmg_vprintf (char *, va_list); - extern void SLsmg_write_string (char *); - extern void SLsmg_write_nstring (char *, unsigned int); -+#ifdef UTF8 -+extern void SLsmg_write_char (wchar_t); -+extern void SLsmg_write_nwchars (wchar_t *, unsigned int); -+#else - extern void SLsmg_write_char (char); -+#endif /* UTF8 */ - extern void SLsmg_write_nchars (char *, unsigned int); - extern void SLsmg_write_wrapped_string (char *, int, int, unsigned int, unsigned int, int); - extern void SLsmg_cls (void); ---- slang-1.4.4.orig/src/slcurses.c -+++ slang-1.4.4/src/slcurses.c -@@ -440,20 +440,130 @@ - - static int do_newline (SLcurses_Window_Type *w) - { -- w->_curx = 0; -+ /* w->_curx = 0; */ - w->_cury += 1; - if (w->_cury >= w->scroll_max) - { - w->_cury = w->scroll_max - 1; -- if (w->scroll_ok) -+ if (w->scroll_ok) { -+ w->_curx = 0; - SLcurses_wscrl (w, 1); -+ } - } -+ else -+ w->_curx = 0; -+ -+ return 0; -+} -+ -+#ifdef UTF8 -+static int SLcurses_waddch1 (SLcurses_Window_Type *win, -+ wchar_t ch, int color) -+{ -+ SLsmg_Char_Type *b, *bmin, *bmax, *c; -+ int k; -+ -+ if (win == NULL) return -1; -+ -+ if (win->_cury >= win->nrows) -+ { -+ /* Curses seems to move current postion to top of window. */ -+ win->_cury = win->_curx = 0; -+ return -1; -+ } -+ -+ win->modified = 1; -+ -+ if (ch < ' ') -+ { -+ if (ch == '\n') -+ { -+ SLcurses_wclrtoeol (win); -+ return do_newline (win); -+ } -+ -+ if (ch == '\r') -+ { -+ win->_curx = 0; -+ return 0; -+ } -+ -+ if (ch == '\b') -+ { -+ if (win->_curx > 0) -+ win->_curx--; -+ -+ return 0; -+ } -+ -+ /* HACK HACK!!!! */ -+ if (ch == '\t') ch = ' '; -+ } -+ -+ k = wcwidth(ch); -+ -+ if (!k) -+ return 0; /* ignore combining characters for now */ -+ -+ if (k > win->ncols) -+ return 0; /* character wider than window */ -+ -+ if (win->_curx + k > win->ncols) { -+ if (win->_curx < win->ncols) -+ SLcurses_wclrtoeol(win); -+ do_newline (win); -+ } -+ -+ bmin = win->lines[win->_cury]; -+ b = bmin + win->_curx; -+ bmax = bmin + win->ncols; -+ -+ /* Remove overwritten chars to left */ -+ if (*b == SLSMG_NOCHAR) { -+ for (c = b - 1; c >= bmin && *c == SLSMG_NOCHAR; c--) -+ *c = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*c)); -+ if (c >= bmin) -+ *c = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*c)); -+ } -+ -+ *b = SLSMG_BUILD_CHAR(ch,color); -+ win->_curx += k; -+ while (--k > 0) -+ *++b = SLSMG_NOCHAR; -+ -+ /* Remove overwritten chars to right */ -+ for (c = b + 1; c < bmax && *c == SLSMG_NOCHAR; c++) -+ *c = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*c)); - - return 0; - } - - int SLcurses_waddch (SLcurses_Window_Type *win, SLtt_Char_Type attr) - { -+ SLsmg_Char_Type ch, color; -+ -+ if (win == NULL) return -1; -+ -+ ch = SLSMG_EXTRACT_CHAR(attr); -+ -+ if (attr == ch) -+ color = win->color; -+ else -+ { -+ /* hack to pick up the default color for graphics chars */ -+ if (((attr & A_COLOR) == 0) && ((attr & A_ALTCHARSET) != 0)) -+ { -+ /* FIXME: priority=medium: Use SLSMG_?? instead of << */ -+ attr |= win->color << 8; -+ } -+ color = map_attr_to_object (attr); -+ } -+ -+ return SLcurses_waddch1 (win, ch, color); -+} -+#else -+int SLcurses_waddch (SLcurses_Window_Type *win, SLtt_Char_Type attr) -+{ - SLsmg_Char_Type *b, ch; - SLsmg_Char_Type color; - -@@ -518,6 +628,7 @@ - - return 0; - } -+#endif /* UTF8 */ - - int SLcurses_wnoutrefresh (SLcurses_Window_Type *w) - { -@@ -577,7 +688,11 @@ - - int SLcurses_wclrtoeol (SLcurses_Window_Type *w) - { -+#ifdef UTF8 -+ SLsmg_Char_Type *b, *bmin, *bmax, *c; -+#else - SLsmg_Char_Type *b, *bmax; -+#endif /* UTF8 */ - SLsmg_Char_Type blank; - - if (w == NULL) return -1; -@@ -588,9 +703,23 @@ - - blank = SLSMG_BUILD_CHAR(' ',w->color); - -+#ifdef UTF8 -+ bmin = w->lines[w->_cury]; -+ b = bmin + w->_curx; -+ bmax = bmin + w->ncols; -+ -+ /* Remove overwritten chars to left */ -+ if (b < bmax && *b == SLSMG_NOCHAR) { -+ for (c = b - 1; c >= bmin && *c == SLSMG_NOCHAR; c--) -+ *c = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*c)); -+ if (c >= bmin) -+ *c = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*c)); -+ } -+#else - b = w->lines[w->_cury]; - bmax = b + w->ncols; - b += w->_curx; -+#endif /* UTF8 */ - - while (b < bmax) *b++ = blank; - return 0; -@@ -677,6 +806,34 @@ - return 0; - } - -+#ifdef UTF8 -+/* Note: if len is < 0, entire string will be used. -+ */ -+int SLcurses_waddnstr (SLcurses_Window_Type *w, char *str, int len) -+{ -+ size_t k; -+ wchar_t wc; -+ mbstate_t mbstate; -+ -+ if ((w == NULL) -+ || (str == NULL)) -+ return -1; -+ -+ if (len < 0) -+ len = (char *)(-1) - str; -+ -+ memset (&mbstate, 0, sizeof (mbstate)); -+ while ((k = mbrtowc (&wc, str, len, &mbstate)) && -+ k != (size_t)(-1) && -+ k != (size_t)(-2)) -+ { -+ SLcurses_waddch1 (w, wc, w->color); -+ str += k; -+ len -= k; -+ } -+ return k; -+} -+#else - /* Note: if len is < 0, entire string will be used. - */ - int SLcurses_waddnstr (SLcurses_Window_Type *w, char *str, int len) -@@ -758,6 +915,7 @@ - - return 0; - } -+#endif /* UTF8 */ - - /* This routine IS NOT CORRECT. It needs to compute the proper overlap - * and copy accordingly. Here, I just assume windows are same size. -@@ -852,12 +1010,36 @@ - - int SLcurses_wdelch (SLcurses_Window_Type *w) - { -+#ifdef UTF8 -+ SLsmg_Char_Type *p, *p1, *pmin, *pmax, *q; -+#else - SLsmg_Char_Type *p, *p1, *pmax; -+#endif /* UTF8 */ - -+#ifdef UTF8 -+ pmin = w->lines[w->_cury]; -+ p = pmin + w->_curx; -+ pmax = pmin + w->ncols; -+ -+ /* Remove overwritten chars to left */ -+ if (p < pmax && *p == SLSMG_NOCHAR) { -+ for (q = p - 1; q >= pmin && *q == SLSMG_NOCHAR; q--) -+ *q = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*q)); -+ if (q >= pmin) -+ *q = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*q)); -+ } -+ -+ /* Remove overwritten chars to right */ -+ for (q = p + 1; q < pmax && *q == SLSMG_NOCHAR; q++) -+ *q = SLSMG_BUILD_CHAR(' ',SLSMG_EXTRACT_COLOR(*q)); -+ -+ p1 = p + 1; -+#else - p = w->lines[w->_cury]; - pmax = p + w->ncols; - p += w->_curx; - p1 = p + 1; -+#endif /* UTF8 */ - - while (p1 < pmax) - { -@@ -884,12 +1066,12 @@ - - while (pmax > p) - { -- *pmax = *p1; -+ *pmax = *p1; /* Doesn't this assign beyond the end of the line? */ - pmax = p1; - p1--; - } - -- if (p < pmax) -+ if (p < pmax) /* How could it be? */ - *p = SLSMG_BUILD_CHAR(ch, w->color); - - w->modified = 1; ---- slang-1.4.4.orig/src/slsmg.c -+++ slang-1.4.4/src/slsmg.c -@@ -225,6 +225,38 @@ - SLsmg_write_nchars (str, strlen (str)); - } - -+#ifdef UTF8 -+void SLsmg_write_nstring (char *str, unsigned int n) -+{ -+ char blank = ' '; -+ mbstate_t mbstate; -+ -+ /* Avoid a problem if a user accidently passes a negative value */ -+ if ((int) n < 0) -+ return; -+ -+ if (str != NULL) -+ { -+ wchar_t wc; -+ size_t k; -+ int w; -+ -+ memset (&mbstate, 0, sizeof (mbstate)); -+ while ((k = mbrtowc (&wc, str, MB_LEN_MAX, &mbstate)) && -+ k != (size_t)(-1) && -+ k != (size_t)(-2)) -+ { -+ w = wcwidth(wc); -+ if (w < 0 || w > n) -+ break; -+ SLsmg_write_nwchars (&wc, 1); -+ str += k; -+ n -= w; -+ } -+ } -+ while (n-- > 0) SLsmg_write_nchars (&blank, 1); -+} -+#else - void SLsmg_write_nstring (char *str, unsigned int n) - { - unsigned int width; -@@ -243,7 +275,11 @@ - } - while (width++ < n) SLsmg_write_nchars (&blank, 1); - } -+#endif /* UTF8 */ - -+#ifdef UTF8 -+/* FIXME: This function not UTF8'd yet - Edmund */ -+#endif /* UTF8 */ - void SLsmg_write_wrapped_string (char *s, int r, int c, - unsigned int dr, unsigned int dc, - int fill) -@@ -302,6 +338,123 @@ - int SLsmg_Display_Eight_Bit = 128; - #endif - -+#ifdef UTF8 -+void SLsmg_write_nwchars (wchar_t *str, unsigned int n) -+{ -+ SLsmg_Char_Type *p, *prev, *q; -+ int len, max_len, w, i; -+ wchar_t ch; -+ -+#ifndef IBMPC_SYSTEM -+ int alt_char_set_flag; -+ -+ alt_char_set_flag = ((This_Color & ALT_CHAR_FLAG) -+ && ((tt_Use_Blink_For_ACS == NULL) -+ || (*tt_Use_Blink_For_ACS == 0))); -+#endif -+ -+ if (Smg_Inited == 0) -+ return; -+ if (This_Row < Start_Row || This_Row >= Start_Row + Screen_Rows) -+ return; -+ -+ max_len = Start_Col + Screen_Cols; -+ len = This_Col; -+ p = SL_Screen[This_Row - Start_Row].neew + len - Start_Col; -+ prev = 0; -+ -+ for (i = 0; i < n; i++, str) { -+ ch = *str++; -+#ifndef IBMPC_SYSTEM -+ if (alt_char_set_flag) -+ ch = Alt_Char_Set[ch & 0x7F]; -+#endif -+ w = wcwidth(ch); -+ -+ if (w > 0) { -+ if (len + w <= max_len) { -+ if (!prev) { -+ for (q = p; *q == SLSMG_NOCHAR; q--) -+ *q = SLSMG_BUILD_CHAR(' ', SLSMG_EXTRACT_COLOR(*q)); -+ *q = SLSMG_BUILD_CHAR(' ', SLSMG_EXTRACT_COLOR(*q)); -+ } -+ prev = p; -+ *p++ = SLSMG_BUILD_CHAR(ch, This_Color), ++len; -+ for (; --w; len++, p++) -+ *p = SLSMG_NOCHAR; -+ } -+ else if (len < max_len) { -+ for (; len < max_len; len++, p++) -+ *p = SLSMG_BUILD_CHAR(' ', SLSMG_EXTRACT_COLOR(*p)); -+ prev = 0; -+ } -+ } -+ else if (ch == '\n' && -+ SLsmg_Newline_Behavior != SLSMG_NEWLINE_PRINTABLE) { -+ SL_Screen[This_Row - Start_Row].flags |= TOUCHED; -+ for (; len < max_len && *p == SLSMG_NOCHAR; len++, p++) -+ *p = SLSMG_BUILD_CHAR(' ', SLSMG_EXTRACT_COLOR(*p)); -+ if (!SLsmg_Newline_Behavior) -+ break; -+ ++This_Row; -+ len = 0; -+ if (This_Row == Start_Row + Screen_Rows) { -+ if (SLsmg_Newline_Behavior == SLSMG_NEWLINE_SCROLLS) -+ scroll_up(); -+ else -+ break; -+ } -+ p = SL_Screen[This_Row - Start_Row].neew; -+ prev = 0; -+ } -+ else if (ch == '\t' && (SLsmg_Tab_Width > 0)) { -+ while (len < max_len) { -+ *p = SLSMG_BUILD_CHAR(' ', SLSMG_EXTRACT_COLOR(*p)); -+ ++p, ++len; -+ if (len % SLsmg_Tab_Width == 0) -+ break; -+ } -+ } -+ else if ((ch == 0x8) && SLsmg_Backspace_Moves) { -+ /* not implemented */ -+ } -+ else if (!w && ch) { -+ /* we could handle combining characters here, using prev */ -+ } -+ else { -+ /* we should convert control characters to printable form here */ -+ } -+ } -+ This_Col = len; -+ if (i == n) { -+ SL_Screen[This_Row - Start_Row].flags |= TOUCHED; -+ for (; len < max_len && *p == SLSMG_NOCHAR; len++, p++) -+ *p = SLSMG_BUILD_CHAR(' ', SLSMG_EXTRACT_COLOR(*p)); -+ } -+} -+ -+void SLsmg_write_char (wchar_t wc) -+{ -+ SLsmg_write_nwchars (&wc, 1); -+} -+ -+void SLsmg_write_nchars (char *str, unsigned int n) -+{ -+ wchar_t wc; -+ size_t k; -+ mbstate_t mbstate; -+ -+ memset (&mbstate, 0, sizeof (mbstate)); -+ while ((k = mbrtowc (&wc, str, n, &mbstate)) && -+ k != (size_t)(-1) && -+ k != (size_t)(-2)) -+ { -+ SLsmg_write_nwchars (&wc, 1); -+ str += k; -+ n -= k; -+ } -+} -+#else - void SLsmg_write_nchars (char *str, unsigned int n) - { - register SLsmg_Char_Type *p, old, neew, color; -@@ -475,6 +628,7 @@ - { - SLsmg_write_nchars (&ch, 1); - } -+#endif /* UTF8 */ - - static int Cls_Flag; - -@@ -891,6 +1045,10 @@ - This_Color = color; - } - -+#ifdef UTF8 -+ /* FIXME: We should convert broken wide characters to spaces -+ before calling smart_puts */ -+#endif /* UTF8 */ - SL_Screen[i].old[Screen_Cols] = 0; - SL_Screen[i].neew[Screen_Cols] = 0; - -@@ -1334,9 +1492,16 @@ - This_Row = r; This_Col = c; - } - -+#ifdef UTF8 -+void SLsmg_fill_region (int r, int c, unsigned int dr, unsigned int dc, wchar_t ch) -+{ -+ static wchar_t hbuf[16]; -+ int i; -+#else - void SLsmg_fill_region (int r, int c, unsigned int dr, unsigned int dc, unsigned char ch) - { - static unsigned char hbuf[16]; -+#endif /* UTF8 */ - int count; - int dcmax, rmax; - -@@ -1357,16 +1522,30 @@ - #if 0 - ch = Alt_Char_Set[ch]; - #endif -+#ifdef UTF8 -+ if (ch != hbuf[0]) -+ for (i = 0; i < 16; i++) -+ hbuf[i] = ch; -+#else - if (ch != hbuf[0]) SLMEMSET ((char *) hbuf, (char) ch, 16); -+#endif /* UTF8 */ - - for (This_Row = r; This_Row < rmax; This_Row++) - { - This_Col = c; - count = dc / 16; -+#ifdef UTF8 -+ SLsmg_write_nwchars (hbuf, dc % 16); -+#else - SLsmg_write_nchars ((char *) hbuf, dc % 16); -+#endif /* UTF8 */ - while (count-- > 0) - { -+#ifdef UTF8 -+ SLsmg_write_nwchars (hbuf, 16); -+#else - SLsmg_write_nchars ((char *) hbuf, 16); -+#endif /* UTF8 */ - } - } - -@@ -1381,14 +1560,22 @@ - void SLsmg_write_color_chars (SLsmg_Char_Type *s, unsigned int len) - { - SLsmg_Char_Type *smax, sh; -+#ifdef UTF8 -+ wchar_t buf[32], *b, *bmax; -+#else - char buf[32], *b, *bmax; -+#endif /* UTF8 */ - int color, save_color; - - if (Smg_Inited == 0) return; - - smax = s + len; - b = buf; -+#ifdef UTF8 -+ bmax = b + sizeof (buf) / sizeof (SLsmg_Char_Type); -+#else - bmax = b + sizeof (buf); -+#endif /* UTF8 */ - - save_color = This_Color; - -@@ -1412,16 +1599,28 @@ - { - if (b != buf) - { -+#ifdef UTF8 -+ SLsmg_write_nwchars (buf, (int) (b - buf)); -+#else - SLsmg_write_nchars (buf, (int) (b - buf)); -+#endif /* UTF8 */ - b = buf; - } - This_Color = color; - } -+#ifdef UTF8 -+ *b++ = SLSMG_EXTRACT_CHAR(sh); -+#else - *b++ = (char) SLSMG_EXTRACT_CHAR(sh); -+#endif /* UTF8 */ - } - - if (b != buf) -+#ifdef UTF8 -+ SLsmg_write_nwchars (buf, (unsigned int) (b - buf)); -+#else - SLsmg_write_nchars (buf, (unsigned int) (b - buf)); -+#endif /* UTF8 */ - - This_Color = save_color; - } -@@ -1473,7 +1672,11 @@ - SLsmg_set_color_in_region (int color, int r, int c, unsigned int dr, unsigned int dc) - { - int cmax, rmax; -+#ifdef UTF8 -+ int color_mask; -+#else - SLsmg_Char_Type char_mask; -+#endif /* UTF8 */ - - if (Smg_Inited == 0) return; - -@@ -1498,14 +1701,22 @@ - color = ((color & 0x7F) + Bce_Color_Offset) & 0x7F; - } - #endif -+#ifdef UTF8 -+ color_mask = 0; -+#else - color = color << 8; - - char_mask = 0xFF; -+#endif /* UTF8 */ - - #ifndef IBMPC_SYSTEM - if ((tt_Use_Blink_For_ACS == NULL) - || (0 == *tt_Use_Blink_For_ACS)) -+#ifdef UTF8 -+ color_mask = 0x80; -+#else - char_mask = 0x80FF; -+#endif /* UTF8 */ - #endif - - while (r < rmax) -@@ -1519,7 +1730,13 @@ - - while (s < smax) - { -+#ifdef UTF8 -+ *s = SLSMG_BUILD_CHAR(SLSMG_EXTRACT_CHAR(*s), -+ (SLSMG_EXTRACT_COLOR(*s) & color_mask) -+ | color); -+#else - *s = (*s & char_mask) | color; -+#endif /* UTF8 */ - s++; - } - r++; ---- slang-1.4.5/src/Makefile.in.foo 2002-06-12 19:30:09.000000000 -0400 -+++ slang-1.4.5/src/Makefile.in 2002-06-12 19:31:13.000000000 -0400 -@@ -67,7 +67,7 @@ - #--------------------------------------------------------------------------- - # There should be no need to change anything below here. - #--------------------------------------------------------------------------- --THIS_LIB = slang# -+THIS_LIB = slang-utf8# - OTHERSTUFF = - THIS_LIB_DEFINES = -DSLANG - ELF_MAJOR_VERSION = @slang_major_version@# ---- slang-1.4.9/src/sldisply.c.orig 2003-10-27 17:24:15.000000000 -0500 -+++ slang-1.4.9/src/sldisply.c 2003-10-27 17:56:25.000000000 -0500 -@@ -9,6 +9,7 @@ - - #include - #include -+#include - - #if !defined(VMS) || (__VMS_VER >= 70000000) - # include -@@ -1426,14 +1427,25 @@ - - /* Highest bit represents the character set. */ - #define COLOR_MASK 0x7F00 -+#ifdef UTF8 -+# define COLOR_OF(x) (SLSMG_EXTRACT_COLOR(x) & 0x7F) -+#else - #define COLOR_OF(x) (((x)&COLOR_MASK)>>8) -+#endif - #define CHAR_OF(x) ((x)&0x80FF) - - #if SLTT_HAS_NON_BCE_SUPPORT -+#ifdef UTF8 -+static int bce_color_eqs (SLsmg_Char_Type a, SLsmg_Char_Type b) -+{ -+ a = SLSMG_EXTRACT_COLOR(a) & 0x7F; -+ b = SLSMG_EXTRACT_COLOR(b) & 0x7F; -+#else - static int bce_color_eqs (unsigned int a, unsigned int b) - { - a = COLOR_OF(a); - b = COLOR_OF(b); -+#endif - - if (a == b) - return 1; -@@ -1459,8 +1471,14 @@ - : (Ansi_Color_Map[COLOR_OF(a)].mono == Ansi_Color_Map[COLOR_OF(b)].mono)) - #endif - -+#ifdef UTF8 -+#define CHAR_EQS(a, b) ((a) == (b)\ -+ || (SLSMG_EXTRACT_CHAR(a) == SLSMG_EXTRACT_CHAR(b)\ -+ && COLOR_EQS((a), (b)))) -+#else - #define CHAR_EQS(a, b) (((a) == (b))\ - || ((CHAR_OF(a)==CHAR_OF(b)) && COLOR_EQS(a,b))) -+#endif - - /* The whole point of this routine is to prevent writing to the last column - * and last row on terminals with automatic margins. -@@ -1488,9 +1506,58 @@ - tt_write (str, len); - } - -+#ifdef UTF8 -+/* FIXME: This duplicates the function above -+ */ -+static void write_wstring_with_care (SLsmg_Char_Type *str, unsigned int len) -+{ -+ mbstate_t mbstate; -+ -+ if (str == NULL) return; -+ -+ if (Automatic_Margins && (Cursor_r + 1 == SLtt_Screen_Rows)) -+ { -+ if (len + (unsigned int) Cursor_c >= (unsigned int) SLtt_Screen_Cols) -+ { -+ /* For now, just do not write there. Later, something more -+ * sophisticated will be implemented. -+ */ -+ if (SLtt_Screen_Cols > Cursor_c) -+ { -+ len = SLtt_Screen_Cols - Cursor_c - 1; -+ while (len > 0 && str[len] == SLSMG_NOCHAR) -+ --len; -+ } -+ else len = 0; -+ } -+ } -+ -+ memset (&mbstate, 0, sizeof (mbstate)); -+ while (len--) -+ { -+ SLsmg_Char_Type c = *str++; -+ char buf[MB_LEN_MAX]; -+ size_t n; -+ -+ if (c == SLSMG_NOCHAR) -+ continue; -+ -+ n = wcrtomb (buf, c, &mbstate); -+ if (n == (size_t)(-1)) -+ break; -+ -+ tt_write(buf, n); -+ } -+} -+#endif /* UTF8 */ -+ - static void send_attr_str (SLsmg_Char_Type *s) - { -+#ifdef UTF8 -+ SLsmg_Char_Type out[SLTT_MAX_SCREEN_COLS], ch, *p; -+#else - unsigned char out[SLTT_MAX_SCREEN_COLS], ch, *p; -+#endif /* UTF8 */ - register SLtt_Char_Type attr; - register SLsmg_Char_Type sh; - int color, last_color = -1; -@@ -1498,8 +1565,13 @@ - p = out; - while (0 != (sh = *s++)) - { -+#ifdef UTF8 -+ ch = SLSMG_EXTRACT_CHAR(sh); -+ color = SLSMG_EXTRACT_COLOR(sh); -+#else - ch = sh & 0xFF; - color = ((int) sh & 0xFF00) >> 8; -+#endif - - #if SLTT_HAS_NON_BCE_SUPPORT - if (Bce_Color_Offset -@@ -1511,8 +1583,12 @@ - { - if (SLtt_Use_Ansi_Colors) attr = Ansi_Color_Map[color & 0x7F].fgbg; - else attr = Ansi_Color_Map[color & 0x7F].mono; -- -+ -+#ifdef UTF8 -+ if (SLSMG_EXTRACT_COLOR(sh) & 0x80) /* alternate char set */ -+#else - if (sh & 0x8000) /* alternate char set */ -+#endif - { - if (SLtt_Use_Blink_For_ACS) - { -@@ -1534,8 +1610,12 @@ - { - if (p != out) - { -+#ifdef UTF8 -+ write_wstring_with_care (out, p-out); -+#else - *p = 0; - write_string_with_care ((char *) out); -+#endif - Cursor_c += (int) (p - out); - p = out; - } -@@ -1558,8 +1638,12 @@ - } - *p++ = ch; - } -+#ifdef UTF8 -+ if (p != out) write_wstring_with_care (out, p-out); -+#else - *p = 0; - if (p != out) write_string_with_care ((char *) out); -+#endif - Cursor_c += (int) (p - out); - } - -@@ -1686,7 +1770,11 @@ - - while (qq < qmax) - { -+#ifdef UTF8 -+ if (SLSMG_EXTRACT_COLOR(*qq)) -+#else - if (*qq & 0xFF00) -+#endif - { - SLtt_normal_video (); - SLtt_del_eol (); -@@ -1701,7 +1789,11 @@ - /* Find where the last non-blank character on old/new screen is */ - - space_char = ' '; -+#ifdef UTF8 -+ if (SLSMG_EXTRACT_CHAR(*(pmax-1)) == ' ') -+#else - if (CHAR_EQS(*(pmax-1), ' ')) -+#endif - { - /* If we get here, then we can erase to the end of the line to create - * the final space. However, this will only work _if_ erasing will -@@ -1752,7 +1844,11 @@ - { - #endif - /* Try use use erase to bol if possible */ -+#ifdef UTF8 -+ if ((Del_Bol_Str != NULL) && (SLSMG_EXTRACT_CHAR(*neww) == ' ')) -+#else - if ((Del_Bol_Str != NULL) && (CHAR_OF(*neww) == ' ')) -+#endif - { - SLsmg_Char_Type *p1; - SLsmg_Char_Type blank; -@@ -1781,7 +1877,11 @@ - q = oldd + ofs; - p = p1; - SLtt_goto_rc (row, ofs - 1); -+#ifdef UTF8 -+ SLtt_reverse_video (SLSMG_EXTRACT_COLOR (blank)); -+#else - SLtt_reverse_video (COLOR_OF(blank)); -+#endif - tt_write_string (Del_Bol_Str); - tt_write (" ", 1); - Cursor_c += 1; -@@ -1978,7 +2078,11 @@ - - if (q < qmax) - { -+#ifdef UTF8 -+ SLtt_reverse_video (SLSMG_EXTRACT_COLOR (space_char)); -+#else - SLtt_reverse_video (COLOR_OF(space_char)); -+#endif - del_eol (); - } - diff --git a/libslang-1.4.9-fsuid.patch b/libslang-1.4.9-fsuid.patch deleted file mode 100644 index 9515ceb..0000000 --- a/libslang-1.4.9-fsuid.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -ru slang-1.4.9/autoconf/configure.in slang-1.4.9-utf8/autoconf/configure.in ---- slang-1.4.9/autoconf/configure.in 2003-03-23 08:06:40.000000000 +0100 -+++ slang-1.4.9-utf8/autoconf/configure.in 2006-01-31 16:12:11.000000000 +0100 -@@ -38,8 +38,17 @@ - sys/wait.h \ - sys/utsname.h \ - sys/times.h \ -+sys/fsuid.h \ - ) - -+AC_CHECK_FUNCS(setfsuid setfsgid) -+ -+if test "${ac_cv_func_setfsuid}" != "yes" || test "${ac_cv_func_setfsgid}" != "yes"; then -+ AC_MSG_ERROR([ -+*** setfsguid and setfsgid cannot be found!!! -+ These are needed to support setuid/setgid applications ***]) -+fi -+ - AC_TYPE_MODE_T - AC_TYPE_PID_T - AC_TYPE_UID_T -diff -ru slang-1.4.9/src/slinclud.h slang-1.4.9-utf8/src/slinclud.h ---- slang-1.4.9/src/slinclud.h 2003-03-23 08:06:40.000000000 +0100 -+++ slang-1.4.9-utf8/src/slinclud.h 2006-01-31 16:13:50.000000000 +0100 -@@ -27,4 +27,8 @@ - # include - #endif - -+#ifdef HAVE_SYS_FSUID_H -+# include -+#endif -+ - #endif /* _SLANG_INCLUDE_H_ */ diff --git a/libslang-1.4.9-gcc4.patch b/libslang-1.4.9-gcc4.patch deleted file mode 100644 index 1280afb..0000000 --- a/libslang-1.4.9-gcc4.patch +++ /dev/null @@ -1,34 +0,0 @@ -Patch by Robert Scheck for slang >= 1.4.9, which -makes slang rebuildable using gcc 4. - ---- slang-1.4.9/src/sltoken.c 2003-03-23 08:06:40.000000000 +0100 -+++ slang-1.4.9/src/sltoken.c.gcc4 2005-03-14 09:01:16.000000000 +0100 -@@ -789,7 +789,7 @@ - #if _SLANG_HAS_DEBUG_CODE - tok->line_number++; - #endif -- Input_Line = LLT->read(LLT); -+ Input_Line = (LLT->read) (LLT); - if ((NULL == Input_Line) || SLang_Error) - { - Input_Line_Pointer = Input_Line = NULL; -@@ -1185,7 +1185,7 @@ - { - case '\n': - case 0: -- if (NULL == (Input_Line = LLT->read(LLT))) -+ if (NULL == (Input_Line = (LLT->read) (LLT))) - { - Input_Line_Pointer = Input_Line = NULL; - return; ---- slang-1.4.9/src/slposio.c 2003-03-23 08:06:40.000000000 +0100 -+++ slang-1.4.9/src/slposio.c.gcc4 2005-03-14 09:03:00.000000000 +0100 -@@ -166,7 +166,7 @@ - || (NULL == (b = SLmalloc (len + 1)))) - goto return_error; - -- if (-1 == f->read (f->fd, b, &len)) -+ if (-1 == (f->read) (f->fd, b, &len)) - { - _SLerrno_errno = errno; - goto return_error; diff --git a/libslang-1.4.9-suse.patch b/libslang-1.4.9-suse.patch deleted file mode 100644 index f59bdbb..0000000 --- a/libslang-1.4.9-suse.patch +++ /dev/null @@ -1,73 +0,0 @@ -diff -pur slang-1.4.9/src/sldisply.c slang-1.4.9-utf8/src/sldisply.c ---- slang-1.4.9/src/sldisply.c 2003-03-23 08:06:40.000000000 +0100 -+++ slang-1.4.9-utf8/src/sldisply.c 2006-01-31 16:03:07.000000000 +0100 -@@ -2248,6 +2248,13 @@ int SLtt_initialize (char *term) - Term_Init_Str = SLtt_tgetstr ("ti"); - Term_Reset_Str = SLtt_tgetstr ("te"); - -+# ifndef USE_TERMCAP -+ /* Use the given terminal specification of the terminfo entries -+ * even if we have almost vtxxx. -+ */ -+ Keypad_Init_Str = SLtt_tgetstr ("ks"); -+ Keypad_Reset_Str = SLtt_tgetstr ("ke"); -+# else - /* If I do this for vtxxx terminals, arrow keys start sending ESC O A, - * which I do not want. This is mainly for HP terminals. - */ -@@ -2256,6 +2263,7 @@ int SLtt_initialize (char *term) - Keypad_Init_Str = SLtt_tgetstr ("ks"); - Keypad_Reset_Str = SLtt_tgetstr ("ke"); - } -+#endif - - /* Make up for defective termcap/terminfo databases */ - if ((Vt100_Like && (term[2] != '1')) -@@ -2452,10 +2460,12 @@ int SLtt_initialize (char *term) - /* specific to vtxxx only */ - void SLtt_enable_cursor_keys (void) - { -+#if 0 - #ifdef __unix__ - if (Vt100_Like) - #endif - tt_write_string("\033=\033[?1l"); -+#endif - } - - #ifdef VMS -diff -pur slang-1.4.9/src/sltermin.c slang-1.4.9-utf8/src/sltermin.c ---- slang-1.4.9/src/sltermin.c 2003-03-23 08:06:40.000000000 +0100 -+++ slang-1.4.9-utf8/src/sltermin.c 2006-01-31 16:04:28.000000000 +0100 -@@ -105,7 +105,31 @@ static FILE *open_terminfo (char *file, - * I will also look into the use of setreuid, seteuid and setregid, setegid. - * FIXME: Priority=medium - */ -+ /* If your system lacks setfsuid/getfsuid either write -+ equivalent support or dont use slang to build setuid/setgid -+ apps like Mutt */ -+ -+ if(setfsuid(getuid())==-1) -+ { -+ perror("setfsuid"); -+ return NULL; -+ } -+ if(setfsgid(getgid())==-1) -+ { -+ perror("setfsgid"); -+ return NULL; -+ } - fp = fopen (file, "rb"); -+ if(setfsuid(geteuid())==-1) -+ { -+ perror("setfsuid"); -+ return NULL; -+ } -+ if(setfsgid(getegid())==-1) -+ { -+ perror("setfsgid"); -+ return NULL; -+ } - if (fp == NULL) return NULL; - - if ((12 == fread ((char *) buf, 1, 12, fp) && (MAGIC == make_integer (buf)))) diff --git a/libslang-1.4.9-utf8-acs.patch b/libslang-1.4.9-utf8-acs.patch deleted file mode 100644 index dc8a851..0000000 --- a/libslang-1.4.9-utf8-acs.patch +++ /dev/null @@ -1,417 +0,0 @@ ---- slang-1.4.5/src/slang.h.acs 2002-07-09 00:03:57.000000000 -0400 -+++ slang-1.4.5/src/slang.h 2002-07-09 00:11:06.000000000 -0400 -@@ -1255,6 +1255,8 @@ - - #ifdef UTF8 - typedef int SLsmg_Char_Type; -+extern SLtt_Char_Type SLcurses_Acs_Map [128]; -+#define acs_map SLcurses_Acs_Map - #define SLSMG_EXTRACT_CHAR(x) ((x) & 0xFFFFFF) - #define SLSMG_EXTRACT_COLOR(x) (((x)>>24)&0xFF) - #define SLSMG_BUILD_CHAR(ch,color) (((SLsmg_Char_Type)(wchar_t)(ch))|((color)<<24)) -@@ -1396,7 +1398,11 @@ - extern void SLsmg_set_screen_start (int *, int *); - extern void SLsmg_draw_hline (unsigned int); - extern void SLsmg_draw_vline (int); -+#ifdef UTF8 -+extern void SLsmg_draw_object (int, int, SLsmg_Char_Type); -+#else - extern void SLsmg_draw_object (int, int, unsigned char); -+#endif - extern void SLsmg_draw_box (int, int, unsigned int, unsigned int); - extern int SLsmg_get_column(void); - extern int SLsmg_get_row(void); -@@ -1408,6 +1414,9 @@ - extern int SLsmg_Display_Eight_Bit; - extern int SLsmg_Tab_Width; - -+extern int SLsmg_Is_Unicode; -+extern int SLsmg_Setlocale; -+ - #define SLSMG_NEWLINE_IGNORED 0 /* default */ - #define SLSMG_NEWLINE_MOVES 1 /* moves to next line, column 0 */ - #define SLSMG_NEWLINE_SCROLLS 2 /* moves but scrolls at bottom of screen */ -@@ -1465,31 +1474,79 @@ - # define SLSMG_BOARD_CHAR '#' - # define SLSMG_BLOCK_CHAR '#' - # else --# define SLSMG_HLINE_CHAR 'q' --# define SLSMG_VLINE_CHAR 'x' --# define SLSMG_ULCORN_CHAR 'l' --# define SLSMG_URCORN_CHAR 'k' --# define SLSMG_LLCORN_CHAR 'm' --# define SLSMG_LRCORN_CHAR 'j' --# define SLSMG_CKBRD_CHAR 'a' --# define SLSMG_RTEE_CHAR 'u' --# define SLSMG_LTEE_CHAR 't' --# define SLSMG_UTEE_CHAR 'w' --# define SLSMG_DTEE_CHAR 'v' --# define SLSMG_PLUS_CHAR 'n' --# define SLSMG_DIAMOND_CHAR '`' --# define SLSMG_DEGREE_CHAR 'f' --# define SLSMG_PLMINUS_CHAR 'g' --# define SLSMG_BULLET_CHAR '~' --# define SLSMG_LARROW_CHAR ',' --# define SLSMG_RARROW_CHAR '+' --# define SLSMG_DARROW_CHAR '.' --# define SLSMG_UARROW_CHAR '-' --# define SLSMG_BOARD_CHAR 'h' --# define SLSMG_BLOCK_CHAR '0' -+# define SLSMG_HLINE_CHAR (acs_map['q']) -+# define SLSMG_VLINE_CHAR (acs_map['x']) -+# define SLSMG_ULCORN_CHAR (acs_map['l']) -+# define SLSMG_URCORN_CHAR (acs_map['k']) -+# define SLSMG_LLCORN_CHAR (acs_map['m']) -+# define SLSMG_LRCORN_CHAR (acs_map['j']) -+# define SLSMG_CKBRD_CHAR (acs_map['a']) -+# define SLSMG_RTEE_CHAR (acs_map['u']) -+# define SLSMG_LTEE_CHAR (acs_map['t']) -+# define SLSMG_UTEE_CHAR (acs_map['v']) -+# define SLSMG_DTEE_CHAR (acs_map['w']) -+# define SLSMG_PLUS_CHAR (acs_map['n']) -+# define SLSMG_DIAMOND_CHAR (acs_map['`']) -+# define SLSMG_DEGREE_CHAR (acs_map['f']) -+# define SLSMG_PLMINUS_CHAR (acs_map['g']) -+# define SLSMG_BULLET_CHAR (acs_map['~']) -+# define SLSMG_LARROW_CHAR (acs_map[',']) -+# define SLSMG_RARROW_CHAR (acs_map['+']) -+# define SLSMG_DARROW_CHAR (acs_map['.']) -+# define SLSMG_UARROW_CHAR (acs_map['-']) -+# define SLSMG_BOARD_CHAR (acs_map['h']) -+# define SLSMG_BLOCK_CHAR (acs_map['0']) -+# -+# define SLSMG_HLINE_CHAR_TERM 'q' -+# define SLSMG_VLINE_CHAR_TERM 'x' -+# define SLSMG_ULCORN_CHAR_TERM 'l' -+# define SLSMG_URCORN_CHAR_TERM 'k' -+# define SLSMG_LLCORN_CHAR_TERM 'm' -+# define SLSMG_LRCORN_CHAR_TERM 'j' -+# define SLSMG_CKBRD_CHAR_TERM 'a' -+# define SLSMG_RTEE_CHAR_TERM 'u' -+# define SLSMG_LTEE_CHAR_TERM 't' -+# define SLSMG_UTEE_CHAR_TERM 'v' -+# define SLSMG_DTEE_CHAR_TERM 'w' -+# define SLSMG_PLUS_CHAR_TERM 'n' -+# define SLSMG_DIAMOND_CHAR_TERM '`' -+# define SLSMG_DEGREE_CHAR_TERM 'f' -+# define SLSMG_PLMINUS_CHAR_TERM 'g' -+# define SLSMG_BULLET_CHAR_TERM '~' -+# define SLSMG_LARROW_CHAR_TERM ',' -+# define SLSMG_RARROW_CHAR_TERM '+' -+# define SLSMG_DARROW_CHAR_TERM '.' -+# define SLSMG_UARROW_CHAR_TERM '-' -+# define SLSMG_BOARD_CHAR_TERM 'h' -+# define SLSMG_BLOCK_CHAR_TERM '0' - # endif /* AMIGA */ - #endif /* IBMPC_SYSTEM */ - -+#ifdef UTF8 -+# define SLSMG_HLINE_CHAR_UNICODE 0x2500 -+# define SLSMG_VLINE_CHAR_UNICODE 0x2502 -+# define SLSMG_ULCORN_CHAR_UNICODE 0x250c -+# define SLSMG_URCORN_CHAR_UNICODE 0x2510 -+# define SLSMG_LLCORN_CHAR_UNICODE 0x2514 -+# define SLSMG_LRCORN_CHAR_UNICODE 0x2518 -+# define SLSMG_RTEE_CHAR_UNICODE 0x2524 -+# define SLSMG_LTEE_CHAR_UNICODE 0x251c -+# define SLSMG_UTEE_CHAR_UNICODE 0x2534 -+# define SLSMG_DTEE_CHAR_UNICODE 0x252c -+# define SLSMG_PLUS_CHAR_UNICODE 0x253c -+# define SLSMG_CKBRD_CHAR_UNICODE 0x2592 -+# define SLSMG_DIAMOND_CHAR_UNICODE 0x25c6 -+# define SLSMG_DEGREE_CHAR_UNICODE 0x00b0 -+# define SLSMG_PLMINUS_CHAR_UNICODE 0x00b1 -+# define SLSMG_BULLET_CHAR_UNICODE 0x00b7 -+# define SLSMG_LARROW_CHAR_UNICODE 0x2190 -+# define SLSMG_RARROW_CHAR_UNICODE 0x2192 -+# define SLSMG_DARROW_CHAR_UNICODE 0x2193 -+# define SLSMG_UARROW_CHAR_UNICODE 0x2191 -+# define SLSMG_BOARD_CHAR_UNICODE 0x2592 -+# define SLSMG_BLOCK_CHAR_UNICODE 0x25ae -+#endif -+ - #ifndef IBMPC_SYSTEM - # define SLSMG_COLOR_BLACK 0x000000 - # define SLSMG_COLOR_RED 0x000001 ---- slang-1.4.5/src/slcurses.c.acs 2002-07-09 00:03:57.000000000 -0400 -+++ slang-1.4.5/src/slcurses.c 2002-07-09 00:09:03.000000000 -0400 -@@ -331,40 +331,63 @@ - /* SLtt_set_mono (A_BLINK >> 8, NULL, SLTT_BLINK_MASK); */ - SLtt_set_mono ((A_BOLD|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_BOLD_MASK); - SLtt_set_mono ((A_REVERSE|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_REV_MASK); -+ -+ SLcurses_init_acs_map(); -+ -+ return SLcurses_Stdscr; -+} - -+void SLcurses_init_acs_map() -+{ - if (SLtt_Has_Alt_Charset) - { -- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = SLSMG_ULCORN_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = SLSMG_URCORN_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = SLSMG_LLCORN_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = SLSMG_LRCORN_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = SLSMG_UTEE_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = SLSMG_DTEE_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = SLSMG_LTEE_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = SLSMG_RTEE_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = SLSMG_VLINE_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = SLSMG_HLINE_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = SLSMG_PLUS_CHAR | A_ALTCHARSET; -- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = SLSMG_CKBRD_CHAR | A_ALTCHARSET; -+ if (SLsmg_Is_Unicode) -+ { -+ SLcurses_Acs_Map['l'] = SLSMG_ULCORN_CHAR_UNICODE; -+ SLcurses_Acs_Map['k'] = SLSMG_URCORN_CHAR_UNICODE; -+ SLcurses_Acs_Map['m'] = SLSMG_LLCORN_CHAR_UNICODE; -+ SLcurses_Acs_Map['j'] = SLSMG_LRCORN_CHAR_UNICODE; -+ SLcurses_Acs_Map['v'] = SLSMG_UTEE_CHAR_UNICODE; -+ SLcurses_Acs_Map['w'] = SLSMG_DTEE_CHAR_UNICODE; -+ SLcurses_Acs_Map['t'] = SLSMG_LTEE_CHAR_UNICODE; -+ SLcurses_Acs_Map['u'] = SLSMG_RTEE_CHAR_UNICODE; -+ SLcurses_Acs_Map['x'] = SLSMG_VLINE_CHAR_UNICODE; -+ SLcurses_Acs_Map['q'] = SLSMG_HLINE_CHAR_UNICODE; -+ SLcurses_Acs_Map['n'] = SLSMG_PLUS_CHAR_UNICODE; -+ SLcurses_Acs_Map['a'] = SLSMG_CKBRD_CHAR_UNICODE; -+ } -+ else -+ { -+ SLcurses_Acs_Map['l'] = SLSMG_ULCORN_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['k'] = SLSMG_URCORN_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['m'] = SLSMG_LLCORN_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['j'] = SLSMG_LRCORN_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['v'] = SLSMG_UTEE_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['w'] = SLSMG_DTEE_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['t'] = SLSMG_LTEE_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['u'] = SLSMG_RTEE_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['x'] = SLSMG_VLINE_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['q'] = SLSMG_HLINE_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['n'] = SLSMG_PLUS_CHAR_TERM | A_ALTCHARSET; -+ SLcurses_Acs_Map['a'] = SLSMG_CKBRD_CHAR_TERM | A_ALTCHARSET; -+ } - } - else - { - /* ugly defaults to use on terminals which don't support graphics */ -- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = '|'; -- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = '-'; -- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = '+'; -- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = '#'; -+ SLcurses_Acs_Map['l'] = '+'; -+ SLcurses_Acs_Map['k'] = '+'; -+ SLcurses_Acs_Map['m'] = '+'; -+ SLcurses_Acs_Map['j'] = '+'; -+ SLcurses_Acs_Map['v'] = '+'; -+ SLcurses_Acs_Map['w'] = '+'; -+ SLcurses_Acs_Map['t'] = '+'; -+ SLcurses_Acs_Map['u'] = '+'; -+ SLcurses_Acs_Map['x'] = '|'; -+ SLcurses_Acs_Map['q'] = '-'; -+ SLcurses_Acs_Map['n'] = '+'; -+ SLcurses_Acs_Map['a'] = '#'; - } -- -- return SLcurses_Stdscr; - } - - int SLcurses_wattrset (SLcurses_Window_Type *w, SLtt_Char_Type ch) ---- slang-1.4.5/src/slcurses.h.acs 2002-02-10 02:39:19.000000000 -0500 -+++ slang-1.4.5/src/slcurses.h 2002-07-09 00:03:57.000000000 -0400 -@@ -141,6 +141,7 @@ - - extern int SLcurses_nodelay (SLcurses_Window_Type *, int); - extern SLcurses_Window_Type *SLcurses_initscr (void); -+extern void SLcurses_init_acs_map (void); - #define initscr SLcurses_initscr - - extern int SLcurses_cbreak (void); -@@ -222,21 +222,21 @@ - extern SLtt_Char_Type SLcurses_Acs_Map [128]; - #define acs_map SLcurses_Acs_Map - --#define ACS_ULCORNER (acs_map[SLSMG_ULCORN_CHAR]) --#define ACS_URCORNER (acs_map[SLSMG_URCORN_CHAR]) --#define ACS_LRCORNER (acs_map[SLSMG_LRCORN_CHAR]) --#define ACS_LLCORNER (acs_map[SLSMG_LLCORN_CHAR]) --#define ACS_TTEE (acs_map[SLSMG_UTEE_CHAR]) --#define ACS_LTEE (acs_map[SLSMG_LTEE_CHAR]) --#define ACS_RTEE (acs_map[SLSMG_RTEE_CHAR]) --#define ACS_BTEE (acs_map[SLSMG_DTEE_CHAR]) --#define ACS_PLUS (acs_map[SLSMG_PLUS_CHAR]) --#define ACS_VLINE (acs_map[SLSMG_VLINE_CHAR]) --#define ACS_HLINE (acs_map[SLSMG_HLINE_CHAR]) -+#define ACS_ULCORNER SLSMG_ULCORN_CHAR -+#define ACS_URCORNER SLSMG_URCORN_CHAR -+#define ACS_LRCORNER SLSMG_LRCORN_CHAR -+#define ACS_LLCORNER SLSMG_LLCORN_CHAR -+#define ACS_TTEE SLSMG_UTEE_CHAR -+#define ACS_LTEE SLSMG_LTEE_CHAR -+#define ACS_RTEE SLSMG_RTEE_CHAR -+#define ACS_BTEE SLSMG_DTEE_CHAR -+#define ACS_PLUS SLSMG_PLUS_CHAR -+#define ACS_VLINE SLSMG_VLINE_CHAR -+#define ACS_HLINE SLSMG_HLINE_CHAR - #define ACS_S1 '-' - #define ACS_S9 '-' - #define ACS_DIAMOND '&' --#define ACS_CKBOARD (acs_map[SLSMG_CKBRD_CHAR]) -+#define ACS_CKBOARD SLSMG_CKBRD_CHAR - #define ACS_DEGREE 'o' - #define ACS_PLMINUS '+' - #define ACS_BULLET '*' ---- slang-1.4.5/src/slsmg.c.acs 2002-07-09 00:03:57.000000000 -0400 -+++ slang-1.4.5/src/slsmg.c 2002-07-09 00:03:57.000000000 -0400 -@@ -10,6 +10,9 @@ - - #include "slang.h" - #include "_slang.h" -+#include "slcurses.h" -+ -+#include - - typedef struct Screen_Type - { -@@ -44,9 +47,9 @@ - */ - - #ifndef IBMPC_SYSTEM --#define ALT_CHAR_FLAG 0x80 -+static int ALT_CHAR_FLAG=0x80; - #else --#define ALT_CHAR_FLAG 0x00 -+static int ALT_CHAR_FLAG=0x00; - #endif - - #if SLTT_HAS_NON_BCE_SUPPORT && !defined(IBMPC_SYSTEM) -@@ -54,6 +57,8 @@ - static int Bce_Color_Offset; - #endif - -+int SLsmg_Is_Unicode = 0; -+int SLsmg_Setlocale = 1; - int SLsmg_Newline_Behavior = 0; - int SLsmg_Backspace_Moves = 0; - /* Backward compatibility. Not used. */ -@@ -184,6 +189,8 @@ - return;/* alt chars not used and the alt bit - * is used to indicate a blink. - */ -+ if (SLsmg_Is_Unicode) -+ ALT_CHAR_FLAG=0x00; - - if (i) This_Alt_Char = ALT_CHAR_FLAG; - else This_Alt_Char = 0; -@@ -348,6 +355,8 @@ - #ifndef IBMPC_SYSTEM - int alt_char_set_flag; - -+ if (SLsmg_Is_Unicode) -+ ALT_CHAR_FLAG = 0x00; - alt_char_set_flag = ((This_Color & ALT_CHAR_FLAG) - && ((tt_Use_Blink_For_ACS == NULL) - || (*tt_Use_Blink_For_ACS == 0))); -@@ -1221,6 +1230,20 @@ - Smg_Inited = 0; - } - -+static void SLsmg_check_unicode(void) -+{ -+ char *s,*t; -+ -+ if (SLsmg_Setlocale) -+ s = setlocale(LC_ALL, ""); -+ else -+ s = setlocale(LC_ALL, NULL); -+ if (s && (strstr(s,"UTF-8") || strstr(s,"utf8"))) { -+ SLsmg_Is_Unicode = 1; -+ return; -+ } -+ SLsmg_Is_Unicode = 0; -+} - - static int init_smg (void) - { -@@ -1242,6 +1265,8 @@ - This_Col = This_Row = Start_Col = Start_Row = 0; - - This_Alt_Char = 0; -+ SLsmg_check_unicode (); -+ SLcurses_init_acs_map (); - SLsmg_set_color (0); - Cls_Flag = 1; - #ifndef IBMPC_SYSTEM -@@ -1386,7 +1411,11 @@ - } - } - -+#ifdef UTF8 -+void SLsmg_draw_object (int r, int c, SLsmg_Char_Type object) -+#else - void SLsmg_draw_object (int r, int c, unsigned char object) -+#endif - { - This_Row = r; This_Col = c; - -@@ -1405,7 +1434,7 @@ - - void SLsmg_draw_hline (unsigned int n) - { -- static unsigned char hbuf[16]; -+ SLsmg_Char_Type ch = SLSMG_HLINE_CHAR; - int count; - int cmin, cmax; - int final_col = This_Col + (int) n; -@@ -1421,11 +1450,6 @@ - return; - } - -- if (hbuf[0] == 0) -- { -- SLMEMSET ((char *) hbuf, SLSMG_HLINE_CHAR, 16); -- } -- - n = (unsigned int)(cmax - cmin); - count = n / 16; - -@@ -1433,10 +1457,10 @@ - This_Color |= ALT_CHAR_FLAG; - This_Col = cmin; - -- SLsmg_write_nchars ((char *) hbuf, n % 16); -- while (count-- > 0) -+ SLsmg_draw_object(This_Row, This_Col, ch); -+ while (n-- > 0) - { -- SLsmg_write_nchars ((char *) hbuf, 16); -+ SLsmg_draw_object(This_Row, This_Col, ch); - } - - This_Color = save_color; -@@ -1445,7 +1469,7 @@ - - void SLsmg_draw_vline (int n) - { -- unsigned char ch = SLSMG_VLINE_CHAR; -+ SLsmg_Char_Type ch = SLSMG_VLINE_CHAR; - int c = This_Col, rmin, rmax; - int final_row = This_Row + n; - int save_color; -@@ -1466,7 +1490,7 @@ - for (This_Row = rmin; This_Row < rmax; This_Row++) - { - This_Col = c; -- SLsmg_write_nchars ((char *) &ch, 1); -+ SLsmg_draw_object (This_Row, This_Col, ch); - } - - This_Col = c; This_Row = final_row; diff --git a/libslang-1.4.9-utf8-fix.patch b/libslang-1.4.9-utf8-fix.patch deleted file mode 100644 index 6c0a80f..0000000 --- a/libslang-1.4.9-utf8-fix.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- slang-1.4.5/src/slsmg.c.jj 2003-02-21 12:11:37.000000000 -0500 -+++ slang-1.4.5/src/slsmg.c 2003-02-21 14:09:28.000000000 -0500 -@@ -378,8 +378,10 @@ void SLsmg_write_nwchars (wchar_t *str, - for (i = 0; i < n; i++, str) { - ch = *str++; - #ifndef IBMPC_SYSTEM -- if (alt_char_set_flag) -+ if (alt_char_set_flag) { - ch = Alt_Char_Set[ch & 0x7F]; -+ w = 1; -+ } else - #endif - w = wcwidth(ch); - ---- slang-1.4.5/src/sldisply.c.jj 2003-02-21 12:11:37.000000000 -0500 -+++ slang-1.4.5/src/sldisply.c 2003-02-21 15:51:43.000000000 -0500 -@@ -1498,6 +1498,17 @@ static void write_wstring_with_care (SLs - } - } - -+ if (Current_Fgbg & SLTT_ALTC_MASK) -+ { -+ char c; -+ while (len--) -+ { -+ c = *str++; -+ tt_write(&c, 1); -+ } -+ return; -+ } -+ - memset (&mbstate, 0, sizeof (mbstate)); - while (len--) - { diff --git a/libslang.spec b/libslang.spec index 0f7e3d1..094c20c 100644 --- a/libslang.spec +++ b/libslang.spec @@ -1,26 +1,15 @@ -%define build_compat_lib 0 - %define majversion %(echo %version | cut -d. -f 1-2) - Name: libslang -Version: 2.2.4 -Release: 2mamba +Version: 2.3.0 +Release: 1mamba Summary: The shared library for the S-Lang extension language Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://www.s-lang.org -Source0: ftp://ftp.fu-berlin.de/pub/unix/misc/slang/v%{majversion}/slang-%{version}.tar.bz2 -Source1: ftp://ftp.fu-berlin.de/pub/unix/misc/slang/v1.4/slang-1.4.9.tar.gz +Source0: http://www.jedsoft.org/releases/slang/slang-%{version}.tar.bz2 Source2: %{name}-README.UTF-8 -Patch0: %{name}-1.4.9-gcc4.patch -Patch1: %{name}-1.4.9-suse.patch -Patch2: %{name}-1.4.9-autoconf.patch -Patch3: %{name}-1.4.9-fsuid.patch -Patch4: %{name}-1.4.9-debian-utf8.patch -Patch5: %{name}-1.4.9-utf8-acs.patch -Patch6: %{name}-1.4.9-utf8-fix.patch Patch10: %{name}-2.0.5-makefile.patch Patch11: %{name}-2.0.5-SLutf8_enable.patch Patch12: %{name}-2.0.5-nointerlibc2.patch @@ -40,7 +29,6 @@ The S-Lang language was designed so that it can be easily embedded into a progra The S-Lang library, provided in this package, provides the S-Lang extension language. S-Lang's syntax resembles C, which makes it easy to recode S-Lang procedures in C if you need to. - %package -n slang Summary: S-Lang is an interpreted language and a programming library. Group: Applications/Development @@ -52,19 +40,6 @@ The S-Lang language was designed so that it can be easily embedded into a progra The S-Lang library, provided in this package, provides the S-Lang extension language. S-Lang's syntax resembles C, which makes it easy to recode S-Lang procedures in C if you need to. -%if %{build_compat_lib} -%package -n %{name}1 -Summary: The shared library for the S-Lang extension language -Group: System/Libraries - -%description -n %{name}1 -S-Lang is an interpreted language and a programming library. -The S-Lang language was designed so that it can be easily embedded into a program to provide the program with a powerful extension language. -The S-Lang library, provided in this package, provides the S-Lang extension language. - -This package contains the the shared libraries libslang, version 1.4.9. -%endif - %package devel Summary: The static library and header files for development using S-Lang Group: Development/Libraries @@ -78,32 +53,7 @@ Documentation which may help you write S-Lang based applications is also include Install the slang-devel package if you want to develop applications based on the S-Lang extension language. %prep -%setup -q -n slang-%{version} -a1 - -#%patch10 -p1 -b .makefile -#%patch11 -p1 -b .SLutf8_enable -#%patch12 -p1 -b .nointerlibc2 - -%if %{build_compat_lib} -cd slang-1.4.9 -%patch0 -p1 -b .gcc4 -#%patch1 -p1 -b .suse -#%patch2 -p1 -b .autoconf -#%patch3 -p1 -b .fsuid -#%patch4 -p1 -b .debian-utf8 -#%patch5 -p1 -b .utf8-acs -#%patch6 -p1 -b .utf8-fix -# -#cp -a %{S:2} ./README.UTF-8 -# -#mv autoconf/configure.in . -#mv autoconf/aclocal.m4 autoconf/acinclude.m4 -# -#autoheader -I autoconf -#aclocal -I autoconf --output=autoconf/aclocal.m4 -#autoconf -I autoconf -cd .. -%endif +%setup -q -n slang-%{version} %build perl -p -i -e \ @@ -115,15 +65,6 @@ configure %make all -%if %{build_compat_lib} -cd slang-1.4.9 -./configure --prefix=%{_prefix} --libdir=%{_libdir} - --enable-wide-chars -%make -j1 -%make -j1 elf -cd .. -%endif - %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" @@ -133,16 +74,6 @@ install -d %{buildroot}%{_includedir}/slang install_lib_dir=%{_libdir} \ install_include_dir=%{_includedir}/slang -#ln -sf libslang.so.%{version} %{buildroot}%{_libdir}/libslang.so.2 -#ln -sf libslang.so.%{version} %{buildroot}%{_libdir}/libslang-utf8.so -#ln -sf libslang.a %{buildroot}%{_libdir}/libslang-utf8.a - -%if %{build_compat_lib} -cp slang-1.4.9/src/elfobjs/libslang.so.1.4.9 \ - %{buildroot}%{_libdir}/libslang.so.1.4.9 -ln -sf /libslang.so.1.4.9 %{buildroot}%{_libdir}//libslang.so.1 -%endif - chmod 755 %{buildroot}%{_libdir}/*.so.* %clean @@ -151,11 +82,6 @@ chmod 755 %{buildroot}%{_libdir}/*.so.* %post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%if %{build_compat_lib} -%post -n %{name}1 -p /sbin/ldconfig -%postun -n %{name}1 -p /sbin/ldconfig -%endif - %files -n slang %defattr(-,root,root) %config %{_sysconfdir}/slsh.rc @@ -165,31 +91,27 @@ chmod 755 %{buildroot}%{_libdir}/*.so.* %files %defattr(-,root,root) -%{_libdir}/*.so.* +%{_libdir}/libslang.so.* %{_libdir}/slang/v2/modules/*-module.so -%if %{build_compat_lib} -%exclude %{_libdir}/libslang.so.1 -%exclude %{_libdir}/libslang.so.1.4.9 -%endif %doc COPYING -%if %{build_compat_lib} -%files -n %{name}1 -%defattr(-,root,root) -%{_libdir}/libslang.so.1 -%{_libdir}/libslang.so.1.4.9 -%endif - %files devel %defattr(-,root,root) %{_includedir}/slang/*.h -%{_libdir}/*.so +%{_libdir}/libslang.so +%dir %{_docdir}/slang +%dir %{_docdir}/slang/v2 %{_datadir}/doc/slang/v2/* +%dir %{_docdir}/slsh +%dir %{_docdir}/slsh/html %{_docdir}/slsh/html/slshfun*.html %{_libdir}/pkgconfig/slang.pc %doc doc README %changelog +* Mon Mar 16 2015 Silvan Calarco 2.3.0-1mamba +- update to 2.3.0 + * Thu Jul 26 2012 Silvan Calarco 2.2.4-2mamba - rebuilt with --enable-wide-chars - build with libonig