aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2021-02-14 07:06:01 +0100
committerSören Tempel <soeren+git@soeren-tempel.net>2021-02-14 15:28:06 +0100
commit67c8dce31a0b319c09da220770e1b28d1aba4bde (patch)
treeea7e0bbf7f59a700ff159fae3b25dab6f0afd2a5
parent8e6bfd383773942ff8e258a84544025ddf150957 (diff)
main/tig: fix printing of time_t values on 32 bit arches
See: https://github.com/jonas/tig/issues/1084
-rw-r--r--main/tig/APKBUILD8
-rw-r--r--main/tig/time_t.patch33
2 files changed, 38 insertions, 3 deletions
diff --git a/main/tig/APKBUILD b/main/tig/APKBUILD
index d53aad06a9e..88069cc6129 100644
--- a/main/tig/APKBUILD
+++ b/main/tig/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=tig
pkgver=2.5.2
-pkgrel=0
+pkgrel=1
pkgdesc="Text-mode interface for the git revision control system"
url="https://jonas.github.io/tig/"
arch="all"
@@ -11,7 +11,8 @@ options="!check" # Tests are broken
depends="git"
makedepends="ncurses-dev xmlto asciidoc"
subpackages="$pkgname-doc"
-source="https://github.com/jonas/tig/releases/download/tig-$pkgver/tig-$pkgver.tar.gz"
+source="https://github.com/jonas/tig/releases/download/tig-$pkgver/tig-$pkgver.tar.gz
+ time_t.patch"
build() {
./configure \
@@ -28,4 +29,5 @@ package() {
make DESTDIR="$pkgdir" install install-doc-man
}
-sha512sums="9ba503d69fe52ce717bac66b4f0147b4d073cf2993083c4837b2383c6b74f5f3884e98d6f701ff1a5d434f7a898774e0243010ead0561bb119a98b52f3a10179 tig-2.5.2.tar.gz"
+sha512sums="9ba503d69fe52ce717bac66b4f0147b4d073cf2993083c4837b2383c6b74f5f3884e98d6f701ff1a5d434f7a898774e0243010ead0561bb119a98b52f3a10179 tig-2.5.2.tar.gz
+de59929cfcf32457fd0a1aa884b73a182c8af37c928e1a48902c54369f67ecfd05f3cc508adfeb26adb70f5b12e013cfad907618a536ef50f4705b89ef699d87 time_t.patch"
diff --git a/main/tig/time_t.patch b/main/tig/time_t.patch
new file mode 100644
index 00000000000..6e4b1770d6b
--- /dev/null
+++ b/main/tig/time_t.patch
@@ -0,0 +1,33 @@
+Since musl 1.2 time_t is a 64 bit value, even on 32 bit systems. A
+hotfix for printing the value is simply using PRId64 from inttypes.h
+in the format string.
+
+See: https://github.com/jonas/tig/issues/1084
+
+diff -upr tig-2.5.2.orig/src/util.c tig-2.5.2/src/util.c
+--- tig-2.5.2.orig/src/util.c 2021-02-14 13:03:52.467947432 +0100
++++ tig-2.5.2/src/util.c 2021-02-14 13:04:22.911283635 +0100
+@@ -11,6 +11,8 @@
+ * GNU General Public License for more details.
+ */
+
++#include <inttypes.h>
++
+ #include "tig/tig.h"
+ #include "tig/util.h"
+
+@@ -160,12 +162,12 @@ get_relative_date(const struct time *tim
+
+ seconds /= reldate[i].in_seconds;
+ if (compact) {
+- if (!string_nformat(buf, buflen, NULL, "%s%ld%c",
++ if (!string_nformat(buf, buflen, NULL, "%s%"PRId64"%c",
+ now.tv_sec >= timestamp ? "" : "-",
+ seconds, reldate[i].compact_symbol))
+ return "";
+
+- } else if (!string_nformat(buf, buflen, NULL, "%ld %s%s %s",
++ } else if (!string_nformat(buf, buflen, NULL, "%"PRId64" %s%s %s",
+ seconds, reldate[i].name,
+ seconds > 1 ? "s" : "",
+ now.tv_sec >= timestamp ? "ago" : "ahead"))