From 5ed533a94331ea2d849f900ee20f8932d742e9b5 Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Wed, 17 May 2017 13:11:49 -0400
Subject: [PATCH] Revert "Drop epoll dependency"

This reverts commit 91f2bf81bf89699d43083f3d3a27805ba5e395a9.
---
 CMake/FindEpollShim.cmake | 17 +++++++++++++++++
 CMakeLists.txt            |  4 ++++
 2 files changed, 21 insertions(+)
 create mode 100644 CMake/FindEpollShim.cmake

diff --git a/CMake/FindEpollShim.cmake b/CMake/FindEpollShim.cmake
new file mode 100644
index 00000000..b6bed142
--- /dev/null
+++ b/CMake/FindEpollShim.cmake
@@ -0,0 +1,17 @@
+# - Find EpollShim
+# Once done, this will define
+#
+#   EPOLLSHIM_FOUND - System has EpollShim
+#   EPOLLSHIM_INCLUDE_DIRS - The EpollShim include directories
+#   EPOLLSHIM_LIBRARIES - The libraries needed to use EpollShim
+
+find_path(EPOLLSHIM_INCLUDE_DIRS NAMES sys/epoll.h sys/timerfd.h HINTS /usr/local/include/libepoll-shim)
+find_library(EPOLLSHIM_LIBRARIES NAMES epoll-shim libepoll-shim HINTS /usr/local/lib)
+
+if (EPOLLSHIM_INCLUDE_DIRS AND EPOLLSHIM_LIBRARIES)
+	set(EPOLLSHIM_FOUND TRUE)
+endif (EPOLLSHIM_INCLUDE_DIRS AND EPOLLSHIM_LIBRARIES)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(EPOLLSHIM DEFAULT_MSG EPOLLSHIM_LIBRARIES EPOLLSHIM_INCLUDE_DIRS)
+mark_as_advanced(EPOLLSHIM_INCLUDE_DIRS EPOLLSHIM_LIBRARIES)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index da505cd4..9ed45830 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,6 +68,10 @@ find_package(PAM)
 find_package(LibInput REQUIRED)
 find_package(Libcap REQUIRED)
 
+if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+	find_package(EpollShim REQUIRED)
+endif (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+
 include(FeatureSummary)
 include(Manpage)
 include(GNUInstallDirs)