Package Details: ctags-git 5.9.20220417.0.r9.gb35f157c4-1

Git Clone URL: (read-only, click to copy)
Package Base: ctags-git
Description: Generates an index (or tag) file of language objects found in source files
Upstream URL:
Licenses: GPL
Conflicts: ctags
Provides: ctags
Submitter: polyzen
Maintainer: haawda
Last Packager: haawda
Votes: 61
Popularity: 0.23
First Submitted: 2021-01-14 17:35 (UTC)
Last Updated: 2022-04-19 12:57 (UTC)

Required by (70)

Sources (1)

Latest Comments

mattematt commented on 2021-07-03 15:01 (UTC)

There seems to be some kind of version mismatch with this package. On the AUR it says it is version 5.9.20210110.0.r12.g14609424-1 but when you install it you get version ctags-git-5.9.20210627.0.r0.gc436bca61-1 I have tried updating manually, using yay AUR helper, and deleting and reinstalling, and they all show the same issue

Felixoid commented on 2021-02-02 11:18 (UTC)

Hello. I kindly ask you to update the description of the package. It would be nice to include the note about included universal-ctags patches.

polyzen commented on 2020-12-01 03:29 (UTC)

Cannot reproduce with makepkg -Cisr.

darnir commented on 2020-11-25 00:36 (UTC)

Cannot build this package if BUILDDIR is set in makepkg.conf. One ends up with the same error as reported by @static_n00b

static_n00b commented on 2020-10-20 22:44 (UTC)

@polyzen: strange, I've installed quite a few AUR packages using pacaur

here's a partial log of pacaur -Syu universal-ctags-git (invoked after pacaur Sc):

:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
 sublime-text is up to date
:: Starting full system upgrade...
 there is nothing to do
:: Package universal-ctags-git not found in repositories, trying AUR...
:: Starting AUR upgrade...
:: resolving dependencies...
:: looking for inter-conflicts...
:: universal-ctags-git latest revision -- fetching

AUR Packages  (1) universal-ctags-git-latest  

:: Proceed with installation? [Y/n] 
:: Retrieving package(s)...
update complete: /home/skrondo/.cache/pacaur/universal-ctags-git
:: Checking universal-ctags-git integrity...
==> Making package: universal-ctags-git 5.9.20201011.0.r12.g01b9fc86-1 (mer 21 ott 2020, 00:33:07)
==> Retrieving sources...
  -> Updating ctags git repo...
Fetching origin
==> Validating source files with b2sums...
    ctags ... Skipped
:: Preparing universal-ctags-git...
==> Making package: universal-ctags-git 5.9.20201011.0.r12.g01b9fc86-1 (mer 21 ott 2020, 00:33:09)
==> WARNING: Skipping dependency checks.
==> Retrieving sources...
  -> Updating ctags git repo...
Fetching origin
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
  -> Creating working copy of ctags git repo...
Reset branch 'makepkg'
==> Starting pkgver()...
==> Updated version: universal-ctags-git 5.9.20201018.0.r4.g663bfb1c-1
==> Sources are ready.
:: Building universal-ctags-git package(s)...
==> Making package: universal-ctags-git 5.9.20201018.0.r4.g663bfb1c-1 (mer 21 ott 2020, 00:33:13)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
... autoreconf seems OK
Universal Ctags, version 5.9.0
Linux 5.9.1-arch1-1 #1 SMP PREEMPT Sat, 17 Oct 2020 13:30:37 +0000 x86_64
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
... configure, make, link and check() seem OK
Summary (see CMDLINE.tmp to reproduce without test harness)
  #passed:                                1094
  #FIXED:                                 2
  #FAILED (broken args.ctags?):           0
  #FAILED (unexpected-exit-status):       0
  #FAILED (unexpected-output):            0
  #TIMED-OUT (10s):                       0
  #skipped (features):                    1
  #skipped (languages):                   0
  #known-bugs:                            20
make  check-am
make[1]: Entering directory '/tmp/makepkg/universal-ctags-git/src/ctags'
REPOINFO   main/repoinfo.h
  CCLD     ctags
make[1]: Leaving directory '/tmp/makepkg/universal-ctags-git/src/ctags'
==> Entering fakeroot environment...
chmod: cannot access '/home/skrondo/.cache/pacaur/universal-ctags-git/pkg': No such file or directory
/usr/bin/fakeroot: line 178: 64491 User defined signal 1   FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS" LD_PRELOAD="$LIB" "$@"
:: failed to build universal-ctags-git package(s)

