commit babc3d838e1549d50307a5ec213b8fc525d04f35 Author: zyppe <210hcl@gmail.com> Date: Thu Feb 29 15:43:59 2024 +0800 Initialize for slang diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8eacb4c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +slang-2.3.1a.tar.bz2 diff --git a/.slang.metadata b/.slang.metadata new file mode 100644 index 0000000..97434fc --- /dev/null +++ b/.slang.metadata @@ -0,0 +1 @@ +addb4b312b7e5c7ed899972ea780929ae2e6e00724c55e06b32b19d3bb92462d slang-2.3.1a.tar.bz2 diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..c407c35 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,3 @@ +libslang2 + obsoletes "slang- < " + provides "slang- = " diff --git a/git-6dd5ade9a97b52ace4ac033779a6d3c1c51db4d1.patch b/git-6dd5ade9a97b52ace4ac033779a6d3c1c51db4d1.patch new file mode 100644 index 0000000..f605148 --- /dev/null +++ b/git-6dd5ade9a97b52ace4ac033779a6d3c1c51db4d1.patch @@ -0,0 +1,200 @@ +From 6dd5ade9a97b52ace4ac033779a6d3c1c51db4d1 Mon Sep 17 00:00:00 2001 +From: "John E. Davis" +Date: Tue, 30 Jan 2018 04:04:17 -0500 +Subject: [PATCH] pre2.3.2-19: Added support for the new ncurses 32-bit + terminfo database entries. + +--- + src/sltermin.c | 76 +++++++++++++++++++++++++++++++++++++++++++-------------- + src/untic.c | 5 ++- + 2 files changed, 61 insertions(+), 20 deletions(-) + +--- src/sltermin.c ++++ src/sltermin.c 2018-02-09 08:45:27.600773794 +0000 +@@ -36,6 +36,11 @@ USA. + * term(4) man page on an SGI. + */ + ++/* The ncurses terminfo binary files come in two flavors: A legacy ++ * format that uses 16 bit integers in the number-section, and a new ++ * 32 bit format (nurses 6, from 2018). ++ */ ++ + /* Short integers are stored in two 8-bit bytes. The first byte contains + * the least significant 8 bits of the value, and the second byte contains + * the most significant 8 bits. (Thus, the value represented is +@@ -46,7 +51,7 @@ USA. + * source and also is to be considered missing. + */ + +-static int make_integer (unsigned char *buf) ++static int make_integer16 (unsigned char *buf) + { + register int lo, hi; + lo = (int) *buf++; hi = (int) *buf; +@@ -58,6 +63,20 @@ static int make_integer (unsigned char * + return lo + 256 * hi; + } + ++static int make_integer32 (unsigned char *buf) ++{ ++ unsigned int u; ++ int i; ++ ++ u = (unsigned int)buf[0]; ++ u |= ((unsigned int)buf[1])<<8; ++ u |= ((unsigned int)buf[2])<<16; ++ u |= ((unsigned int)buf[3])<<24; ++ ++ i = (int)u; ++ return i; ++} ++ + /* + * The compiled file is created from the source file descriptions of the + * terminals (see the -I option of infocmp) by using the terminfo compiler, +@@ -67,14 +86,15 @@ static int make_integer (unsigned char * + * + * The header section begins the file. This section contains six short + * integers in the format described below. These integers are (1) the magic +- * number (octal 0432); (2) the size, in bytes, of the names section; (3) +- * the number of bytes in the boolean section; (4) the number of short +- * integers in the numbers section; (5) the number of offsets (short ++ * number (legacy:0432, 01036:32 but); (2) the size, in bytes, of the names section; (3) ++ * the number of bytes in the boolean section; (4) the number of integers ++ * in the numbers section; (5) the number of offsets (short + * integers) in the strings section; (6) the size, in bytes, of the string + * table. + */ + +-#define MAGIC 0432 ++#define MAGIC_LEGACY 0432 ++#define MAGIC_32BIT 01036 + + /* In this structure, all char * fields are malloced EXCEPT if the + * structure is SLTERMCAP. In that case, only terminal_names is malloced +@@ -94,6 +114,8 @@ struct _pSLterminfo_Type + + unsigned int num_numbers; + unsigned char *numbers; ++ unsigned int sizeof_number; ++ int (*make_integer)(unsigned char *); + + unsigned int num_string_offsets; + unsigned char *string_offsets; +@@ -112,6 +134,7 @@ static FILE *open_terminfo (char *file, + { + FILE *fp; + unsigned char buf[12]; ++ int magic; + + /* Alan Cox reported a security problem here if the application using the + * library is setuid. So, I need to make sure open the file as a normal +@@ -150,19 +173,34 @@ static FILE *open_terminfo (char *file, + + if (fp == NULL) return NULL; + +- if ((12 == fread ((char *) buf, 1, 12, fp) && (MAGIC == make_integer (buf)))) ++ if (12 != fread ((char *)buf, 1, 12, fp)) ++ { ++ (void) fclose(fp); ++ return NULL; ++ } ++ magic = make_integer16(buf); ++ if (magic == MAGIC_LEGACY) ++ { ++ h->make_integer = make_integer16; ++ h->sizeof_number = 2; ++ } ++ else if (magic == MAGIC_32BIT) + { +- h->name_section_size = make_integer (buf + 2); +- h->boolean_section_size = make_integer (buf + 4); +- h->num_numbers = make_integer (buf + 6); +- h->num_string_offsets = make_integer (buf + 8); +- h->string_table_size = make_integer (buf + 10); ++ h->make_integer = make_integer32; ++ h->sizeof_number = 4; + } + else + { +- fclose (fp); +- fp = NULL; ++ (void) fclose (fp); ++ return NULL; + } ++ ++ h->name_section_size = make_integer16 (buf + 2); ++ h->boolean_section_size = make_integer16 (buf + 4); ++ h->num_numbers = make_integer16 (buf + 6); ++ h->num_string_offsets = make_integer16 (buf + 8); ++ h->string_table_size = make_integer16 (buf + 10); ++ + return fp; + } + +@@ -215,13 +253,14 @@ static unsigned char *read_boolean_flags + + /* + * The numbers section is similar to the boolean flags section. Each +- * capability takes up two bytes, and is stored as a short integer. If the +- * value represented is -1 or -2, the capability is taken to be missing. ++ * capability takes up 2(4) bytes for the legacy(32 bit) format and ++ * is stored as a integer. If the value represented is -1 or -2, the ++ * capability is taken to be missing. + */ + + static unsigned char *read_numbers (FILE *fp, SLterminfo_Type *t) + { +- return t->numbers = read_terminfo_section (fp, 2 * t->num_numbers); ++ return t->numbers = read_terminfo_section (fp, t->sizeof_number * t->num_numbers); + } + + /* The strings section is also similar. Each capability is stored as a +@@ -430,7 +469,7 @@ char *_pSLtt_tigetstr (SLterminfo_Type * + + offset = compute_cap_offset (cap, t, Tgetstr_Map, t->num_string_offsets); + if (offset < 0) return NULL; +- offset = make_integer (t->string_offsets + 2 * offset); ++ offset = make_integer16 (t->string_offsets + 2 * offset); + if (offset < 0) return NULL; + return t->string_table + offset; + } +@@ -446,7 +485,8 @@ int _pSLtt_tigetnum (SLterminfo_Type *t, + + offset = compute_cap_offset (cap, t, Tgetnum_Map, t->num_numbers); + if (offset < 0) return -1; +- return make_integer (t->numbers + 2 * offset); ++ ++ return (*t->make_integer)(t->numbers + t->sizeof_number * offset); + } + + int _pSLtt_tigetflag (SLterminfo_Type *t, SLCONST char *cap) +--- src/untic.c ++++ src/untic.c 2018-02-09 08:45:27.656772726 +0000 +@@ -36,7 +36,7 @@ int main (int argc, char **argv) + puts (t->terminal_names); + while (*map->name != 0) + { +- str = (unsigned char *) SLtt_tigetstr (map->name, (char **) &t); ++ str = (unsigned char *) SLtt_tigetstr ((SLFUTURE_CONST char *)map->name, (char **) &t); + if (str == NULL) + { + map++; +@@ -76,7 +76,7 @@ int main (int argc, char **argv) + while (*map->name != 0) + { + int val; +- if ((val = SLtt_tigetnum (map->name, (char **) &t)) >= 0) ++ if ((val = SLtt_tigetnum ((SLFUTURE_CONST char *)map->name, (char **) &t)) >= 0) + { + fprintf (stdout, "\t%s#%d\t\t%s\n", + map->name, val, +@@ -85,6 +85,7 @@ int main (int argc, char **argv) + map++; + } + ++ _pSLtt_tifreeent (t); + return 0; + } + diff --git a/slang-2.3.1a.tar.bz2.asc b/slang-2.3.1a.tar.bz2.asc new file mode 100644 index 0000000..413c20a --- /dev/null +++ b/slang-2.3.1a.tar.bz2.asc @@ -0,0 +1,8 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 +Comment: See http://www.jedsoft.org/signature.html for more information + +iD8DBQBYN6P93kAeDVhzAAoRAsa+AJ99ybO24onAkw2q11206r89aqUy3QCgjuEs +hblgfIdoROu6MVirAULpBMU= +=BGKY +-----END PGP SIGNATURE----- diff --git a/slang-autoconf.patch b/slang-autoconf.patch new file mode 100644 index 0000000..eb5172f --- /dev/null +++ b/slang-autoconf.patch @@ -0,0 +1,112 @@ +Index: slang-2.3.0/autoconf/aclocal.m4 +=================================================================== +--- slang-2.3.0.orig/autoconf/aclocal.m4 ++++ slang-2.3.0/autoconf/aclocal.m4 +@@ -358,8 +358,11 @@ then + if test -n "$gcc_warnings" + then + CFLAGS="$CFLAGS -Wall -W -pedantic -Winline -Wmissing-prototypes \ +- -Wnested-externs -Wpointer-arith -Wcast-align -Wshadow -Wstrict-prototypes \ +- -Wformat=2" ++ -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 +@@ -572,7 +575,7 @@ dnl # Check for dynamic linker + dnl #------------------------------------------------------------------------- + DYNAMIC_LINK_LIB="" + +-dnl# AH_TEMPLATE([HAVE_DLOPEN],1,[Define if you have dlopen]) ++AH_TEMPLATE([HAVE_DLOPEN],1,[Define if you have dlopen]) + + AC_CHECK_HEADER(dlfcn.h,[ + AC_DEFINE(HAVE_DLFCN_H,1,[Define if you have the dlfcn.h header]) +@@ -613,7 +616,7 @@ case "$host_os" in + *linux*|*gnu*|k*bsd*-gnu ) + DYNAMIC_LINK_FLAGS="-Wl,-export-dynamic" + ELF_CC="\$(CC)" +- ELF_CFLAGS="\$(CFLAGS) -fPIC" ++ ELF_CFLAGS="$ELF_CFLAGS -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-shared -fPIC" +Index: slang-2.3.0/autoconf/configure.ac +=================================================================== +--- slang-2.3.0.orig/autoconf/configure.ac ++++ slang-2.3.0/autoconf/configure.ac +@@ -17,6 +17,62 @@ dnl# fi + 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 + +@@ -284,7 +340,7 @@ else + fi + AC_SUBST(ZLIB_MODULE) + +-m4_include([./iconv.m4]) ++dnl m4_include([./iconv.m4]) + + ICONV_MODULE="" + JD_CHECK_FOR_LIBRARY(iconv) diff --git a/slang-fsuid.patch b/slang-fsuid.patch new file mode 100644 index 0000000..a471392 --- /dev/null +++ b/slang-fsuid.patch @@ -0,0 +1,96 @@ +Index: slang-2.2.4/autoconf/configure.ac +=================================================================== +--- slang-2.2.4.orig/autoconf/configure.ac ++++ slang-2.2.4/autoconf/configure.ac +@@ -154,9 +154,18 @@ sys/socket.h \ + netinet/in.h \ + arpa/inet.h \ + sys/un.h \ ++sys/fsuid.h \ + sys/resource.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 +Index: slang-2.2.4/src/config.hin +=================================================================== +--- slang-2.2.4.orig/src/config.hin ++++ slang-2.2.4/src/config.hin +@@ -188,6 +188,8 @@ + #undef HAVE_SYS_UN_H + #undef socklen_t + ++#undef HAVE_SYS_FSUID_H ++#undef HAVE_SETFSUID + #undef HAVE_CONFSTR + #undef HAVE_SYSCONF + #undef HAVE_PATHCONF +Index: slang-2.2.4/src/slinclud.h +=================================================================== +--- slang-2.2.4.orig/src/slinclud.h ++++ slang-2.2.4/src/slinclud.h +@@ -30,4 +30,8 @@ + # include + #endif + ++#ifdef HAVE_SYS_FSUID_H ++# include ++#endif ++ + #endif /* _SLANG_INCLUDE_H_ */ +Index: slang-2.2.4/src/sltermin.c +=================================================================== +--- slang-2.2.4.orig/src/sltermin.c ++++ slang-2.2.4/src/sltermin.c +@@ -23,6 +23,9 @@ Foundation, Inc., 59 Temple Place - Suit + USA. + */ + ++#include ++#include ++ + #include "slinclud.h" + + #include "slang.h" +@@ -119,7 +122,32 @@ 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/slang.changes b/slang.changes new file mode 100644 index 0000000..e97fa4d --- /dev/null +++ b/slang.changes @@ -0,0 +1,206 @@ +* Thu Mar 15 2018 ro@suse.de +- handle s390 like s390x +* Fri Mar 2 2018 crrodriguez@opensuse.org +- BuildRequire default libpng on the system, builds and test + pass fine. (drops slang-libpng12-linker-flag.patch) +* Fri Feb 9 2018 werner@suse.de +- Add upstream commit 6dd5ade9a97b52ace4ac033779a6d3c1c51db4d1 as + patch git-6dd5ade9a97b52ace4ac033779a6d3c1c51db4d1.patch (boo#1079543) + * Added support for the new ncurses 32-bit terminfo database entries +* Fri Jun 9 2017 jengelh@inai.de +- Rectify RPM groups. Trim filler wording from description. +* Wed May 3 2017 astieger@suse.com +- slang 2.3.1a: + * 24 bitcolor support for 64 bit systems + * various bug fixes and improvements +- disable failing tests on i586 and s390x +* Sat Feb 28 2015 mpluskal@suse.com +- Cleanup spec file with spec-cleaner +- Add gpg signature +- Remove upstreamed patch + * sprintf-bug-concerning-c-for-8-bit-character-in-non-.patch +- Update to 2.3.0 + * numerous changes, see included changes.txt for a detailed + list +* Tue Aug 26 2014 fcrozat@suse.com +- Add obsoletes/provides to baselibs.conf. +* Wed Jul 2 2014 kkaempf@suse.com +- fix for running in non-utf-8 environments (bnc#885624) + add sprintf-bug-concerning-c-for-8-bit-character-in-non-.patch +- drop slang-2.2.2-makefile.patch, obsolete +* Thu May 24 2012 gber@opensuse.org +- update to version 2.2.4 + - numerous changes, see the included changes.txt for a detailed + list +- rebased slang-2.2.2.dif and renamed to slang.patch +- rebased slang-2.2.2-autoconf.dif and renamed to + slang-autoconf.patch +- rebased slang-2.2.2-libpng12-linker-flag.patch and renamed to + slang-libpng12-linker-flag.patch +- rebased slang-2.2.2-fsuid.dif and renamed to slang-fsuid.patch +- build oniguruma module on >= 12.1 +* Fri Dec 2 2011 jengelh@medozas.de +- Remove redundant/unwanted tags/section (cf. specfile guidelines) +* Fri Dec 2 2011 coolo@suse.com +- add automake as buildrequire to avoid implicit dependency +* Mon Sep 13 2010 coolo@novell.com +- fix baselibs.conf +* Tue Aug 17 2010 gber@opensuse.org +- disabled parallel build again, still broken +* Sat Aug 14 2010 gber@opensuse.org +- updated to version 2.2.2 + + new languag features + * ternary expressions + * break and condition statements can now work on several levels + of loops + * multiline strings + * List_Type objects can now also be indexed using an array of + indices + + new modules: zlib, fork, sysconf + + new intrinsic functions: sumsq, expm1, log1p, list_to_array, + string_matches, _close, _fileno, dup2, getsid, killpg, + getpriority, setpriority, ldexp, frexp + + provides pkg-info file + + many bugfixes +- split package to conform to library naming policy +- rebased patches, removed obsolete slang-2.2.1-format.patch +- added patch slang-2.2.2-makefile.patch from Fedora which fixes + shared libs permissions, the slang shared library symlink, and + parallel build dependency issues and removes rpath +- build pcre, png, and zlib modules +- removed incorrect license information +- more accurate summary and description +- further cleanup +* Thu Apr 8 2010 meissner@suse.de +- unbreak occasional build failures by disabling parallel make. +* Wed Jan 13 2010 meissner@suse.de +- fixed better +* Tue Jan 12 2010 coolo@novell.com +- include headers to fix build +* Sat Dec 19 2009 jengelh@medozas.de +- add baselibs.conf as a source +- enable parallel build +* Wed Jan 7 2009 olh@suse.de +- obsolete old -XXbit packages (bnc#437293) +* Fri Jun 27 2008 schwab@suse.de +- Work around autoconf limitation. +* Thu Apr 10 2008 ro@suse.de +- added baselibs.conf file to build xxbit packages + for multilib support +* Wed Jul 11 2007 nadvornik@suse.cz +- updated to 2.1.1: + * interpreter syntax enhancements + * many bugfixes +- fixed some rpmlint warnings +* Mon May 28 2007 nadvornik@suse.cz +- do not package binaries in documentation directory +* Tue Jan 31 2006 nadvornik@suse.cz +- fixed typo in locale code [#146603] +* Wed Jan 25 2006 mls@suse.de +- converted neededforbuild to BuildRequires +* Thu Jan 12 2006 nadvornik@suse.cz +- compile with -fstack-protector +* Tue Jan 3 2006 nadvornik@suse.cz +- updated to 2.0.5 +- fixed output of multibyte chars to bottom right corner [#134037] +* Mon Oct 17 2005 nadvornik@suse.cz +- fixed filelist +* Thu Oct 13 2005 nadvornik@suse.cz +- updated documentation, specfile fixes +* Tue Oct 11 2005 nadvornik@suse.cz +- updated to 2.0.4 + * upstream UTF-8 support +* Wed Feb 16 2005 nadvornik@suse.cz +- fixed segfault in SLsmg_write_nwchars +* Thu Jan 6 2005 nadvornik@suse.cz +- fixed segfault on negative column value +* Wed Mar 10 2004 nadvornik@suse.cz +- removed symlinks pointing nowhere [#34927] +* Fri Feb 20 2004 nadvornik@suse.cz +- used libdir macro +* Wed Feb 18 2004 sbrabec@suse.cz +- Added all available UTF-8 patches from Debian and Redhat. +* Tue Feb 10 2004 nadvornik@suse.cz +- compiled with -fno-strict-aliasing +* Sat Jan 10 2004 adrian@suse.de +- add %%defattr and %%run_ldconfig +* Fri Jul 25 2003 nadvornik@suse.cz +- updated to 1.4.9 +* Wed May 28 2003 nadvornik@suse.cz +- remove unpackaged files from buildroot +* Thu Feb 13 2003 nadvornik@suse.cz +- updated to 1.4.8 +* Mon Jan 13 2003 nadvornik@suse.cz +- updated to 1.4.7 +* Mon Sep 23 2002 nadvornik@suse.cz +- removed the utf8 patch [#19941] +* Mon Sep 16 2002 pthomas@suse.de +- Check for availability of setfsuid/setfsgid and abort configuration + if not found. Include sys/fsuid.h to get setfsuid/setfsgid declared. +- Redo the utf8 patch to also define _GNU_SOURCE to get wcwidth + declared. +- Change configure.in to make the use of autoheader possible. +- Make configure use a passed in ELF_CFLAGS. +- Remove the unneeded -fno-strength-reduce from CFLAGS and ELF_CFLAGS. +- devel package requires base package of same version. +* Tue Jul 9 2002 nadvornik@suse.cz +- fixed macro SLSMG_BUILD_CHAR in utf8 patch, it fixes the crash + of xjed [bug #16823] +* Fri May 31 2002 nadvornik@suse.cz +- updated to 1.4.5 +- created devel subpackage [bug #16241] +- added html doc +* Wed Feb 20 2002 nadvornik@suse.cz +- fixed color handling for tab character +* Wed Jan 30 2002 nadvornik@suse.cz +- fixed conversion of control characters to printable form in + UTF-8 patch [bug #12894] +* Thu Jan 10 2002 nadvornik@suse.cz +- used macros %%{_lib} and %%{_libdir} +* Fri Oct 26 2001 pmladek@suse.cz +- fixed displaying of long lines (#11919) + * the begin of the visible part of the line is tested now +* Wed Jun 13 2001 schwab@suse.de +- Fix use of %%suse_update_config. +* Thu Jun 7 2001 bjacke@suse.de +- apply UTF-8 patch from http://www.rano.org/mutt/ +* Wed Jun 6 2001 nadvornik@suse.cz +- fixed to compile with new autoconf +* Mon Feb 26 2001 nadvornik@suse.cz +- update to 1.4.4 +* Mon Oct 9 2000 nadvornik@suse.cz +- fixed Copyright +* Fri Sep 15 2000 nadvornik@suse.cz +- update to 1.4.2 +- used suse_update_config +* Wed Jul 19 2000 nadvornik@suse.cz +- added libslang.so.1 symlink (Bug#: 3545) +* Thu May 18 2000 nadvornik@suse.cz +- changed Group tag +* Fri Mar 24 2000 nadvornik@suse.cz +- added URL +* Mon Mar 13 2000 nadvornik@suse.cz +- upgrade to version 1.4.0 +- removed Makefile.Linux +- added BuildRoot +* Thu Oct 7 1999 fehr@suse.de +- recognize alternat xterm cursor sequences when doing line editing +* Mon Sep 13 1999 bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Wed Jul 21 1999 fehr@suse.de +- changed one patch slightly +* Tue Jun 30 1998 fehr@suse.de +- integrate setuid security patches from Alan Cox in dif-file +- change to version 1.2.2 +* Tue Jun 30 1998 fehr@suse.de +- add security patches from Alan Cox (overflow, setuid, termdir) +- add dynamic version of slang library +- install documentation to /usr/doc/packages/slang +* Wed Jan 22 1997 florian@suse.de +- update to version 0.99-38 +* Thu Jan 2 1997 florian@suse.de +- update to version 0.99-37 +* Thu Jan 2 1997 florian@suse.de +- update to version 0.99-36 and add bug-fixes from mutt +* Thu Jan 2 1997 florian@suse.de +- update to new version 0.99-35 diff --git a/slang.keyring b/slang.keyring new file mode 100644 index 0000000..64454ac --- /dev/null +++ b/slang.keyring @@ -0,0 +1,26 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +mQGiBEFNKCcRBAD8weX0gwBAfyBoCx2r1Q8GnVt5984cRquJkIHBM7Z6dr5pJKhk +47u9Fhdi1FSwjAlnQUzxwxw1IGgyguncCy0WtKCeBQUCe9QZi1GuR/H4r02k69kf +lG64TScYVZ9d5ZAe6G33jLrfCY0K5tWbTOZ5rt7uLyPJqR1XSb3eLnzPVwCg1O3f +c1YBH9laAO8zqn6Grt+SWFEEAK0sK7WMmxwhaYGOSPa9iUpQhmCO15M79D7Ck5wu +VofUEC4qxlFy5Uq3HGHK96hvktA8AbFNSVlZNHuFZpmRO3jgp8KIAqW6Vk9wa36z +cZnTUSoQEVqjTSUBrU5irhZQp9bPXtQzRFRUjTe9w3IYJ9JO0VkVM2zUUWOYdcw9 +DBJRA/4o8ByiHgxQbKAGqF1m4ptRY4P99dJhW/gDt0P7V6gKFmIynE2Qm6MPYNn+ +AS5YvbC14rcUUbTVcYOPjvmBxim2Yc0EfoZ/oOqCqUhYrNmeVmBT61elnwAom4O1 +a3+ikz8NrIHsabN+o0OXtTXk+Lw4HojZ0Yvd2mWIggb5ulpBlrQjSm9obiBFLiBE +YXZpcyA8ZGF2aXNAc3BhY2UubWl0LmVkdT6IRgQQEQIABgUCTMAbMwAKCRDoJFuJ +IkTtqb7lAKCnsgbRFp4NTCocbiQKkLndJjk8vwCgkkGtDT7X6E+eCWvXgneI+2UD +wUGIVwQTEQIAFwUCQU0oJwULBwoDBAMVAwIDFgIBAheAAAoJEN5AHg1YcwAKgqkA +oK1j6+2hL66UNjGW+cSSVXAqYuzXAJ9NsoMV/SC0wv7M2HniPWuV63tmwrkBDQRB +TSgoEAQAyF+zGjW4hR11oFcztSNrrlY/T5alJfXZi1+oMnqS5xfjicSvaehZ5LaX +5E5X478pqg4rlbsGKQEW2EdWfxY0jhEcQx2q1GA5h13LUT9KR7SZ6aLho6R0DVmf +ZLntcry9xNc8zxqqxrF0pu4L+UbSFpihAaulcsTc3a2ANUhog8sAAwUD/0CXRJKd +t9wGEQrYk25AOm9JW1oYYY5Uv51RwiHMuC1m0cT8B4b35PWyckY5Oal25QVhXW+M +m4ZibXFut1t1gDiPRLqsv4ELIXl4lHFcYuiR/WCayJaxxWMVYjU7JWXdjqAlpfp2 +wiwnkz9erAN2ajiy1hTSkECasdi5D2MscyFciEYEGBECAAYFAkFNKCgACgkQ3kAe +DVhzAArCFgCfeqAZU3Pq00nmtCIw/TyLgmUPQRMAoMU6zgvTVPcvmZf2AkGQ8xou +jiHp +=Y/LQ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/slang.patch b/slang.patch new file mode 100644 index 0000000..3912f64 --- /dev/null +++ b/slang.patch @@ -0,0 +1,39 @@ +Index: slang-2.2.4/src/sldisply.c +=================================================================== +--- slang-2.2.4.orig/src/sldisply.c ++++ slang-2.2.4/src/sldisply.c +@@ -2609,6 +2609,13 @@ int SLtt_initialize (SLFUTURE_CONST char + Start_Abs_Cursor_Addressing_Mode = tt_tgetstr ("ti"); + End_Abs_Cursor_Addressing_Mode = tt_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. + */ +@@ -2626,6 +2633,7 @@ int SLtt_initialize (SLFUTURE_CONST char + if (Del_N_Lines_Str == NULL) Del_N_Lines_Str = "\033[%dM"; + if (Add_N_Lines_Str == NULL) Add_N_Lines_Str = "\033[%dL"; + } ++#endif + + Scroll_R_Str = tt_tgetstr("cs"); + +@@ -2808,10 +2816,12 @@ int SLtt_initialize (SLFUTURE_CONST char + /* 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 --git a/slang.spec b/slang.spec new file mode 100644 index 0000000..1beb3e6 --- /dev/null +++ b/slang.spec @@ -0,0 +1,144 @@ +# +# spec file for package slang +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +Name: slang +Version: 2.3.1a +Release: 150000.5.2.3 +Summary: Programming Library and Embeddable Extension Language +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Url: http://www.jedsoft.org/ +Source0: http://www.jedsoft.org/releases/slang/slang-%{version}.tar.bz2 +Source1: http://www.jedsoft.org/releases/slang/slang-%{version}.tar.bz2.asc +Source2: %{name}.keyring +Source3: baselibs.conf +Patch0: slang.patch +Patch1: slang-autoconf.patch +Patch2: slang-fsuid.patch +# PATCH-FIX-UPSTREAM +Patch5: git-6dd5ade9a97b52ace4ac033779a6d3c1c51db4d1.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: pcre-devel +BuildRequires: pkg-config +BuildRequires: zlib-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?suse_version} >= 1210 +BuildRequires: oniguruma-devel >= 5.9.0 +%endif +BuildRequires: libpng-devel + +%description +S-Lang is a programming library for creating multi-platform software. +It provides display/screen management, keyboard input, keymaps, etc. +Another feature is the interpreter for the S-Lang extension language +which can be embedded into an application to make it extensible. With +slsh, a standalone interpreter is available as well. + +%package slsh +Summary: Interpreter for S-Lang Scripts +Group: Development/Languages/Other +Provides: slang = %{version} +Obsoletes: slang <= 2.1.1 + +%description slsh +slsh is a standalone interpreter of the S-Lang language. It can be used to +execute scripts, or be run interactively. + +%package -n libslang2 +Summary: Programming Library and Embeddable Extension Language +Group: System/Libraries + +%description -n libslang2 +S-Lang is a programming library for creating multi-platform software. +It provides display/screen management, keyboard input, keymaps, etc. +Another feature is the interpreter for the S-Lang extension language +which can be embedded into an application to make it extensible. With +slsh, a standalone interpreter is available as well. + +%package devel +Summary: Programming Library and Embeddable Extension Language - Development Package +Group: Development/Languages/C and C++ +Requires: libslang2 = %{version} +Provides: slang:%{_includedir}/slang.h + +%description devel +S-Lang is a programming library for creating multi-platform software. +It provides display/screen management, keyboard input, keymaps, etc. +Another feature is the interpreter for the S-Lang extension language +which can be embedded into an application to make it extensible. With +slsh, a standalone interpreter is available as well. + +This package contains all necessary include files and libraries needed to +develop applications that require it. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch5 -p0 + +%build +mv autoconf/configure.ac . +mv autoconf/aclocal.m4 autoconf/acinclude.m4 +#autoheader -I autoconf +aclocal -I autoconf --output=autoconf/aclocal.m4 +autoconf -I autoconf +export CFLAGS="%{optflags} -fno-strict-aliasing -fstack-protector" +export ELF_CFLAGS="$CFLAGS" +%configure \ + --docdir=%{_docdir}/slang-devel \ + --with-pcre \ + --with-z +# --with-onig +# parallel make still broken in 2.2.2 +make --jobs 1 +make static --jobs 1 + +%install +make DESTDIR=%{buildroot} install install-static + +rm -rf %{buildroot}%{_datadir}/doc/ + +%check +%ifnarch i586 +%ifnarch s390 +%ifnarch s390x +make check +%endif +%endif +%endif + +%post -n libslang2 -p /sbin/ldconfig + +%postun -n libslang2 -p /sbin/ldconfig + +%files slsh +%defattr(-,root,root) +%doc COPYING slsh/README +%doc slsh/doc/html/ +%config(noreplace) %{_sysconfdir}/slsh.rc +%{_bindir}/slsh +%{_libdir}/slang/ +%{_datadir}/slsh/ +%{_mandir}/man1/slsh.1* + +%files -n libslang2 +%defattr(-,root,root) +%{_libdir}/libslang.so.* + +%files devel +%defattr(-,root,root) +%doc changes.txt COPYING NEWS README UPGRADE.txt demo/ examples/ +%doc doc/grammar.txt doc/text/ +%{_includedir}/* +%{_libdir}/pkgconfig/slang.pc +%{_libdir}/libslang.a +%{_libdir}/libslang.so + +%changelog