From a92e43efbc78b4f7a6b601653f07fb80e1ebd25f Mon Sep 17 00:00:00 2001 From: Sören Tempel Date: Sat, 7 Dec 2019 21:42:04 +0100 Subject: main/ctags: switch from exuberant ctags to universal ctags Exuberant ctags is no longer maintained, universal ctags is used by some other distributions as well (e.g. Arch Linux). --- main/ctags/APKBUILD | 34 ++++++-------- main/ctags/CVE-2014-7204.patch | 102 ----------------------------------------- main/ctags/error-format.patch | 13 ------ 3 files changed, 15 insertions(+), 134 deletions(-) delete mode 100644 main/ctags/CVE-2014-7204.patch delete mode 100644 main/ctags/error-format.patch diff --git a/main/ctags/APKBUILD b/main/ctags/APKBUILD index c5c738d4e27..6291d5a7e0e 100644 --- a/main/ctags/APKBUILD +++ b/main/ctags/APKBUILD @@ -2,27 +2,29 @@ # Contributor: Michael Mason # Maintainer: Fabian Affolter pkgname=ctags -pkgver=5.8 -pkgrel=5 +pkgver=0_git20191207 +_commit=2ebf5b1bed1f8ce2f2cccec66e613cd33bcee571 +pkgrel=0 pkgdesc="Generator of tags for all types of C/C++ languages" -url="http://ctags.sourceforge.net/" +url="https://ctags.io/" arch="all" license="GPL-2.0" -depends="" -makedepends="" -install="" +makedepends="autoconf automake pkgconf py3-docutils" subpackages="$pkgname-doc" -source="https://prdownloads.sourceforge.net/ctags/$pkgname-$pkgver.tar.gz - CVE-2014-7204.patch - error-format.patch" -builddir="$srcdir"/$pkgname-$pkgver +source="$pkgname-$pkgver.tar.gz::https://github.com/universal-ctags/ctags/archive/$_commit.tar.gz" +builddir="$srcdir"/$pkgname-$_commit # secfixes: # 5.8-r5: # - CVE-2014-7204 -build() { +prepare() { + default_prepare cd "$builddir" + ./autogen.sh +} + +build() { ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -35,13 +37,7 @@ build() { } package() { - cd "$builddir" - mkdir -p "$pkgdir"/usr/bin - make -j1 DEST_CTAGS="$pkgdir"/usr/bin \ - mandir="$pkgdir"/usr/share/man \ - install + make DESTDIR="$pkgdir" install } -sha512sums="981912cd335978cde22864e977947fc75326572fb29518e559cc4a8ac1edc84b3604165218a666e36353f17da4f89f8e967acdb88696f816748eb946d79eaa15 ctags-5.8.tar.gz -7593aa9ca8857b09127a842752d214764734215b42b58c8a44e2a320b21b5a4923dd05a3d14a9053e570f07297d77b3d2fa8f5d41c500e9aadf993413a66be76 CVE-2014-7204.patch -bc861fa7fe401e5f5845c39d8ec714268898fafcd76afa54bebfc7965d4ef66e227e7bab80733c8f95a79a131b05fbdd4024d05139f2f9bd67914ff4c9e0e9b9 error-format.patch" +sha512sums="2e4fe3b3bf77e0456298f398a2e16cb3dd116da2c078e09884b8cd40d182a6cb07b88538713c890517535348fb1d9016b3dca46fa6f6a9b18fe784ec7b18ca30 ctags-0_git20191207.tar.gz" diff --git a/main/ctags/CVE-2014-7204.patch b/main/ctags/CVE-2014-7204.patch deleted file mode 100644 index baf036ffc9f..00000000000 --- a/main/ctags/CVE-2014-7204.patch +++ /dev/null @@ -1,102 +0,0 @@ -From a499a10833d525c9af794c616dc40f7425110c71 Mon Sep 17 00:00:00 2001 -From: Colin Watson -Date: Sat, 27 Sep 2014 14:37:19 +0100 -Subject: Changed the javascript parser to set the tag's scope rather than - including it in the tag name. - -Patch from Colomban. - -Author: David Fishburn -Origin: upstream, http://sourceforge.net/p/ctags/code/791/ -Bug-Debian: https://bugs.debian.org/742605 -Last-Update: 2014-09-27 - -Patch-Name: jscript-set-tag-scope.patch ---- - jscript.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 51 insertions(+), 3 deletions(-) - -diff --git a/jscript.c b/jscript.c -index 5de3367..a790355 100644 ---- a/jscript.c -+++ b/jscript.c -@@ -215,6 +215,7 @@ static void deleteToken (tokenInfo *const token) - * Tag generation functions - */ - -+/* - static void makeConstTag (tokenInfo *const token, const jsKind kind) - { - if (JsKinds [kind].enabled && ! token->ignoreTag ) -@@ -238,12 +239,13 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind) - - if (JsKinds [kind].enabled && ! token->ignoreTag ) - { -- /* -+ * - * If a scope has been added to the token, change the token - * string to include the scope when making the tag. -- */ -+ * - if ( vStringLength(token->scope) > 0 ) - { -+ * - fulltag = vStringNew (); - vStringCopy(fulltag, token->scope); - vStringCatS (fulltag, "."); -@@ -251,8 +253,54 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind) - vStringTerminate(fulltag); - vStringCopy(token->string, fulltag); - vStringDelete (fulltag); -+ * -+ jsKind parent_kind = JSTAG_CLASS; -+ -+ * -+ * if we're creating a function (and not a method), -+ * guess we're inside another function -+ * -+ if (kind == JSTAG_FUNCTION) -+ parent_kind = JSTAG_FUNCTION; -+ -+ e.extensionFields.scope[0] = JsKinds [parent_kind].name; -+ e.extensionFields.scope[1] = vStringValue (token->scope); -+ } -+ * makeConstTag (token, kind); * -+ makeTagEntry (&e); -+ } -+} -+*/ -+ -+static void makeJsTag (tokenInfo *const token, const jsKind kind) -+{ -+ if (JsKinds [kind].enabled && ! token->ignoreTag ) -+ { -+ const char *const name = vStringValue (token->string); -+ tagEntryInfo e; -+ initTagEntry (&e, name); -+ -+ e.lineNumber = token->lineNumber; -+ e.filePosition = token->filePosition; -+ e.kindName = JsKinds [kind].name; -+ e.kind = JsKinds [kind].letter; -+ -+ if ( vStringLength(token->scope) > 0 ) -+ { -+ jsKind parent_kind = JSTAG_CLASS; -+ -+ /* -+ * If we're creating a function (and not a method), -+ * guess we're inside another function -+ */ -+ if (kind == JSTAG_FUNCTION) -+ parent_kind = JSTAG_FUNCTION; -+ -+ e.extensionFields.scope[0] = JsKinds [parent_kind].name; -+ e.extensionFields.scope[1] = vStringValue (token->scope); - } -- makeConstTag (token, kind); -+ -+ makeTagEntry (&e); - } - } - diff --git a/main/ctags/error-format.patch b/main/ctags/error-format.patch deleted file mode 100644 index 61cf7a9d380..00000000000 --- a/main/ctags/error-format.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lregex.c b/lregex.c -index 59f5df6..f76aac0 100644 ---- a/lregex.c -+++ b/lregex.c -@@ -408,7 +408,7 @@ static void processLanguageRegex (const langType language, - const char* regexfile = parameter + 1; - FILE* const fp = fopen (regexfile, "r"); - if (fp == NULL) -- error (WARNING | PERROR, regexfile); -+ error (WARNING | PERROR, "%s", regexfile); - else - { - vString* const regex = vStringNew (); -- cgit v1.2.3