That's all folks!

polyzen commented on 2020-10-20 22:19 (UTC)

fenuks, I prefer to leave arch=() to the officially supported arch/es, and use makepkg's -A option for the rest.

static_n00b, built fine for me in a container:

fenuks commented on 2020-10-19 20:01 (UTC)

@polyzen Could you please add more architectures (I have it running on aarch64).

polyzen commented on 2020-10-13 04:09 (UTC)

Deleted the sources, did a clean build, and now my pkgver has fallen in line ┐(ツ)┌.

btmcg commented on 2020-10-13 02:41 (UTC)

Can confirm I see the exact results as @pepper_chico and @kseistrup.

ctags $ git describe --long --tags
ctags $ git describe --long --tags | sed 's/^p//;s/\([^-]*-g\)/r\1/;s/-/./g'

SolarAquarion commented on 2020-10-13 02:28 (UTC)

there's only one tag

pepper_chico commented on 2020-10-13 01:52 (UTC) (edited on 2020-10-13 01:53 (UTC) by pepper_chico)

@polyzen just not sure what's happening, except that the git describe/sed result in your machine is one character longer than ours.

polyzen commented on 2020-10-13 00:38 (UTC)

If tag contains a prefix, like v or project name then it should be cut off:

    pkgver() {
      cd "$pkgname"
      # cutting off 'foo-' prefix that presents in the git tag
      git describe --long | sed 's/^foo-//;s/\([^-]*-g\)/r\1/;s/-/./g'


pepper_chico commented on 2020-10-12 18:20 (UTC) (edited on 2020-10-12 18:21 (UTC) by pepper_chico)

Same issue here:

ctags on HEAD (01b9fc8)
❯ git describe --long --tags | sed 's/^p//;s/\([^-]*-g\)/r\1/;s/-/./g'

It seems this git describe/sed command is giving one character longer in the package maintainer's machine. Notice that this sed regex isn't listed in the recommended pkgver guidelines:

kseistrup commented on 2020-10-12 09:49 (UTC)

That's interesting, because if I do the “git describe” dance I get



$ ls -l *.zst
.rw-r--r-- 589.583 kas 12 Oct 11:44 universal-ctags-git-5.9.20201011.0.r12.g01b9fc86-1-x86_64.pkg.tar.zst

which is also the package name I end up with if I install it with yay.

I wonder what is happening here. Any ideas?

polyzen commented on 2020-10-12 09:17 (UTC)

~ > cd pkg/build/universal-ctags-git/src/ctags
~/p/b/un/s/ctags > git describe --long --tags | sed 's/^p//;s/\([^-]*-g\)/r\1/;s/-/./g'

==> Finished making: universal-ctags-git 5.9.20201011.0.r12.g01b9fc866-1 (Mon 12 Oct 2020 05:12:13 AM EDT)

Producing universal-ctags-git-5.9.20201011.0.r12.g01b9fc866-1-x86_64.pkg.tar.zst

kseistrup commented on 2020-10-12 08:06 (UTC)

There's a ‘6’ too much at the end of


When the package is built, you end up with


and next time you run yay it thinks there's a newer version.

Maelan commented on 2018-08-25 03:18 (UTC)

Does not build for me. Compiling the man pages fail, even with python{,2}-docutils installed:

  CCLD     readtags
RST2MAN   man/ctags.1
Traceback (most recent call last):
  File "/bin/rst2man", line 21, in <module>
    from docutils.core import publish_cmdline, default_description
ModuleNotFoundError: No module named 'docutils'
make[1]: *** [Makefile:7357: man/ctags.1] Error 1

lenormf commented on 2018-07-27 13:59 (UTC)

I think bash should be removed from the list of runtime dependencies.

cbb commented on 2018-06-22 03:55 (UTC) (edited on 2018-06-22 05:41 (UTC) by cbb)

@J5lx Yeah, I understand your line of thinking. My line of thinking is rather that AUR is an absolute wild west anyway, so a little bit of ill-considered patching can't hurt the standards of quality much.

I've pushed uctags-git for anyone else who may want a universal-ctags package that can be installed in parallel with ctags.

J5lx commented on 2018-06-07 11:10 (UTC)

@cbb I see your point, but ctags is what upstream chose and I’m not exactly a fan of making more downstream changes than necessary – just like the TUs are advised not to include any patches in official packages that have not been accepted into upstream. Besides, ctags is often used internally by other tools and some of them might not allow changing the binary used.

Jesse2004 commented on 2018-06-07 02:59 (UTC)

This package should be in the official repository...

cbb commented on 2018-06-02 11:36 (UTC) (edited on 2018-06-02 11:43 (UTC) by cbb)

Any chance we could rename /usr/bin/ctags to /usr/bin/uctags and remove conflicts=('ctags')? Many distros still only package the original ctags and it's useful to be able to install both on Arch for testing compatibility etc.

J5lx commented on 2018-02-14 15:37 (UTC)

That's right, but those packages are in base-devel and thus assumed to be installed and not explicitly listed.

polm23 commented on 2018-02-14 13:42 (UTC)

This depends on autoconf and automake.

maximbaz commented on 2017-11-02 22:51 (UTC)

Please replace "mkdir" with "mkdir -p", otherwise the build fails unless I remove the old temporary files created since the last build: ==> Starting check()... mkdir: cannot create directory ‘/tmp/makepkg/universal-ctags-git/src/testhome’: File exists ==> ERROR: A failure occurred in check(). Aborting... Error installing universal-ctags-git : exit status 1

cbb commented on 2017-08-31 19:32 (UTC)

Disregard my previous comment -- I thought the tests were super slow to run but I think the test runner just got stuck the first time I tried. On second attempt they actually seem fast enough to not really matter.

cbb commented on 2017-08-31 19:24 (UTC)

Surely check() should just be a small subset of tests to check the build is working correctly. What's the point of running the full test suite when upstream already does that for every commit via CI?

blueyed commented on 2017-07-01 23:21 (UTC)

I've added "!check" now to to `BUILDENV` in `/etc/makepkg.conf`, which helps here. Thanks for addressing the HOME issue.

J5lx commented on 2017-06-26 13:19 (UTC)

Regarding check, see In short, it is highly recommended to use it and users who don’t want that can disable it on their system in makepkg.conf. I’ll do something about HOME, though.

blueyed commented on 2017-06-07 20:22 (UTC)

Can we remove/disable "make check"? It runs the tests and only adds unnecessary processing during updates. If kept it should use HOME=/dev/null, see

beka commented on 2017-04-10 13:23 (UTC)

Need to add python-docutils as dependency in order for this to install correctly.

commented on 2017-03-27 19:44 (UTC)

Due to lack of time I have disowned this package, if someone is willing to maintain it please do.

aklt commented on 2017-02-28 03:28 (UTC)

@blueyed I also see this make check error. Additionally I noticed that I had to install pkg-config to avoid this error: # makepkg -i ==> Making package: universal-ctags-git 0.r4562.e1dcb485-1 (Tue Feb 28 04:03:58 CET 2017) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Cloning ctags git repo... Cloning into bare repository '/home/aklt/lib/arch-linux/universal-ctags-git/ctags'... remote: Counting objects: 31118, done. remote: Compressing objects: 100% (47/47), done. remote: Total 31118 (delta 22), reused 0 (delta 0), pack-reused 31070 Receiving objects: 100% (31118/31118), 9.48 MiB | 3.59 MiB/s, done. Resolving deltas: 100% (19224/19224), done. ==> Validating source files with md5sums... ctags ... Skipped ==> Extracting sources... -> Creating working copy of ctags git repo... Cloning into 'ctags'... done. ==> Starting pkgver()... ==> Updated version: universal-ctags-git 0.r4695.a39f8424-1 ==> Starting build()... autoreconf: Entering directory `.' autoreconf: not using Gettext autoreconf: running: aclocal --force autoreconf: tracing autoreconf: not using Libtool autoreconf: running: /usr/bin/autoconf --force error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. error: possibly undefined macro: AC_MSG_ERROR error: possibly undefined macro: AS_IF autoreconf: /usr/bin/autoconf failed with exit status: 1 configure: error: cannot find install-sh,, or shtool in "." "./.." "./../.." ==> ERROR: A failure occurred in build(). Aborting...

blueyed commented on 2017-01-21 21:22 (UTC)

I got a build failure due to `check`, which is fixed by Anyone seen this also?

blueyed commented on 2017-01-21 21:21 (UTC)

@Viterzgir The tests should work with any user config, and if not it's a bug. Please report it:

hexchain commented on 2017-01-14 12:33 (UTC)

Please add `--enable-iconv' flag to enable better support for various encodings. Thanks!

Viterzgir commented on 2017-01-01 23:02 (UTC) (edited on 2017-01-02 00:06 (UTC) by Viterzgir)

I have problem making the package. Error in check P.S I'll fix this remove .ctags file from home directory and succesfully build package.

sim590 commented on 2016-09-27 22:39 (UTC)

+1 This should replace the official ctags package in the official repository. The sourceforce's ctags have not been updated since 2009. Please push this to the official repository. Thanks.

Jesse2004 commented on 2016-08-31 07:39 (UTC)

This is much much better than the old ctags! Really should become the official one.

johnLate commented on 2016-08-18 18:31 (UTC)

If your build fails, and "echo $TMPDIR" results in an empty line, try this: export TMPDIR=/tmp makepkg

zsrkmyn commented on 2015-12-18 15:15 (UTC)

The PKGBUILD seems out-of-date. Line 28[1] should to be changed to `./` according to the docs[2]. Otherwise `makepkg` will fail in `build()` function. What's more, I recommand to remove the "0." prefix in the pkgver according to the "VCS package guidelines"[3], but it's not a stardard so I think the current style should be okay XD. I've worked out a PKGBUILD here[4] based on the old one I wrote. It may help someone who need a fixed one. [1] [2] [3] [4]

killozap commented on 2015-12-10 22:09 (UTC)

Yes, for me it compiled now. No errors. Thanks!

commented on 2015-12-08 17:09 (UTC)

Problem should be fixed according to the devs, can anyone report back?

commented on 2015-12-03 19:44 (UTC)

I've opened a bug report upstream: Could you figure out which one of the flags is causing trouble? the --prefix=/usr flag is required according to the arch packaging standards.

4e6 commented on 2015-12-03 19:09 (UTC)

Tests failing for me as well. Interestingly enough, when sources manually configured with ./configure (without pkgbuild flags), tests are passing.

killozap commented on 2015-11-17 16:03 (UTC)

Still fails on my machine with the error reported by petr.fischer.

commented on 2015-11-09 18:13 (UTC)

@ petr.fischer I had this problem a couple of days ago but the updated version that I uploaded to the AUR gave no errors. I think it might be an upstream problem. I tried building again today from my PKGBUILD and had no errors. Can you try again? I'll investigate further for other causes but I won't have time till Wednesday. EDIT: Builds fine in a minimal virtual machine, it was an upstream error. Just pull the latest git sources and it should build.

petr.fischer commented on 2015-11-09 12:47 (UTC)

Last version generates this error: version: aur/universal-ctags-git 0.r2690.c13d9dd-1 -> 0.r2936.ebe7328-1

commented on 2015-07-10 21:09 (UTC)

Updated the PKGBUILD, thanks.

marsam commented on 2015-07-10 00:50 (UTC)

Hi, I've cleanup a bit the pkgbuild

commented on 2015-07-09 16:54 (UTC)

Thanks, I'm still learning to create correct packages. When I use your PKGBUILD I get the following error on compilation: ==> Entering fakeroot environment... mkdir: cannot create directory ‘/home/jorick/makepkg/universal-ctags/pkg/’: File exists

zsrkmyn commented on 2015-07-09 07:11 (UTC)

There are several problems this PKGBUILD has. 1. The `pkgver()` function is missing for the -git package[1]. 2. The 'url' should be '' instead of ''. 3. The 'bash' package is missing in 'depends' according to `namcap`[2]. 4. The '--libexecdir=/usr/lib' option is missing for `./configure` in `build()`[3]. [1] [2] [3] ---------------------------------------- I wrote another PKGBUILD for this package fixing these problems: pkgname=universal-ctags-git pkgver=r2364.72f2408 pkgrel=1 pkgdesc="multilanguage reimplementation of the Unix ctags utility" arch=('x86_64' 'i686') url="" license=('GPL') groups=() depends=('bash') makedepends=('git') provides=('ctags') conflicts=('ctags') source=("git://") md5sums=('SKIP') _gitname=ctags pkgver() { cd "$srcdir/$_gitname" printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } build() { cd "$srcdir" rm -rf "$srcdir/$_gitname-build" git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build" cd "$srcdir/$_gitname-build" autoreconf -vfi ./configure --prefix=/usr \ --libexecdir=/usr/lib \ --sysconfdir=/etc make } package() { cd "$srcdir/$_gitname-build" make DESTDIR="$pkgdir/" install } # vim:set ts=2 sw=2 et: