summaryrefslogtreecommitdiff
path: root/dev-libs/tvision
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-libs/tvision
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-libs/tvision')
-rw-r--r--dev-libs/tvision/Manifest14
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch45
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch30
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch11
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch11
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch21
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch147
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch15
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch41
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch14
-rw-r--r--dev-libs/tvision/metadata.xml8
-rw-r--r--dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild52
12 files changed, 409 insertions, 0 deletions
diff --git a/dev-libs/tvision/Manifest b/dev-libs/tvision/Manifest
new file mode 100644
index 000000000000..708327385db3
--- /dev/null
+++ b/dev-libs/tvision/Manifest
@@ -0,0 +1,14 @@
+AUX tvision-2.1.0_pre2-asneeded.patch 1908 SHA256 122c7418b699850c96264def2f1d06970fa741a9b5b95e5fb3a6279debf9f275 SHA512 673532f787496598498a179b6a59518e6e24bc63d45223b42660592e27afb37f0bb8102c7f791b645d1e809f9ffcdf065db580a683b8119fa574e3ada978b2f1 WHIRLPOOL a7342fc66462cc0a4b1cbf6bb4399f93f016b21a7b377c59676cc1f9248a19c053ccc255eb8bb80fb0f6a63dbc6a1846313442ef3a175a6d4aace171281b497b
+AUX tvision-2.1.0_pre2-build-system.patch 1102 SHA256 b13fc448443a6eed1bc3d24cea33b3972fa6b63b465573bf9e6343ab29f6ad59 SHA512 5459a69aeb70fff0832a9b24c80020ef63c535e942a8767888509f7a3e6ae8dd845a4d81a36d0be9335ec9dd7cbeb688fbb315737c9d748e1d0be66a46f20ede WHIRLPOOL 1979fdcc37677ac4d2766cd2b60834621294cdeab8c6784eb3cf5f0870c5983c967e905f75f988fe1ba8702fb1dd0cd5ca57d62ec3ecdde5010625e08c56a95e
+AUX tvision-2.1.0_pre2-flags.patch 335 SHA256 fd985d9ecf8d3ca129184a908f663235cf25689664d5aeb5b5c865c39665bbd9 SHA512 3537bf54649dee2eb1b245c446ffdd07e1123f08724567ccbab008a5df9fd8c93e47e654ef7da35199fa05e032a731dc4b777bd35685b8aa756ed5541a773588 WHIRLPOOL cf49b0576d8261f3f93f09bf696a68f8410e2b9e28919df2912e2a0f2f9e39f5d0dd0a10b06a177a727d4f29924b7c60a81737294985be8cc278a5f898822a8b
+AUX tvision-2.1.0_pre2-gcc41.patch 265 SHA256 793a9468a9dfaa6f5361c840fd251dc8b3b021af3a8d30b3c2468dc63c3d99f8 SHA512 89b6130c6e62c55b8c6f0b380672cc5e305e2f6eedc3b4cd3bd511e0959727aa7445c5999dbc3fbc9d651ed67620600d56f40e3701c8d649f7d12bf1e0a0f4d9 WHIRLPOOL 9d6748404bba4d9a63b96a3359b3bb83244a1abaf46e727cfa56d15826a184b151942fd4a147cc6e39a7f814e4085197ac412c52c00ecbe71c6f5a1d5d0b02ef
+AUX tvision-2.1.0_pre2-gcc44.patch 438 SHA256 d9eff264614455977f57c01f1a7ba910e7cb52b01fc3006af2cfad8bd3e8616c SHA512 203181e2e110e93fa082cf351333e6b662bd2236fa3aeafe546cc83edd5e8ae639769fa3e60350d1d7f5466b82db840e313c3637c7f5e5c414f8638127ac14d4 WHIRLPOOL 94f622732ead77625e8ee5b7f9d49d3e98231d0b0118e2f69970e7ddeee294e502f35c66109ef446030a40f71822ed9e28a6dac417ac9a53fa1d74ebeef42d52
+AUX tvision-2.1.0_pre2-gcc6.patch 4891 SHA256 e2f178cf0fca76ff9eddfa989f3fccb3745db34bb99ff3e3123ec0125ae8245e SHA512 cba8d6f16e10e8821be6c255ae156760030c725dda279537180ac66ae2dfdee28aa286c2a93653b77f666ddc28ad3e4440b9f58449f81d5d8f2dbfb0060964f1 WHIRLPOOL ae34cb88eb90346ab5f0f195e77a8cf2cc294a50c023ceb77682eabaf97cca2a562314824c5237b218cb72529a9504500fe8f379aa56f69f3de98af980581174
+AUX tvision-2.1.0_pre2-ldconfig.patch 522 SHA256 d4e49210ec46268e0dbcfaa50a37cd1148b2a51a9f56ae80e25ce6ff9543ce3e SHA512 d54daf2946007f43a4777571e89cc4670fd0124f28d82471de7d4010a84878fd08923e952e9cca9b08938b45e1e367e268c967f1afd12c25f50cac75e591fcf4 WHIRLPOOL c0fbf91dc9110f5ac5814cf5c256fe1d14a6c42b0e684f5619e729b2fbb90af9f8a2b2a9d039839ae7a3b928eedfe5dc4ee40923d0c5ef1defa82b143071347b
+AUX tvision-2.1.0_pre2-outb.patch 954 SHA256 37f615cbd8921425cad25c3762258de5f6f2e928cf29664ddb932e4b7a769fd6 SHA512 bb9cf5ac414f02d008aac345299d1a0701103bc044e637cdf4be5181fabcc7c4851ee6d569f91d86a8c9ff1134e32db36f3efaf5242e528b091c029a489d1fd7 WHIRLPOOL 1416a251fac60db6dd2a2629af039455750ec7dff0e35633cc19d25d60fce4286f0648f626325b39b810a8bab86f3641f124568d5b3fefd0e77d5b3d018f4233
+AUX tvision-2.1.0_pre2-underflow.patch 279 SHA256 17c559af76e266d9571bc3f811922ab2a15935b0f0213b03a7f2f12862506a9e SHA512 aec060b923adc3c98f21ca659eb26f3c3cbd5164c1287a1e61e4a5d34ba6dc609cc352a465f937b851d63379a8682f44a199e64822f1d590042d75a120a42bda WHIRLPOOL 9f75d756c7b689d081d1cf712d43d7ba32a751d2ee8315864180c3a8235d4c06e1e5c531044c4c0b97064288f7223b27e8331aa2b5447308a7fe983fc7fdb614
+DIST rhtvision_2.1.0-2.tar.gz 1590449 SHA256 fef19d839069dea2cd5459f24a190883a3b2b600a60d6f7823f456d8e6889412 SHA512 0593cd2eee9490d5cd6e79a6b8f4c0b384f78e5bb24b0728876fb9df482a43ee97c141d89127254210b4e012970327adfc5c8815d7c3c580a6d54a09291d42a1 WHIRLPOOL 5ce2e0bd7eb161aaef520a3bfafde7146784ac5a9d528ce73a51f502b23d790f42caeee5028508a8902615dfa31e295a988daef341f3fa3f6bb1c360b4b90d2b
+EBUILD tvision-2.1.0_pre2-r4.ebuild 1227 SHA256 1370e761b90e377d891f0770c10c81263c2afd161a7bac074e69c1a3a9e01a25 SHA512 353c2c6d4fa810a561a1554cd9094256a896da6f85c92319fe8177f17c0f495222179e8fc22df2562ab3a7e5010f8ffa0f378711170cffa73ccfeb1277c205fb WHIRLPOOL eba5312c0664782ded0c9e0630b5ae623f531d5f826a7d47a079f637cb6488d06505ed47a20a3ee316f4bbb096677b2ac7574225a39aecf073cdb5e2bf362518
+MISC ChangeLog 2834 SHA256 4ad79278b4dc55b9fe1c33cefd2b8db9098a2741ad9ddd0c0fa5ff6d0c363b86 SHA512 096d382c28bfe5e71feb29757fcbc107211f7142aa536d3d731a8babd15f11e8484520edc24dc2089e054cc0e16350e31837df75df08a9076a41d6ff9a4773d1 WHIRLPOOL d9afd955062e9c895c3ceb873d919a6353249ac721ce48212be19bcfcaccde994d83ac79a74bc174a2ccc5e92e9f5a4f9ac69ce655f0b94238e16678fb34b414
+MISC ChangeLog-2015 4694 SHA256 9c33dd17370ab90122a9489c06ea8a5619e0a7e907700bd13ebb47bf3c47ba7a SHA512 33017e664f20d20287d96d650564819a7c014aec6b8a0b301f6151f421eaa6bfac27297a95ffb53b8bae28cbc49f09f6f7c1d2e9e14dff9c03946da908b86d19 WHIRLPOOL 97a7798d4993b250005f353dbd2ac0bcf61e7bb72fcad0778344ba88982efbd1e4380f4819cc82e02e6edce5f7faffccda66b732142f979024c83f06bbe3e0c4
+MISC metadata.xml 244 SHA256 d765081d441ca986fd163ea1782a5a9a0bbb6e70d70d429c420cffe090e716d4 SHA512 dfcd52de94a376364f43c7ef81e7c86af22a20896050fb7390542c473c9dd6bdffe8247361f51d081a45e15a016c9514f294b17a52501b34b8d412cdb263c976 WHIRLPOOL dbaf7a5504a96821aa3480a8d5bb47f2fece60634da6f6f9db65af00c6db6240becf88bdfc66b1881a012a7e1d657d17c9404c977e6dc6404c9a60d5ab3293f6
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch
new file mode 100644
index 000000000000..314ab225f051
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch
@@ -0,0 +1,45 @@
+--- tvision/config.pl
++++ tvision/config.pl
+@@ -206,6 +206,7 @@
+ }
+ # Flags to link as a dynamic lib
+ $MakeDefsRHIDE[6]='RHIDE_LDFLAGS=';
++$MakeDefsRHIDE[7]='RHIDE_LIBS=';
+ if ($OS eq 'UNIX')
+ {
+ if ($OSf ne 'Darwin')
+@@ -229,15 +230,15 @@
+ }
+ $libs=$conf{'X11Lib'};
+ $libs=~s/(\S+)/-l$1/g;
+- $MakeDefsRHIDE[6].=" -L".$conf{'X11LibPath'}." $libs" if @conf{'HAVE_X11'} eq 'yes';
++ $MakeDefsRHIDE[7].=" -L".$conf{'X11LibPath'}." $libs" if @conf{'HAVE_X11'} eq 'yes';
+- $MakeDefsRHIDE[6].=' -lgpm' if @conf{'HAVE_GPM'} eq 'yes';
++ $MakeDefsRHIDE[7].=' -lgpm' if @conf{'HAVE_GPM'} eq 'yes';
+- $MakeDefsRHIDE[6].=(($OSf eq 'QNXRtP') ? ' -lncursesS' : ' -lncurses') unless $conf{'ncurses'} eq 'no';
++ $MakeDefsRHIDE[7].=(($OSf eq 'QNXRtP') ? ' -lncursesS' : ' -lncurses') unless $conf{'ncurses'} eq 'no';
+- $MakeDefsRHIDE[6].=" $stdcxx -lm -lc";
++ $MakeDefsRHIDE[7].=" $stdcxx -lm -lc";
+- $MakeDefsRHIDE[6].=' -lpthread' if $conf{'HAVE_LINUX_PTHREAD'} eq 'yes';
++ $MakeDefsRHIDE[7].=' -lpthread' if $conf{'HAVE_LINUX_PTHREAD'} eq 'yes';
+- $MakeDefsRHIDE[6].=' libtvfintl.a' if ($OSf eq 'Darwin') && $UseDummyIntl;
++ $MakeDefsRHIDE[7].=' libtvfintl.a' if ($OSf eq 'Darwin') && $UseDummyIntl;
+ }
+-$MakeDefsRHIDE[7]="LIB_VER=$Version";
++$MakeDefsRHIDE[8]="LIB_VER=$Version";
+-$MakeDefsRHIDE[8]="LIB_VER_MAJOR=$VersionMajor";
++$MakeDefsRHIDE[9]="LIB_VER_MAJOR=$VersionMajor";
+
+ ModifyMakefiles('intl/dummy/Makefile');
+ CreateRHIDEenvs('examples/rhide.env','makes/rhide.env','compat/rhide.env');
+--- tvision/makes/common.imk
++++ tvision/makes/common.imk
+@@ -54,7 +54,7 @@
+ C_EXTRA_FLAGS=$(SHARED_CODE_OPTION)
+ RHIDE_COMPILE_ARCHIVE=$(RHIDE_LD) $(RHIDE_LIBDIRS) $(LDFLAGS) \
+ $(RHIDE_LDFLAGS) $(C_EXTRA_FLAGS) -o $(OUTFILE) \
+- $(OBJFILES)
++ $(OBJFILES) $(addprefix -l,$(RHIDE_OS_LIBS))
+ else
+ RHIDE_COMPILE_ARCHIVE=$(RHIDE_AR) $(RHIDE_ARFLAGS) $(OUTFILE)\
+ $(ALL_PREREQ)
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch
new file mode 100644
index 000000000000..8ba26208948a
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch
@@ -0,0 +1,30 @@
+index 8b78ba3..92aa570 100644
+--- a/config.pl
++++ b/config.pl
+@@ -1111,7 +1111,7 @@ sub GenerateMakefile
+ $rep.="\t\$(MAKE) prefix=\$(prefix) -C intl\n";
+ }
+ $text=~s/\@target_rules\@/$rep/g;
+- $rep="intl-dummy:\n\t\$(MAKE) -C intl/dummy\n";
++ $rep="intl-dummy:\n\t\$(MAKE) prefix=\$(prefix) -C intl/dummy\n";
+ $rep.="\tcp intl/dummy/libtvfintl.a $makeDir\n";
+ $rep.="\tranlib $makeDir/libtvfintl.a\n" if $conf{'UseRanLib'};
+ $text=~s/\@intl_dummy_rule\@/$rep/g;
+@@ -1196,7 +1196,7 @@ sub GenerateMakefile
+ }
+ if ($internac)
+ {
+- $rep.="\ninstall-internac:\n\t\$(MAKE) -C intl install\n";
++ $rep.="\ninstall-internac:\n\t\$(MAKE) prefix=\$(prefix) -C intl install\n";
+ }
+ $text=~s/\@install_rules\@/$rep/g;
+
+@@ -1216,7 +1216,7 @@ sub GenerateMakefile
+ $rep.="\trm -f intl/dummy/*.lo\n";
+ $rep.="\trm -f intl/dummy/*.a\n";
+ $rep.="\t-\$(MAKE) -C examples clean\n";
+- $rep.="\t-\$(MAKE) -C intl clean\n";
++ $rep.="\t-\$(MAKE) prefix=\$(prefix) -C intl clean\n";
+ $rep.="\trm -f configure.cache\n";
+ $rep.="\trm -f rhtv-config\$(EXE_EXT)\n";
+ $text=~s/\@clean\@/$rep/g;
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch
new file mode 100644
index 000000000000..e74b09ee57d0
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch
@@ -0,0 +1,11 @@
+--- tvision/Makefile.in
++++ tvision/Makefile.in
+@@ -31,7 +31,7 @@ examples:
+ $(MAKE) -C examples
+
+ rhtv-config$(EXE_EXT): rhtv-config.c include/tv/configtv.h
+- @GCC@ -o rhtv-config$(EXE_EXT) -Iinclude rhtv-config.c
++ @GCC@ -o rhtv-config$(EXE_EXT) $(CFLAGS) $(LDFLAGS) -Iinclude rhtv-config.c
+
+ install-headers:
+ @install_headers@
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch
new file mode 100644
index 000000000000..36246b214f99
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch
@@ -0,0 +1,11 @@
+--- tvision/include/tv/inputln.h
++++ tvision/include/tv/inputln.h
+@@ -201,7 +201,7 @@
+ { return name; }
+
+ protected:
+- TInputLine::TInputLine(StreamableInit) :
++ TInputLine(StreamableInit) :
+ TInputLineBaseT<char,TDrawBuffer>(streamableInit) {}
+
+ public:
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch
new file mode 100644
index 000000000000..40911f3a3e29
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch
@@ -0,0 +1,21 @@
+--- tvision/classes/ipstream.cc
++++ tvision/classes/ipstream.cc
+@@ -19,6 +19,7 @@
+ *
+ */
+ #include <assert.h>
++#include <stdio.h>
+ #define Uses_string
+ #define Uses_TStreamable
+ #define Uses_TStreamableClass
+--- tvision/include/tv/textdev.h
++++ tvision/include/tv/textdev.h
+@@ -16,6 +16,8 @@
+ #if defined( Uses_TTextDevice ) && !defined( __TTextDevice )
+ #define __TTextDevice
+
++#include <stdio.h>
++
+ class TRect;
+ class TScrollBar;
+
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch
new file mode 100644
index 000000000000..8570bb04222e
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch
@@ -0,0 +1,147 @@
+Fix gcc-6 compilation errors; bug 594176
+
+--- a/classes/tdesktop.cc
++++ b/classes/tdesktop.cc
+@@ -26,6 +26,10 @@ Modified cursor behavior while desktop locked by Salvador E. Tropea (SET)
+ #define Uses_TVCodePage
+ #include <tv.h>
+
++#include <cmath>
++
++using std::abs;
++
+ TDeskInit::TDeskInit( TBackground *(*cBackground)( TRect ) ) :
+ createBackground( cBackground )
+ {
+--- a/classes/tdisplay.cc
++++ b/classes/tdisplay.cc
+@@ -22,6 +22,10 @@ same used in original Turbo Vision for compatibility purposes.
+ #define Uses_TVCodePage
+ #include <tv.h>
+
++#include <cmath>
++
++using std::abs;
++
+ // Remove me please!
+ int TDisplay::dual_display=0;
+
+--- a/classes/tvtext1.cc
++++ b/classes/tvtext1.cc
+@@ -110,8 +110,8 @@
+ char TCheckBoxes::button[] = " [ ] ";
+ char TCheckBoxes::obutton[] = " [ ] ";
+
+-TScrollChars TScrollBar::vChars = {30, 31, 177, 254, 178};
+-TScrollChars TScrollBar::ovChars = {30, 31, 177, 254, 178};
+-TScrollChars TScrollBar::hChars = {17, 16, 177, 254, 178};
+-TScrollChars TScrollBar::ohChars = {17, 16, 177, 254, 178};
++TScrollChars TScrollBar::vChars = {30, 31, (char) 177, (char) 254, (char) 178};
++TScrollChars TScrollBar::ovChars = {30, 31, (char) 177, (char) 254, (char) 178};
++TScrollChars TScrollBar::hChars = {17, 16, (char) 177, (char) 254, (char) 178};
++TScrollChars TScrollBar::ohChars = {17, 16, (char) 177, (char) 254, (char) 178};
+
+--- a/classes/x11/x11src.cc
++++ b/classes/x11/x11src.cc
+@@ -94,6 +94,10 @@
+ #define TIMER_ALARM SIGALRM
+ #endif
+
++#include <cmath>
++
++using std::abs;
++
+ const unsigned foWmin=5, foHmin=7, foWmax=20, foHmax=32;
+ const int cursorDelay=300000;
+
+@@ -2555,49 +2559,49 @@ Cursor TScreenX11::busyCursor,
+ TScreenX11::leftPtr;
+ char TScreenX11::busyCursorMap[]=
+ {
+- 0xff, 0xff, 0xff, 0x1f,
+- 0xfd, 0xff, 0xff, 0x1f,
+- 0xf9, 0xff, 0xff, 0x1f,
+- 0xf1, 0xff, 0xff, 0x1f,
+- 0xe1, 0x7f, 0xc0, 0x1f,
+- 0xc1, 0x7f, 0xc0, 0x1f,
+- 0x81, 0x3f, 0x80, 0x1f,
+- 0x01, 0x9f, 0x3b, 0x1f,
+- 0x01, 0xce, 0x7b, 0x1e,
+- 0xc1, 0xef, 0xfb, 0x1e,
+- 0xc9, 0xef, 0xf1, 0x18,
+- 0x9d, 0xef, 0xf1, 0x18,
+- 0x9f, 0xef, 0xfe, 0x18,
+- 0x3f, 0x6f, 0xff, 0x1e,
+- 0x3f, 0xcf, 0x7f, 0x1e,
+- 0xff, 0x9f, 0x3f, 0x1f,
+- 0xff, 0x3f, 0x80, 0x1f,
+- 0xff, 0x7f, 0xc0, 0x1f,
+- 0xff, 0x7f, 0xc0, 0x1f,
+- 0xff, 0xff, 0xff, 0x1f
++ (char)0xff, (char)0xff, (char)0xff, (char)0x1f,
++ (char)0xfd, (char)0xff, (char)0xff, (char)0x1f,
++ (char)0xf9, (char)0xff, (char)0xff, (char)0x1f,
++ (char)0xf1, (char)0xff, (char)0xff, (char)0x1f,
++ (char)0xe1, (char)0x7f, (char)0xc0, (char)0x1f,
++ (char)0xc1, (char)0x7f, (char)0xc0, (char)0x1f,
++ (char)0x81, (char)0x3f, (char)0x80, (char)0x1f,
++ (char)0x01, (char)0x9f, (char)0x3b, (char)0x1f,
++ (char)0x01, (char)0xce, (char)0x7b, (char)0x1e,
++ (char)0xc1, (char)0xef, (char)0xfb, (char)0x1e,
++ (char)0xc9, (char)0xef, (char)0xf1, (char)0x18,
++ (char)0x9d, (char)0xef, (char)0xf1, (char)0x18,
++ (char)0x9f, (char)0xef, (char)0xfe, (char)0x18,
++ (char)0x3f, (char)0x6f, (char)0xff, (char)0x1e,
++ (char)0x3f, (char)0xcf, (char)0x7f, (char)0x1e,
++ (char)0xff, (char)0x9f, (char)0x3f, (char)0x1f,
++ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f,
++ (char)0xff, (char)0x7f, (char)0xc0, (char)0x1f,
++ (char)0xff, (char)0x7f, (char)0xc0, (char)0x1f,
++ (char)0xff, (char)0xff, (char)0xff, (char)0x1f
+ };
+ char TScreenX11::busyCursorMask[]=
+ {
+- 0xfc, 0xff, 0xff, 0x1f,
+- 0xf8, 0xff, 0xff, 0x1f,
+- 0xf0, 0xff, 0xff, 0x1f,
+- 0xe0, 0x3f, 0x80, 0x1f,
+- 0xc0, 0x3f, 0x80, 0x1f,
+- 0x80, 0x3f, 0x80, 0x1f,
+- 0x00, 0x1f, 0x00, 0x1f,
+- 0x00, 0x0e, 0x00, 0x1e,
+- 0x00, 0x04, 0x00, 0x1c,
+- 0x00, 0x04, 0x00, 0x10,
+- 0x80, 0x07, 0x00, 0x10,
+- 0x08, 0x07, 0x00, 0x10,
+- 0x0c, 0x07, 0x00, 0x10,
+- 0x1f, 0x06, 0x00, 0x10,
+- 0x1f, 0x06, 0x00, 0x1c,
+- 0x3f, 0x0f, 0x00, 0x1e,
+- 0xff, 0x1f, 0x00, 0x1f,
+- 0xff, 0x3f, 0x80, 0x1f,
+- 0xff, 0x3f, 0x80, 0x1f,
+- 0xff, 0x3f, 0x80, 0x1f
++ (char)0xfc, (char)0xff, (char)0xff, (char)0x1f,
++ (char)0xf8, (char)0xff, (char)0xff, (char)0x1f,
++ (char)0xf0, (char)0xff, (char)0xff, (char)0x1f,
++ (char)0xe0, (char)0x3f, (char)0x80, (char)0x1f,
++ (char)0xc0, (char)0x3f, (char)0x80, (char)0x1f,
++ (char)0x80, (char)0x3f, (char)0x80, (char)0x1f,
++ (char)0x00, (char)0x1f, (char)0x00, (char)0x1f,
++ (char)0x00, (char)0x0e, (char)0x00, (char)0x1e,
++ (char)0x00, (char)0x04, (char)0x00, (char)0x1c,
++ (char)0x00, (char)0x04, (char)0x00, (char)0x10,
++ (char)0x80, (char)0x07, (char)0x00, (char)0x10,
++ (char)0x08, (char)0x07, (char)0x00, (char)0x10,
++ (char)0x0c, (char)0x07, (char)0x00, (char)0x10,
++ (char)0x1f, (char)0x06, (char)0x00, (char)0x10,
++ (char)0x1f, (char)0x06, (char)0x00, (char)0x1c,
++ (char)0x3f, (char)0x0f, (char)0x00, (char)0x1e,
++ (char)0xff, (char)0x1f, (char)0x00, (char)0x1f,
++ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f,
++ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f,
++ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f
+ };
+
+ /* This is the function which creates cursors. On success it return
+
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch
new file mode 100644
index 000000000000..6d7d94fe8a0d
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch
@@ -0,0 +1,15 @@
+--- tvision/config.pl
++++ tvision/config.pl
+@@ -1193,12 +1193,6 @@
+ $rep.="\t".GenInstallFiles('0644',"$makeDir/$ver",'$(libdir)');
+ $stripDebug=($OSf eq 'Darwin') ? '-S' : '--strip-debug';
+ $rep.="\tstrip $stripDebug \$(libdir)/$ver\n" unless $conf{'debugInfo'} eq 'yes';
+- # FreeBSD: merge data from libdir.
+- # Darwin: doesn't have ldconfig.
+- if ($OSf ne 'Darwin')
+- {
+- $rep.=($OSf eq 'FreeBSD') ? "\t-ldconfig -m \$(libdir)\n" : "\t-ldconfig\n";
+- }
+ }
+ if ($internac)
+ {
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch
new file mode 100644
index 000000000000..0735f8ffeb77
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch
@@ -0,0 +1,41 @@
+Recent kernel headers no longer provide asm/io.h.
+
+--- tvision/classes/linux/linuxdis.cc
++++ tvision/classes/linux/linuxdis.cc
+@@ -300,7 +300,11 @@
+ *****************************************************************************/
+
+ #ifdef h386LowLevel
++#if HAVE_OUTB_IN_SYS
++#include <sys/io.h>
++#else
+ #include <asm/io.h>
++#endif
+
+ static inline
+ unsigned char I(unsigned char i)
+--- tvision/classes/linux/linuxscr.cc
++++ tvision/classes/linux/linuxscr.cc
+@@ -123,7 +123,11 @@
+ #include <tv/linux/log.h>
+
+ #ifdef h386LowLevel
++ #if HAVE_OUTB_IN_SYS
++ #include <sys/io.h>
++ #else
+ #include <asm/io.h>
++ #endif
+ #endif
+
+ // What a hell is that?!
+--- tvision/config.pl
++++ tvision/config.pl
+@@ -77,7 +77,7 @@
+ # glibc I use but the fact is that the needed tricks make it very Linux
+ # dependent.
+ LookForPThread() if $OSf eq 'Linux';
+- #LookForOutB();
++ LookForOutB();
+ }
+ if ($Compf eq 'Cygwin')
+ {# Cygwin incorporates a XFree86 port
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch
new file mode 100644
index 000000000000..d693a359a6cf
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch
@@ -0,0 +1,14 @@
+Bug #160591; fixes a buffer underflow.
+Reported by B Douglas Hilton <b.d.hilton@verizon.net>
+
+--- tvision/classes/ttermina.cc
++++ tvision/classes/ttermina.cc
+@@ -233,7 +233,7 @@
+ }
+ }
+ }
+- while (pos-->=queBack);
++ while (pos-->queBack);
+
+ return queBack;
+ }
diff --git a/dev-libs/tvision/metadata.xml b/dev-libs/tvision/metadata.xml
new file mode 100644
index 000000000000..ae4bd97fa26b
--- /dev/null
+++ b/dev-libs/tvision/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">tvision</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild b/dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild
new file mode 100644
index 000000000000..1bac9ca9f3f8
--- /dev/null
+++ b/dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Text User Interface that implements the well known CUA widgets"
+HOMEPAGE="http://tvision.sourceforge.net/"
+SRC_URI="mirror://sourceforge/tvision/rhtvision_${PV/_pre/-}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DOCS=( readme.txt THANKS TODO )
+
+HTML_DOCS=( www-site/. )
+
+S=${WORKDIR}/${PN}
+
+PATCHES=(
+ "${FILESDIR}/${P}-gcc41.patch"
+ "${FILESDIR}/${P}-outb.patch"
+ "${FILESDIR}/${P}-underflow.patch"
+ "${FILESDIR}/${P}-asneeded.patch"
+ "${FILESDIR}/${P}-gcc44.patch"
+ "${FILESDIR}/${P}-ldconfig.patch"
+ "${FILESDIR}/${P}-flags.patch"
+ "${FILESDIR}/${P}-gcc6.patch" # bug #594176
+ "${FILESDIR}/${P}-build-system.patch" # for EAPI=6
+)
+
+src_prepare() {
+ # Strip hunk from invalid characters for gcc6.patch
+ sed -e ":TScrollChars: s:; // \x1E\x1F\xB1\xFE\xB2:;:" \
+ -e ":TScrollChars: s:; // \x11\x10\xB1\xFE\xB2:;:" \
+ -i classes/tvtext1.cc || die
+ default
+}
+
+src_configure() {
+ ./configure --fhs || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install \
+ prefix="\${DESTDIR}/usr" \
+ libdir="\$(prefix)/$(get_libdir)"
+
+ einstalldocs
+ dosym rhtvision /usr/include/tvision
+}