aboutsummaryrefslogtreecommitdiff
path: root/development/icon
diff options
context:
space:
mode:
Diffstat (limited to 'development/icon')
-rw-r--r--development/icon/icon.SlackBuild29
-rw-r--r--development/icon/icon.info6
-rw-r--r--development/icon/patches/display.patch44
-rw-r--r--development/icon/patches/glibc.patch23
-rw-r--r--development/icon/patches/implicit-defs.patch162
-rw-r--r--development/icon/patches/lexer.patch18
-rw-r--r--development/icon/patches/maxtype.patch18
7 files changed, 17 insertions, 283 deletions
diff --git a/development/icon/icon.SlackBuild b/development/icon/icon.SlackBuild
index c444ae2fbe06..6867d68aa94b 100644
--- a/development/icon/icon.SlackBuild
+++ b/development/icon/icon.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for icon
-# Copyright 2010-2019 Kyle Guinn <elyk03@gmail.com>
+# Copyright 2010-2021 Kyle Guinn <elyk03@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=icon
-VERSION=${VERSION:-9.5.1}
-SRCVER=v$(echo $VERSION | tr -d .)src
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-9.5.20i}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -68,19 +67,19 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$SRCVER
-tar xvf $CWD/$PRGNAM-$SRCVER.tgz
-cd $PRGNAM-$SRCVER
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go-w,a+rX-st .
-# Cherry-picked bugfix and ftbfs patches from upstream
-# https://github.com/gtownsend/icon
-patch -p1 < $CWD/patches/display.patch
-patch -p1 < $CWD/patches/maxtype.patch
-patch -p1 < $CWD/patches/lexer.patch
-patch -p1 < $CWD/patches/implicit-defs.patch
-patch -p1 < $CWD/patches/glibc.patch
+# Use the system XPM. https://github.com/gtownsend/icon/pull/2
+sed -i -e 's|"../xpm/xpm.h"|<X11/xpm.h>|' src/common/xwindow.c src/h/sys.h
+# Neuter the $XL variable, replace with $XLIBS which includes -lXpm.
+# Set $XLIBS to empty if building without graphics (make Configure).
+sed -i -e 's|-lX11|-lXpm -lX11|' config/linux/Makedefs
+sed -i -e 's|XL=.*|XL= ;;|' config/setup.sh
+sed -i -e 's|XL|XLIBS|' src/runtime/Makefile
# Installation creates bin, lib, man, and doc dirs inside the "dest" dir.
# Edit the Install rule to avoid having to manually rearrange files.
@@ -112,7 +111,7 @@ find $PKG -exec file {} + | grep -e "executable" -e "shared object" | grep ELF \
find $PKG/usr/man -type f -exec gzip -9 {} +
mv $PKG/README $PKG/usr/doc/$PRGNAM-$VERSION
-rm $PKG/usr/doc/$PRGNAM-$VERSION/clnroff.sed
+rm $PKG/usr/doc/$PRGNAM-$VERSION/*.sed
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/development/icon/icon.info b/development/icon/icon.info
index 0df2ab5bd931..828871c28499 100644
--- a/development/icon/icon.info
+++ b/development/icon/icon.info
@@ -1,8 +1,8 @@
PRGNAM="icon"
-VERSION="9.5.1"
+VERSION="9.5.20i"
HOMEPAGE="https://www2.cs.arizona.edu/icon/"
-DOWNLOAD="https://www2.cs.arizona.edu/icon/ftp/packages/unix/icon-v951src.tgz"
-MD5SUM="8fdeb7c5408d9d9bf06bc5e7f4f54498"
+DOWNLOAD="https://github.com/gtownsend/icon/archive/v9.5.20i/icon-9.5.20i.tar.gz"
+MD5SUM="2c8803b42ae0512981855e9147738efd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/icon/patches/display.patch b/development/icon/patches/display.patch
deleted file mode 100644
index 05eab35d2cfb..000000000000
--- a/development/icon/patches/display.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-commit d0cd013653360f6f11e3b5dbdbbf3788a5c08b02
-Author: Gregg Townsend <gmt@cs.arizona.edu>
-Date: Thu Dec 4 15:37:39 2014 -0700
-
- Handle $DISPLAY longer than 63 characters.
- First seen as a problem on Macintosh OS X 10.10 ("Yosemite").
- Side effects revealed other bugs in cross-display CopyArea and
- gamma correction.
-
-diff --git a/src/h/graphics.h b/src/h/graphics.h
---- a/src/h/graphics.h
-+++ b/src/h/graphics.h
-@@ -201,7 +201,7 @@
- typedef struct _wdisplay {
- int refcount;
- int serial; /* serial # */
-- char name[MAXDISPLAYNAME];
-+ char *name;
- Display * display;
- Visual * visual;
- GC icongc;
-diff --git a/src/h/xwin.h b/src/h/xwin.h
---- a/src/h/xwin.h
-+++ b/src/h/xwin.h
-@@ -73,7 +73,6 @@
- */
- #define WMAXCOLORS 256
- #define MAXCOLORNAME 40
--#define MAXDISPLAYNAME 64
- #define CSHARED 0
- #define CMUTABLE 1
- #define NUMCURSORSYMS 78
-diff --git a/src/runtime/rxrsc.ri b/src/runtime/rxrsc.ri
---- a/src/runtime/rxrsc.ri
-+++ b/src/runtime/rxrsc.ri
-@@ -376,7 +376,7 @@
-
- GRFX_ALLOC(wd, _wdisplay);
-
-- strcpy(wd->name,s);
-+ wd->name = salloc(s);
- wd->display = XOpenDisplay((*s=='\0') ? NULL : s);
-
- if (wd->display == NULL) {
diff --git a/development/icon/patches/glibc.patch b/development/icon/patches/glibc.patch
deleted file mode 100644
index b0629d0cc893..000000000000
--- a/development/icon/patches/glibc.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-commit bfc4a6004d0d3984c8066289b8d8e563640c4ddd
-Author: Gregg Townsend <gmt@cs.arizona.edu>
-Date: Mon Oct 29 10:07:31 2018 -0700
-
- Adapt to change in GLIBC v2.28 internals (thx Cheyenne Wills).
-
-diff --git a/ipl/cfuncs/fpoll.c b/ipl/cfuncs/fpoll.c
---- a/ipl/cfuncs/fpoll.c
-+++ b/ipl/cfuncs/fpoll.c
-@@ -60,12 +64,9 @@
-
- /* check for data already in buffer */
- /* there's no legal way to do this in C; we cheat */
--#if defined(__GLIBC__) && defined(_STDIO_USES_IOSTREAM) /* new GCC library */
-+#if defined(__GLIBC__) /* new GCC library */
- if (f->_IO_read_ptr < f->_IO_read_end)
- RetArg(1);
--#elif defined(__GLIBC__) /* old GCC library */
-- if (f->__bufp < f->__get_limit)
-- RetArg(1);
- #elif defined(_FSTDIO) /* new BSD library */
- if (f->_r > 0)
- RetArg(1);
diff --git a/development/icon/patches/implicit-defs.patch b/development/icon/patches/implicit-defs.patch
deleted file mode 100644
index 9e015c7ad71f..000000000000
--- a/development/icon/patches/implicit-defs.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-commit 8cb4887b886ad0c9caf0be595e236d2a74a41a8d
-Author: Gregg Townsend <gmt@cs.arizona.edu>
-Date: Mon Aug 28 09:10:00 2017 -0700
-
- Fix compilation warnings in xpm code (thx Sean Jensen).
-
-diff --git a/src/xpm/create.c b/src/xpm/create.c
---- a/src/xpm/create.c
-+++ b/src/xpm/create.c
-@@ -344,6 +344,7 @@
-
- #endif
-
-+int
- xpmCreateImage(display, attrib, image_return, shapeimage_return, attributes)
- Display *display;
- xpmInternAttrib *attrib;
-diff --git a/src/xpm/data.c b/src/xpm/data.c
---- a/src/xpm/data.c
-+++ b/src/xpm/data.c
-@@ -110,6 +110,7 @@
- /*
- * skip to the end of the current string and the beginning of the next one
- */
-+void
- xpmNextString(mdata)
- xpmData *mdata;
- {
-@@ -277,6 +278,7 @@
- /*
- * get the current comment line
- */
-+void
- xpmGetCmt(mdata, cmt)
- xpmData *mdata;
- char **cmt;
-@@ -403,6 +405,7 @@
- /*
- * close the file related to the xpmData if any
- */
-+void
- XpmDataClose(mdata)
- xpmData *mdata;
- {
-diff --git a/src/xpm/misc.c b/src/xpm/misc.c
---- a/src/xpm/misc.c
-+++ b/src/xpm/misc.c
-@@ -14,6 +14,7 @@
- * Free the computed color table
- */
-
-+void
- xpmFreeColorTable(colorTable, ncolors)
- char ***colorTable;
- int ncolors;
-@@ -39,6 +40,7 @@
- * which ones must be freed later on.
- */
-
-+void
- xpmInitInternAttrib(attrib)
- xpmInternAttrib *attrib;
- {
-@@ -55,6 +57,7 @@
- * Free the xpmInternAttrib pointers which have been allocated
- */
-
-+void
- xpmFreeInternAttrib(attrib)
- xpmInternAttrib *attrib;
- {
-@@ -80,6 +83,7 @@
- /*
- * Free array of extensions
- */
-+void
- XpmFreeExtensions(extensions, nextensions)
- XpmExtension *extensions;
- int nextensions;
-@@ -108,6 +112,7 @@
- * Return the XpmAttributes structure size
- */
-
-+int
- XpmAttributesSize()
- {
- return sizeof(XpmAttributes);
-@@ -119,6 +124,7 @@
- * but the structure itself
- */
-
-+void
- XpmFreeAttributes(attributes)
- XpmAttributes *attributes;
- {
-@@ -167,6 +173,7 @@
- * the xpmInternAttrib structure.
- */
-
-+void
- xpmSetAttributes(attrib, attributes)
- xpmInternAttrib *attrib;
- XpmAttributes *attributes;
-diff --git a/src/xpm/xpm.h b/src/xpm/xpm.h
---- a/src/xpm/xpm.h
-+++ b/src/xpm/xpm.h
-@@ -191,8 +191,8 @@
- XpmAttributes * attributes));
-
- FUNC(XpmAttributesSize, int, ());
-- FUNC(XpmFreeAttributes, int, (XpmAttributes * attributes));
-- FUNC(XpmFreeExtensions, int, (XpmExtension * extensions, int nextensions));
-+ FUNC(XpmFreeAttributes, void, (XpmAttributes * attributes));
-+ FUNC(XpmFreeExtensions, void, (XpmExtension * extensions, int nextensions));
-
- #ifdef __cplusplus
- } /* for C++ V2.0 */
-diff --git a/src/xpm/xpmP.h b/src/xpm/xpmP.h
---- a/src/xpm/xpmP.h
-+++ b/src/xpm/xpmP.h
-@@ -159,13 +159,13 @@
- XpmAttributes * attributes,
- xpmInternAttrib * attrib));
-
--FUNC(xpmFreeColorTable, int, (char ***colorTable, int ncolors));
-+FUNC(xpmFreeColorTable, void, (char ***colorTable, int ncolors));
-
--FUNC(xpmInitInternAttrib, int, (xpmInternAttrib * xmpdata));
-+FUNC(xpmInitInternAttrib, void, (xpmInternAttrib * xmpdata));
-
--FUNC(xpmFreeInternAttrib, int, (xpmInternAttrib * xmpdata));
-+FUNC(xpmFreeInternAttrib, void, (xpmInternAttrib * xmpdata));
-
--FUNC(xpmSetAttributes, int, (xpmInternAttrib * attrib,
-+FUNC(xpmSetAttributes, void, (xpmInternAttrib * attrib,
- XpmAttributes * attributes));
-
- FUNC(xpmGetAttributes, int, (XpmAttributes * attributes,
-@@ -173,18 +173,20 @@
-
- /* I/O utility */
-
--FUNC(xpmNextString, int, (xpmData * mdata));
-+FUNC(atoui, unsigned int, (char *p, unsigned int l, unsigned int *ui_return));
-+FUNC(xpmGetString, int, (xpmData *mdata, char **sptr, unsigned int *l));
-+FUNC(xpmNextString, void, (xpmData * mdata));
- FUNC(xpmNextUI, int, (xpmData * mdata, unsigned int *ui_return));
-
- #define xpmGetC(mdata) \
- (mdata->type ? (getc(mdata->stream.file)) : (*mdata->cptr++))
-
- FUNC(xpmNextWord, unsigned int, (xpmData * mdata, char *buf));
--FUNC(xpmGetCmt, int, (xpmData * mdata, char **cmt));
-+FUNC(xpmGetCmt, void, (xpmData * mdata, char **cmt));
- FUNC(xpmReadFile, int, (char *filename, xpmData * mdata));
- FUNC(xpmWriteFile, int, (char *filename, xpmData * mdata));
- FUNC(xpmOpenArray, void, (char **data, xpmData * mdata));
--FUNC(XpmDataClose, int, (xpmData * mdata));
-+FUNC(XpmDataClose, void, (xpmData * mdata));
-
- /* RGB utility */
-
diff --git a/development/icon/patches/lexer.patch b/development/icon/patches/lexer.patch
deleted file mode 100644
index 290ed6736469..000000000000
--- a/development/icon/patches/lexer.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-commit bb7c6b5232d8cf0ad98e5ab8e8e3afd3a249751f
-Author: Gregg Townsend <gmt@cs.arizona.edu>
-Date: Mon Aug 28 08:08:32 2017 -0700
-
- Fix ancient potential lexer bug (thx Sean Jensen).
-
-diff --git a/src/common/yylex.h b/src/common/yylex.h
---- a/src/common/yylex.h
-+++ b/src/common/yylex.h
-@@ -263,7 +263,7 @@
- {
- register char *s1;
- s1 = lex_sbuf.strtimage;
-- while (s != '\0' && s1 < lex_sbuf.endimage && *s == *s1) {
-+ while (*s != '\0' && s1 < lex_sbuf.endimage && *s == *s1) {
- ++s;
- ++s1;
- }
diff --git a/development/icon/patches/maxtype.patch b/development/icon/patches/maxtype.patch
deleted file mode 100644
index 4e4651cc9621..000000000000
--- a/development/icon/patches/maxtype.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-commit e91f59f3affe69043586cb171ad1f8027e31d930
-Author: Gregg Townsend <gmt@cs.arizona.edu>
-Date: Sat Mar 11 08:41:26 2017 -0700
-
- Fix innocuous MaxType definition bug (thx Don Ward).
-
-diff --git a/src/h/rmacros.h b/src/h/rmacros.h
---- a/src/h/rmacros.h
-+++ b/src/h/rmacros.h
-@@ -301,7 +301,7 @@
- #define T_Kywdstr 24 /* string keyword */
- #define T_Kywdevent 25 /* keyword &eventsource, etc. */
-
--#define MaxType 26 /* maximum type number */
-+#define MaxType 25 /* maximum type number */
-
- /*
- * Definitions for keywords.