--- /dev/null
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+DESCRIPTION="Exuberant Ctags creates tags files for code browsing in editors"
+HOMEPAGE="https://ctags.io/ https://github.com/universal-ctags/ctags"
+SRC_URI="http://dev.gentoo.org/~radhermit/vim/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="json xml yaml"
+
+COMMON_DEPEND="
+ json? ( dev-libs/jansson )
+ xml? ( dev-libs/libxml2:2 )
+ yaml? ( dev-libs/libyaml )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ app-eselect/eselect-ctags
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}"/${P}-automagic-deps.patch )
+
+src_prepare() {
+ default
+ ./autogen.sh || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable json) \
+ $(use_enable xml) \
+ $(use_enable yaml) \
+ --disable-readlib \
+ --disable-etags \
+ --enable-tmpdir="${EPREFIX}"/tmp
+}
+
+src_install() {
+ emake prefix="${ED}"/usr mandir="${ED}"/usr/share/man install
+
+ # namepace collision with X/Emacs-provided /usr/bin/ctags -- we
+ # rename ctags to exuberant-ctags (Mandrake does this also).
+ mv "${ED}"/usr/bin/{ctags,exuberant-ctags} || die
+ mv "${ED}"/usr/share/man/man1/{ctags,exuberant-ctags}.1 || die
+}
+
+pkg_postinst() {
+ eselect ctags update
+
+ if [[ -z "$REPLACING_VERSIONS" ]]; then
+ elog "You can set the version to be started by /usr/bin/ctags through"
+ elog "the ctags eselect module. \"man ctags.eselect\" for details."
+ fi
+}
+
+pkg_postrm() {
+ eselect ctags update
+}
--- /dev/null
+Add options to control libxml2, jansson, and libyaml automagic deps.
+
+--- ctags-20161028/configure.ac
++++ ctags-20161028/configure.ac
+@@ -585,30 +585,48 @@
+ AC_CHECK_FUNCS(fork waitpid execv pipe,[enable_xcmd=yes],[enable_xcmd=no])
+ AM_CONDITIONAL([ENABLE_XCMD], [test "xyes" = "x$enable_xcmd"])
+
++AC_ARG_ENABLE([xml],
++ [AS_HELP_STRING([--enable-xml],
++ [enable xml support [no]])])
++
+ AH_TEMPLATE([HAVE_LIBXML],
+ [Define this value if libxml is available.])
+ dnl About the condition of version
+ dnl see https://mail.gnome.org/archives/xml/2010-February/msg00008.html
+-PKG_CHECK_MODULES(LIBXML, [libxml-2.0 >= 2.7.7],
+- [have_libxml=yes
+- AC_DEFINE(HAVE_LIBXML)],
+- [have_libxml=no])
++if test "${enable_xml}" = "yes"; then
++ PKG_CHECK_MODULES(LIBXML, [libxml-2.0 >= 2.7.7],
++ [have_libxml=yes
++ AC_DEFINE(HAVE_LIBXML)],
++ [AC_MSG_ERROR([libxml2 not found])])
++fi
+ AM_CONDITIONAL(HAVE_LIBXML, test "x$have_libxml" = xyes)
+
++AC_ARG_ENABLE([json],
++ [AS_HELP_STRING([--enable-json],
++ [enable json support [no]])])
++
+ AH_TEMPLATE([HAVE_JANSSON],
+ [Define this value if jansson is available.])
+-PKG_CHECK_MODULES(JANSSON, jansson,
+- [have_jansson=yes
+- AC_DEFINE(HAVE_JANSSON)],
+- [have_jansson=no])
++if test "${enable_json}" = "yes"; then
++ PKG_CHECK_MODULES(JANSSON, jansson,
++ [have_jansson=yes
++ AC_DEFINE(HAVE_JANSSON)],
++ [AC_MSG_ERROR([jansson not found])])
++fi
+ AM_CONDITIONAL(HAVE_JANSSON, test "x$have_jansson" = xyes)
+
++AC_ARG_ENABLE([yaml],
++ [AS_HELP_STRING([--enable-yaml],
++ [enable yaml support [no]])])
++
+ AH_TEMPLATE([HAVE_LIBYAML],
+ [Define this value if libyaml is available.])
+-PKG_CHECK_MODULES(LIBYAML, yaml-0.1,
+- [have_libyaml=yes
+- AC_DEFINE(HAVE_LIBYAML)],
+- [have_libyaml=no])
++if test "${enable_yaml}" = "yes"; then
++ PKG_CHECK_MODULES(LIBYAML, yaml-0.1,
++ [have_libyaml=yes
++ AC_DEFINE(HAVE_LIBYAML)],
++ [AC_MSG_ERROR([libyaml not found])])
++fi
+ AM_CONDITIONAL(HAVE_LIBYAML, test "x$have_libyaml" = xyes)
+
+