--- /dev/null
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils xdg-utils
+
+DESCRIPTION="Map keyboard and mouse buttons to gamepad buttons"
+HOMEPAGE="https://github.com/AntiMicro/antimicro"
+SRC_URI="https://github.com/AntiMicro/antimicro/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ media-libs/libsdl2[X,joystick]
+ x11-libs/libX11
+ x11-libs/libXtst
+"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}/${P}-linking-errors.patch" )
+
+src_configure() {
+ # TODO: Currently does not build w/o X
+ # (!X would be: -DWITH_XTEST=OFF -DWITH_UINPUT=ON)
+ local mycmakeargs=(
+ -DUSE_QT5=ON
+ -DUSE_SDL_2=ON
+ -DWITH_X11=ON
+ -DWITH_XTEST=ON
+ -DWITH_UINPUT=OFF
+ )
+ cmake-utils_src_configure
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
--- /dev/null
+From d5cfe429edb8c5f6f039153a0f646f2198c06b16 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
+Date: Mon, 29 Jan 2018 12:19:55 +0100
+Subject: [PATCH] cmake: Stop calling QT5_WRAP_CPP().
+
+The USE_QT5 code path already unconditionally sets CMAKE_AUTOMOC to on.
+
+Calling QT5_WRAP_CPP() used to be just redundant, as antimicro_HEADERS_MOC
+was never actually added as a source dependency of the antimicro target. In
+other words, CMake's own automoc infrastructure was actually being used and
+the moc invocations from QT5_WRAP_CPP() were not being made at all.
+
+Starting with Qt 5.9.4, calling QT5_WRAP_CPP() disables the AUTOMOC property
+on the macro's input files, which means neither CMake's automoc
+infrastructure not QT5_WRAP_CPP()'s code were being used and we ended up
+with several 'undefined reference to vtable' errors when linking.
+---
+ CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 63ef851..0e47889 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -499,7 +499,6 @@ if (UNIX)
+ find_package(Qt5Network REQUIRED)
+ find_package(Qt5LinguistTools REQUIRED)
+
+- QT5_WRAP_CPP(antimicro_HEADERS_MOC ${antimicro_HEADERS})
+ QT5_WRAP_UI(antimicro_FORMS_HEADERS ${antimicro_FORMS})
+ QT5_ADD_RESOURCES(antimicro_RESOURCES_RCC ${antimicro_RESOURCES})
+ add_subdirectory("share/antimicro/translations")
+@@ -550,7 +549,6 @@ elseif(WIN32)
+ find_package(Qt5Network REQUIRED)
+ find_package(Qt5LinguistTools REQUIRED)
+
+- QT5_WRAP_CPP(antimicro_HEADERS_MOC ${antimicro_HEADERS})
+ QT5_WRAP_UI(antimicro_FORMS_HEADERS ${antimicro_FORMS})
+ QT5_ADD_RESOURCES(antimicro_RESOURCES_RCC ${antimicro_RESOURCES})
+ add_subdirectory("share/antimicro/translations")