From 4d0d1831c34e2d121896d66302ac44463180e36e Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Sun, 22 Dec 2019 23:15:00 +0000
Subject: system/cvs: add depressingly sad and feeble patch to force time64
 build

---
 system/cvs/APKBUILD          |  4 +++-
 system/cvs/time64-hack.patch | 18 ++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 system/cvs/time64-hack.patch

(limited to 'system/cvs')

diff --git a/system/cvs/APKBUILD b/system/cvs/APKBUILD
index ce49a2854..6f5a99846 100644
--- a/system/cvs/APKBUILD
+++ b/system/cvs/APKBUILD
@@ -13,6 +13,7 @@ makedepends="zlib-dev"
 subpackages="$pkgname-doc"
 source="https://ftp.gnu.org/non-gnu/cvs/source/feature/$pkgver/$pkgname-$pkgver.tar.gz
 	CVE-2017-12836.patch
+	time64-hack.patch
 	"
 
 # secfixes:
@@ -43,4 +44,5 @@ package() {
 }
 
 sha512sums="acd658b7ffa29a67e33f294073a0f80a27aa4e19dc2185cfa43f862d34e511bcf9802012b8e6957f82c7532fdabbb058b33686e0e6046cdd1f1aa9af619e92e9  cvs-1.12.13.tar.gz
-717e2839e38a60413071f9deef1292916d3c91544a87e7f83a37668bb09172fa7ee3ce7777e9bc474e34875e79dffc357952aa4100efb030a676ef14fa365b4c  CVE-2017-12836.patch"
+717e2839e38a60413071f9deef1292916d3c91544a87e7f83a37668bb09172fa7ee3ce7777e9bc474e34875e79dffc357952aa4100efb030a676ef14fa365b4c  CVE-2017-12836.patch
+28370ee8a56dc2896aefcf4d3a779cba3bc76beeeaaf296ffe749bd62e276c3a74612753902fc80cdf7ca0702451524e67e0bc0b82583bc449f4d02da97993ee  time64-hack.patch"
diff --git a/system/cvs/time64-hack.patch b/system/cvs/time64-hack.patch
new file mode 100644
index 000000000..70ad8f54f
--- /dev/null
+++ b/system/cvs/time64-hack.patch
@@ -0,0 +1,18 @@
+This is a terrible kludge to force CVS to build on 32-bit machines with time64.
+
+We really need to figure out a way to bring one of the BSD forks of CVS in so
+that we can have a better, safer way to handle this before Y2038.
+
+--- cvs-1.12.13/lib/mktime.c.old	2005-09-19 16:16:56.000000000 +0000
++++ cvs-1.12.13/lib/mktime.c	2019-12-22 22:59:47.409697542 +0000
+@@ -167,8 +167,8 @@
+ 	    int year0, int yday0, int hour0, int min0, int sec0)
+ {
+   verify (C99_integer_division, -1 / 2 == 0);
+-  verify (long_int_year_and_yday_are_wide_enough,
+-	  INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX);
++  /*verify (long_int_year_and_yday_are_wide_enough,
++	  INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX);*/
+ 
+   /* Compute intervening leap days correctly even if year is negative.
+      Take care to avoid integer overflow here.  */
-- 
cgit v1.2.3-70-g09d2