summaryrefslogtreecommitdiff
path: root/community/datemath
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-08-09 00:02:24 +0000
committerroot <root@rshg054.dnsready.net>2012-08-09 00:02:24 +0000
commita28736b03b50ff37ce2cd0fb2fa1ef2e37508108 (patch)
treead764bf5ccbcea902e6cd4d189364e0411bd67f8 /community/datemath
parentef815a5d80eecd4ba0679a376386741c374e0d1b (diff)
Thu Aug 9 00:02:24 UTC 2012
Diffstat (limited to 'community/datemath')
-rw-r--r--community/datemath/PKGBUILD11
-rw-r--r--community/datemath/y2k.patch29
2 files changed, 36 insertions, 4 deletions
diff --git a/community/datemath/PKGBUILD b/community/datemath/PKGBUILD
index a79868529..23688f4d4 100644
--- a/community/datemath/PKGBUILD
+++ b/community/datemath/PKGBUILD
@@ -1,21 +1,24 @@
-# $Id: PKGBUILD 65110 2012-02-20 04:48:43Z spupykin $
+# $Id: PKGBUILD 74846 2012-08-07 05:46:50Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Todd Musall <tmusall@comcast.net>
# Contributor: Todd Musall <tmusall@comcast.net>
pkgname=datemath
pkgver=2.0.10
-pkgrel=3
+pkgrel=4
pkgdesc="Command line date and time math utility."
arch=('i686' 'x86_64')
url="http://www.unixwiz.net/tools/datemath.html"
license=("GPL")
depends=('glibc')
-source=(http://www.unixwiz.net/tools/$pkgname.tar.gz)
-md5sums=('2c369d70a43313b71dbe3c7cc50207de')
+source=(http://www.unixwiz.net/tools/$pkgname.tar.gz
+ y2k.patch)
+md5sums=('2c369d70a43313b71dbe3c7cc50207de'
+ '87758503414a967f06566b94523fc010')
build() {
cd $srcdir
+ patch -Np0 <$srcdir/y2k.patch
make
install -D -m755 $srcdir/datemath $pkgdir/usr/bin/datemath
}
diff --git a/community/datemath/y2k.patch b/community/datemath/y2k.patch
new file mode 100644
index 000000000..4605ad505
--- /dev/null
+++ b/community/datemath/y2k.patch
@@ -0,0 +1,29 @@
+diff -Naur ../datemath/util.c ./util.c
+--- ../datemath/util.c 2004-03-06 18:27:59.000000000 +0100
++++ ./util.c 2012-08-01 09:37:30.767738221 +0200
+@@ -18,6 +18,7 @@
+ #include "defs.h"
+
+ int century19_year = 40; /* 0..39 = 2000 / 40..99 = 1999 */
++static int century; /* may not be 1900... */
+
+ /*
+ * jultoyymm()
+@@ -35,6 +36,8 @@
+
+ if (mdy[YY] < 1900) /* too early? */
+ mdy[YY] = 1900;
++
++ century = mdy[YY] / 100;
+
+ mdy[YY] %= 100; /* strip off 19xx */
+
+@@ -59,7 +62,7 @@
+ mdy[YY] = yymm / 100;
+ mdy[DD] = eflag ? daysinmm(mdy[MM], mdy[YY]) : 1;
+
+- mdy[YY] += 1900;
++ mdy[YY] += century * 100;
+
+ if (rv = rmdyjul(mdy, &jdate), rv < 0)
+ die("bad date conversion in yymmtojul-(%d)", rv);