summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD36
-rw-r--r--tvision-build-fix.patch13
-rw-r--r--tvision-gcc7.patch54
4 files changed, 123 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..1b97115d05d5
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = tvision
+ pkgdesc = turbo vision library port (console interface)
+ pkgver = 2.2.1_r1
+ pkgrel = 6
+ url = http://tvision.sourceforge.net
+ arch = x86_64
+ license = GPL
+ depends = gpm
+ depends = gcc-libs
+ depends = libxmu
+ options = !makeflags
+ source = http://downloads.sourceforge.net/project/tvision/UNIX/2.2.1%20CVS20100714%20Source%20and%20Debian%205.0/rhtvision_2.2.1-1.tar.gz
+ source = tvision-build-fix.patch
+ source = tvision-gcc7.patch
+ md5sums = 46b815d86bbbb2f9b112b11f63e2f5a6
+ md5sums = e24e3520bd7c6beb441716b8998b4c64
+ md5sums = 2bd22d0e30db76a098e2287596a0f430
+
+pkgname = tvision
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5a1ffbabb70f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 266875 2017-11-15 14:29:11Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=tvision
+pkgver=2.2.1_r1
+pkgrel=6
+pkgdesc="turbo vision library port (console interface)"
+arch=(x86_64)
+url="http://tvision.sourceforge.net"
+license=("GPL")
+depends=(gpm gcc-libs libxmu)
+options=('!makeflags')
+source=("http://downloads.sourceforge.net/project/tvision/UNIX/2.2.1%20CVS20100714%20Source%20and%20Debian%205.0/rhtvision_${pkgver/_r/-}.tar.gz"
+ tvision-build-fix.patch tvision-gcc7.patch)
+md5sums=('46b815d86bbbb2f9b112b11f63e2f5a6'
+ 'e24e3520bd7c6beb441716b8998b4c64'
+ '2bd22d0e30db76a098e2287596a0f430')
+
+prepare() {
+ cd $pkgname
+ patch -p1 <"$srcdir"/tvision-build-fix.patch
+ patch -p1 -i ../tvision-gcc7.patch
+}
+
+build() {
+ cd $pkgname
+ export CXXFLAGS+=' -std=gnu++98'
+ PERL_USE_UNSAFE_INC=1 ./configure --prefix=/usr --include=/usr/include
+ make
+}
+
+package() {
+ cd $pkgname
+ make prefix="$pkgdir"/usr install
+}
diff --git a/tvision-build-fix.patch b/tvision-build-fix.patch
new file mode 100644
index 000000000000..51fea1bda74e
--- /dev/null
+++ b/tvision-build-fix.patch
@@ -0,0 +1,13 @@
+diff -wbBur tvision/classes/x11/x11src.cc tvision.q/classes/x11/x11src.cc
+--- tvision/classes/x11/x11src.cc 2009-12-29 15:52:24.000000000 +0000
++++ tvision.q/classes/x11/x11src.cc 2010-08-14 22:52:01.000000000 +0000
+@@ -40,6 +40,9 @@
+ // That's a nasty side effect: X defines Boolean!
+ #if (defined(TVOS_UNIX) || defined(TVCompf_Cygwin)) && defined(HAVE_X11)
+ #include <X11/Xmu/Atoms.h>
++ #include <sys/types.h>
++ #include <sys/stat.h>
++ #include <fcntl.h>
+ #endif
+
+ #define Uses_stdio
diff --git a/tvision-gcc7.patch b/tvision-gcc7.patch
new file mode 100644
index 000000000000..a869c43a84a9
--- /dev/null
+++ b/tvision-gcc7.patch
@@ -0,0 +1,54 @@
+--- tvision/classes/tdesktop.cc.orig 2017-07-15 07:58:51.301675267 +0000
++++ tvision/classes/tdesktop.cc 2017-07-15 07:59:32.794966900 +0000
+@@ -144,7 +144,7 @@
+ {
+ unsigned res1 = 2;
+ unsigned res2 = i/res1;
+- while( abs( res1 - res2 ) > 1 )
++ while( abs( (int)(res1 - res2) ) > 1 )
+ {
+ res1 = (res1 + res2)/2;
+ res2 = i/res1;
+--- tvision/classes/tdisplay.cc.orig 2017-07-15 08:03:33.071392952 +0000
++++ tvision/classes/tdisplay.cc 2017-07-15 08:04:28.314670997 +0000
+@@ -381,10 +381,10 @@
+ if (firstXMatch!=-1)
+ {// Return the closest y that match x
+ i=indexMin=firstXMatch;
+- minDif=abs(res[i].y-y);
++ minDif=abs((int)(res[i].y-y));
+ while (++i<cant && res[i].x==x)
+ {
+- dif=abs(res[i].y-y);
++ dif=abs((int)(res[i].y-y));
+ if (dif<minDif)
+ {
+ minDif=dif;
+@@ -396,11 +396,11 @@
+ }
+ // No x match, looks the one with minimum differences
+ indexMin=0;
+- minDif=abs(res[0].y-y)+abs(res[0].x-x);
++ minDif=abs((int)(res[0].y-y))+abs((int)(res[0].x-x));
+ i=1;
+ while (i<cant)
+ {
+- dif=abs(res[i].y-y)+abs(res[i].x-x);
++ dif=abs((int)(res[i].y-y))+abs((int)(res[i].x-x));
+ if (dif<minDif)
+ {
+ minDif=dif;
+
+--- tvision/classes/x11/x11src.cc.orig 2017-07-15 08:34:59.072771441 +0000
++++ tvision/classes/x11/x11src.cc 2017-07-15 08:35:27.949409851 +0000
+@@ -2541,8 +2541,8 @@
+ else
+ {
+ unsigned target=fW*fH;
+- int dif1=abs(8*16-target);
+- int dif2=abs(10*20-target);
++ int dif1=abs(8*16-(int)(target));
++ int dif2=abs(10*20-(int)(target));
+ if (dif1<dif2)
+ nFont=&font8x16;
+ else