summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--development/4th/01-directories.patch12
-rw-r--r--development/4th/02-to_preserve_32bit_compatibility.patch14
-rw-r--r--development/4th/4th.SlackBuild4
-rw-r--r--development/4th/4th.info6
-rw-r--r--development/4th/readme_64-bit.txt51
5 files changed, 76 insertions, 11 deletions
diff --git a/development/4th/01-directories.patch b/development/4th/01-directories.patch
index 19e2c98354..d7c9415c5d 100644
--- a/development/4th/01-directories.patch
+++ b/development/4th/01-directories.patch
@@ -1,7 +1,7 @@
-diff -Nur 4th-3.62.0-unix/sources/Makefile 4th-3.62.0-unix.new/sources/Makefile
---- 4th-3.62.0-unix/sources/Makefile 2012-12-22 12:26:35.000000000 +0000
-+++ 4th-3.62.0-unix.new/sources/Makefile 2013-02-11 15:30:00.531948113 +0000
-@@ -16,13 +16,13 @@
+diff -Nur 4th-3.62.2-unix/sources/Makefile 4th-3.62.2-unix.new/sources/Makefile
+--- 4th-3.62.2-unix/sources/Makefile 2014-01-06 19:03:16.000000000 +0100
++++ 4th-3.62.2-unix.new/sources/Makefile 2014-04-13 16:10:03.809359781 +0200
+@@ -13,13 +13,13 @@
# The following variables may need to be changed
@@ -21,12 +21,12 @@ diff -Nur 4th-3.62.0-unix/sources/Makefile 4th-3.62.0-unix.new/sources/Makefile
# Cross compilation variables
LD=$(CROSS)ld
-@@ -128,7 +128,7 @@
+@@ -125,7 +125,7 @@
install: mostlyinstall
install -Dm644 ../documentation/4th.1 $(MANDIR)/man1/4th.1
- install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th/
-+ install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th-3.62.0/
++ install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th-3.62.2/
uninstall:
-rm -f $(LIBRARIES)/lib4th.{a,so*}
diff --git a/development/4th/02-to_preserve_32bit_compatibility.patch b/development/4th/02-to_preserve_32bit_compatibility.patch
new file mode 100644
index 0000000000..8daf0062c1
--- /dev/null
+++ b/development/4th/02-to_preserve_32bit_compatibility.patch
@@ -0,0 +1,14 @@
+diff -Nur 4th-3.62.2-unix/sources/4th.h 4th-3.62.2-unix.new/sources/4th.h
+--- 4th-3.62.2-unix/sources/4th.h 2012-04-09 18:15:03.000000000 +0200
++++ 4th-3.62.2-unix.new/sources/4th.h 2014-04-13 16:23:07.122971512 +0200
+@@ -62,8 +62,8 @@
+ #define M4BADNAM 28
+ #define M4CABORT 29
+
+-#define CELL_MIN LONG_MIN
+-#define CELL_MAX LONG_MAX
++#define CELL_MIN INT_MIN
++#define CELL_MAX INT_MAX
+
+ typedef long cell;
+ typedef unsigned char unit;
diff --git a/development/4th/4th.SlackBuild b/development/4th/4th.SlackBuild
index ea098f672e..4b8c4c9310 100644
--- a/development/4th/4th.SlackBuild
+++ b/development/4th/4th.SlackBuild
@@ -5,7 +5,7 @@
# Written by Zbigniew Baniewski <Zbigniew.Baniewski@gmail.com>
PRGNAM=4th
-VERSION=3.62.0
+VERSION=${VERSION:-3.62.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -53,7 +53,7 @@ find -L . \
-exec chmod 644 {} \;
if [ "$ARCH" = "x86_64" ]; then
- cat $CWD/01-if_for_64bit.patch | patch -p2 || exit
+ cat $CWD/02-to_preserve_32bit_compatibility.patch | patch -p2 || exit
cp include/* .
fi
diff --git a/development/4th/4th.info b/development/4th/4th.info
index 2c4cb640ef..261bf40199 100644
--- a/development/4th/4th.info
+++ b/development/4th/4th.info
@@ -1,8 +1,8 @@
PRGNAM="4th"
-VERSION="3.62.0"
+VERSION="3.62.2"
HOMEPAGE="http://thebeez.home.xs4all.nl/4tH/"
-DOWNLOAD="http://4th.googlecode.com/files/4th-3.62.0-unix.tar.gz"
-MD5SUM="7dea1c189e70f47730c279c0cda323a0"
+DOWNLOAD="http://downloads.sourceforge.net/project/forth-4th/4th-3.62.2/4th-3.62.2-unix.tar.gz"
+MD5SUM="84f492a84eb5c646b07782ece451ac02"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/development/4th/readme_64-bit.txt b/development/4th/readme_64-bit.txt
new file mode 100644
index 0000000000..58e2a0f67c
--- /dev/null
+++ b/development/4th/readme_64-bit.txt
@@ -0,0 +1,51 @@
+If you're using 64-bit processor - which nowadays is quite common - you can
+compile 4th as 64-bit compiler. To do this, just delete patch #02 before
+compilation. But read the following excerpt from original 4th docs first:
+
+
+25.7 <sec:64-bit-platforms>64-bit platforms
+
+Although 4tH will work perfectly well on a 64-bit platform there
+are some disadvantages:
+
+• HX files generated by this compiler are not portable to 32-bit
+ platforms
+
+• Some 4tH library files may not work properly without some
+ modifications.
+
+A quick fix is to change the size of a cell to a four byte
+datatype. The following procedure will usually work. Open 4th.h
+and change these lines:
+
+#define CELL_MIN LONG_MIN
+
+#define CELL_MAX LONG_MAX
+
+
+
+typedef long cell;
+
+To this:
+
+#define CELL_MIN INT_MIN
+
+#define CELL_MAX INT_MAX
+
+
+
+typedef int cell;
+
+Save 4th.h and compile as described in the previous sections. If
+you want a full 64-bit 4tH compiler, be aware that:
+
+• You cannot compile 4tH as a shared library
+
+• You have to regenerate the include files manually, unless
+ you're working with Linux.
+
+Linux automatically recreates the include files each time you
+perform a compile. If you're working with a GNU toolset, you may
+try the Linux Makefile. If that doesn't work or isn't an option
+in your particular situation you'll have to perform the procedure
+listed in section [sec:Regenerating-the-include].