aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/ctags/0001-lregex-fix-meaningless-type-mismatching-between-unsi.patch42
-rw-r--r--main/ctags/APKBUILD14
2 files changed, 47 insertions, 9 deletions
diff --git a/main/ctags/0001-lregex-fix-meaningless-type-mismatching-between-unsi.patch b/main/ctags/0001-lregex-fix-meaningless-type-mismatching-between-unsi.patch
new file mode 100644
index 00000000000..c74543acfe0
--- /dev/null
+++ b/main/ctags/0001-lregex-fix-meaningless-type-mismatching-between-unsi.patch
@@ -0,0 +1,42 @@
+From c2bd0a7e6caba9597e190fe4a8cfe0c8c128e72e Mon Sep 17 00:00:00 2001
+From: Masatake YAMATO <yamato@redhat.com>
+Date: Sun, 5 Jan 2020 13:54:50 +0900
+Subject: [PATCH] lregex: fix meaningless type mismatching between unsigned int
+ and unsigned long
+
+Partially close #2369.
+
+A pointer to unsigned int variable is passed to functions expecting
+a pointer to unsigned long variable.
+
+This didn't cause a trouble because the sizes of the types are the
+same on x86_64, the most popular platform. However, on s390x, they
+are different, and cause a trouble as reported in #2369.
+
+Signed-off-by: Masatake YAMATO <yamato@redhat.com>
+---
+ main/lregex.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/main/lregex.c b/main/lregex.c
+index 5e0745dd..243f4607 100644
+--- a/main/lregex.c
++++ b/main/lregex.c
+@@ -478,7 +478,7 @@ static flagDefinition prePtrnFlagDef[] = {
+ static void scope_ptrn_flag_eval (const char* const f CTAGS_ATTR_UNUSED,
+ const char* const v, void* data)
+ {
+- unsigned long *bfields = data;
++ unsigned int *bfields = data;
+
+ if (strcmp (v, "ref") == 0)
+ *bfields |= SCOPE_REF;
+@@ -497,7 +497,7 @@ static void scope_ptrn_flag_eval (const char* const f CTAGS_ATTR_UNUSED,
+ static void placeholder_ptrn_flag_eval (const char* const f CTAGS_ATTR_UNUSED,
+ const char* const v CTAGS_ATTR_UNUSED, void* data)
+ {
+- unsigned long *bfields = data;
++ unsigned int *bfields = data;
+ *bfields |= SCOPE_PLACEHOLDER;
+ }
+
diff --git a/main/ctags/APKBUILD b/main/ctags/APKBUILD
index 32c198a4450..a613d253c00 100644
--- a/main/ctags/APKBUILD
+++ b/main/ctags/APKBUILD
@@ -4,7 +4,7 @@
pkgname=ctags
pkgver=0_git20191207
_commit=2ebf5b1bed1f8ce2f2cccec66e613cd33bcee571
-pkgrel=0
+pkgrel=1
pkgdesc="Generator of tags for all types of C/C++ languages"
url="https://ctags.io/"
arch="all"
@@ -12,15 +12,10 @@ license="GPL-2.0-or-later"
checkdepends="diffutils python"
makedepends="autoconf automake pkgconf py3-docutils"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/universal-ctags/ctags/archive/$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/universal-ctags/ctags/archive/$_commit.tar.gz
+ 0001-lregex-fix-meaningless-type-mismatching-between-unsi.patch"
builddir="$srcdir"/$pkgname-$_commit
-# FIXME: Tests curerntly fail on s390x
-# See: https://github.com/universal-ctags/ctags/issues/2369
-case "$CARCH" in
-s390x) options="!check" ;;
-esac
-
# secfixes:
# 5.8-r5:
# - CVE-2014-7204
@@ -56,4 +51,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2e4fe3b3bf77e0456298f398a2e16cb3dd116da2c078e09884b8cd40d182a6cb07b88538713c890517535348fb1d9016b3dca46fa6f6a9b18fe784ec7b18ca30 ctags-0_git20191207.tar.gz"
+sha512sums="2e4fe3b3bf77e0456298f398a2e16cb3dd116da2c078e09884b8cd40d182a6cb07b88538713c890517535348fb1d9016b3dca46fa6f6a9b18fe784ec7b18ca30 ctags-0_git20191207.tar.gz
+e5c636eaa0bb6371d0ba54fc9777d3f3e488a03baf380509389c6d0488c19dd23eba5dc787d2d6bab13007cfe98ed17dfed5078ea7b94398afebbe5e64a3b6cf 0001-lregex-fix-meaningless-type-mismatching-between-unsi.patch"