about summary refs log tree commit diff
path: root/pkgs/applications/misc
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r--pkgs/applications/misc/archiver/default.nix6
-rw-r--r--pkgs/applications/misc/dasel/default.nix4
-rw-r--r--pkgs/applications/misc/elf-dissector/default.nix26
-rw-r--r--pkgs/applications/misc/megasync/default.nix36
-rw-r--r--pkgs/applications/misc/nwg-launchers/default.nix4
-rw-r--r--pkgs/applications/misc/octoprint/m33-fio-one-library.patch175
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix19
-rw-r--r--pkgs/applications/misc/pass-secret-service/default.nix61
-rw-r--r--pkgs/applications/misc/plater/default.nix30
-rw-r--r--pkgs/applications/misc/wtf/default.nix6
-rw-r--r--pkgs/applications/misc/xautoclick/default.nix42
11 files changed, 196 insertions, 213 deletions
diff --git a/pkgs/applications/misc/archiver/default.nix b/pkgs/applications/misc/archiver/default.nix
index aec0b9d51186b..1691ab0736105 100644
--- a/pkgs/applications/misc/archiver/default.nix
+++ b/pkgs/applications/misc/archiver/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "archiver";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "mholt";
     repo = pname;
     rev = "v${version}";
-    sha256 = "16jawybywqfkp68035bnf206a2w4khjw239saa429a21lxrfyk4a";
+    sha256 = "0fdkqfs87svpijccz8m11gvby8pvmznq6fs9k94vbzak0kxhw1wg";
   };
 
-  vendorSha256 = "0m89ibj3dm58j49d99dhkn0ryivnianxz7lkpkvhs0cdbzzc02az";
+  vendorSha256 = "0avnskay23mpl3qkyf1h75rr7szpsxis2bj5pplhwf8q8q0212xf";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ];
 
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index ef1279cddfc14..0e5c33c00b5be 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:11xm47p7n79mq2zkv9q9m5v4a1gga01pkzi2j42gq1ma9hwz4idz";
+    sha256 = "sha256-Un9tqODwiWsaw66t2m8NyaDF0+hq/e0tmRFi3/T4LMI=";
   };
 
   vendorSha256 = "sha256:1552k85z4s6gv7sss7dccv3h8x22j2sr12icp6s7s0a3i4iwyksw";
diff --git a/pkgs/applications/misc/elf-dissector/default.nix b/pkgs/applications/misc/elf-dissector/default.nix
new file mode 100644
index 0000000000000..36ceb49d5c4be
--- /dev/null
+++ b/pkgs/applications/misc/elf-dissector/default.nix
@@ -0,0 +1,26 @@
+{ mkDerivation, fetchgit, lib, cmake, extra-cmake-modules, kitemmodels
+, libiberty, libelf, libdwarf, libopcodes }:
+
+mkDerivation rec {
+  pname = "elf-dissector";
+  version = "unstable-2020-11-14";
+
+  src = fetchgit {
+    url = "https://invent.kde.org/sdk/elf-dissector.git";
+    rev = "d1700e76e3f60aff0a2a9fb63bc001251d2be522";
+    sha256 = "1h1xr3ag1sbf005drcx8g8dc5mk7fb2ybs73swrld7clcawhxnk8";
+  };
+
+  nativeBuildInputs = [ cmake extra-cmake-modules ];
+
+  buildInputs = [ kitemmodels libiberty libelf libdwarf libopcodes ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://invent.kde.org/sdk/elf-dissector";
+    description = "Tools for inspecting, analyzing and optimizing ELF files";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ehmry ];
+  };
+}
diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix
index d5da4c7d773ab..3b25d7e606a65 100644
--- a/pkgs/applications/misc/megasync/default.nix
+++ b/pkgs/applications/misc/megasync/default.nix
@@ -1,17 +1,40 @@
-{ stdenv, autoconf, automake, c-ares, cryptopp, curl, doxygen, fetchFromGitHub
-, fetchpatch, ffmpeg_3, libmediainfo, libraw, libsodium, libtool, libuv, libzen
-, lsb-release, mkDerivation, pkgconfig, qtbase, qttools, sqlite, swig, unzip
-, wget }:
+{ stdenv
+, autoconf
+, automake
+, c-ares
+, cryptopp
+, curl
+, doxygen
+, fetchFromGitHub
+, fetchpatch
+, ffmpeg_3
+, libmediainfo
+, libraw
+, libsodium
+, libtool
+, libuv
+, libzen
+, lsb-release
+, mkDerivation
+, pkgconfig
+, qtbase
+, qttools
+, qtx11extras
+, sqlite
+, swig
+, unzip
+, wget
+}:
 
 mkDerivation rec {
   pname = "megasync";
-  version = "4.3.1.0";
+  version = "4.3.5.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAsync";
     rev = "v${version}_Linux";
-    sha256 = "0b68wpif8a0wf1vfn1nr19dmz8f31dprb27jpldxrxhyfslc43yj";
+    sha256 = "0rr1jjy0n5bj1lh6xi3nbbcikvq69j3r9qnajp4mhywr5izpccvs";
     fetchSubmodules = true;
   };
 
@@ -29,6 +52,7 @@ mkDerivation rec {
     libuv
     libzen
     qtbase
+    qtx11extras
     sqlite
     unzip
     wget
diff --git a/pkgs/applications/misc/nwg-launchers/default.nix b/pkgs/applications/misc/nwg-launchers/default.nix
index d14d4d43e83f0..77eae10293d41 100644
--- a/pkgs/applications/misc/nwg-launchers/default.nix
+++ b/pkgs/applications/misc/nwg-launchers/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nwg-launchers";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r0wj4w3jj3l56z1lx6ypkzz4fsgx4vzqbvs95661l8q362pndzw";
+    sha256 = "0flp7mwj1pgcwx3k9pzc8pmqlkhbddj0maimdnvlazk87kzxpfd0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch b/pkgs/applications/misc/octoprint/m33-fio-one-library.patch
deleted file mode 100644
index 24c9c4a80f5d1..0000000000000
--- a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 314bcebfcd1759981ce12255be29d8ae68cd400b Mon Sep 17 00:00:00 2001
-From: Nikolay Amiantov <ab@fmap.me>
-Date: Wed, 23 Nov 2016 00:40:48 +0300
-Subject: [PATCH] Build and use one version of preprocessor library
-
----
- octoprint_m33fio/__init__.py   | 73 ++----------------------------------------
- shared library source/Makefile | 62 +++--------------------------------
- 2 files changed, 6 insertions(+), 129 deletions(-)
-
-diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py
-index 054870a..4d5ecc1 100755
---- a/octoprint_m33fio/__init__.py
-+++ b/octoprint_m33fio/__init__.py
-@@ -1189,78 +1189,9 @@ class M33FioPlugin(
- 		# Check if using shared library or checking if it is usable
- 		if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable :
- 	
--			# Check if running on Linux
--			if platform.uname()[0].startswith("Linux") :
--
--				# Check if running on a Raspberry Pi 1
--				if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm1176jzf-s.so")
--	
--				# Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
--				elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm_cortex-a7.so")
--	
--				# Otherwise check if running on an ARM7 device
--				elif platform.uname()[4].startswith("armv7") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_arm7.so")
--	
--				# Otherwise check if using an i386 or x86-64 device
--				elif platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64") :
--
--					# Check if Python is running as 32-bit
--					if platform.architecture()[0].startswith("32") :
--		
--						# Set shared library
--						self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.so")
--	
--					# Otherwise check if Python is running as 64-bit
--					elif platform.architecture()[0].startswith("64") :
--		
--						# Set shared library
--						self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.so")
--
--			# Otherwise check if running on Windows and using an i386 or x86-64 device
--			elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
-+			# Set shared library
-+			self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so")
- 
--				# Check if Python is running as 32-bit
--				if platform.architecture()[0].startswith("32") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.dll")
--
--				# Otherwise check if Python is running as 64-bit
--				elif platform.architecture()[0].startswith("64") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dll")
--
--			# Otherwise check if running on macOS and using an i386 or x86-64 device
--			elif platform.uname()[0].startswith("Darwin") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
--
--				# Check if Python is running as 32-bit
--				if platform.architecture()[0].startswith("32") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_i386.dylib")
--
--				# Otherwise check if Python is running as 64-bit
--				elif platform.architecture()[0].startswith("64") :
--	
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace("\\", "/") + "/static/libraries/preprocessor_x86-64.dylib")
--			
--			# Otherwise check if running FreeBSD
--			elif platform.uname()[0].startswith("FreeBSD") :
--			
--				# TODO: Compile FreeBSD shared library pre-processors
--				pass
--			
- 			# Check if shared library was set
- 			if self.sharedLibrary :
- 
-diff --git a/shared library source/Makefile b/shared library source/Makefile
-index 792b4f4..4c74f5c 100755
---- a/shared library source/Makefile	
-+++ b/shared library source/Makefile	
-@@ -1,68 +1,14 @@
--# Target platform options: LINUX32, LINUX64, WINDOWS32, WINDOWS64, PI, PI2, ARM7, MACOS32, MACOS64
--LIBRARY_NAME = preprocessor
--TARGET_PLATFORM = LINUX64
-+LIBRARY_NAME = libpreprocessor
- VER = .1
- 
--ifeq ($(TARGET_PLATFORM), LINUX32)
--	PROG = $(LIBRARY_NAME)_i386.so
--	CC = g++
--	CFLAGS = -fPIC -m32 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), LINUX64)
--	PROG = $(LIBRARY_NAME)_x86-64.so
--	CC = g++
--	CFLAGS = -fPIC -m64 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), WINDOWS32)
--	PROG = $(LIBRARY_NAME)_i386.dll
--	CC = i686-w64-mingw32-g++
--	CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), WINDOWS64)
--	PROG = $(LIBRARY_NAME)_x86-64.dll
--	CC = x86_64-w64-mingw32-g++
--	CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), PI)
--	PROG = $(LIBRARY_NAME)_arm1176jzf-s.so
--	CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
--	CFLAGS = -fPIC -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), PI2)
--	PROG = $(LIBRARY_NAME)_arm_cortex-a7.so
--	CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
--	CFLAGS = -fPIC -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), ARM7)
--	PROG = $(LIBRARY_NAME)_arm7.so
--	CC = /opt/arm-toolchain/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
--	CFLAGS = -fPIC -mcpu=generic-armv7-a -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
--endif
--
--ifeq ($(TARGET_PLATFORM), MACOS32)
--	PROG = $(LIBRARY_NAME)_i386.dylib
--	CC = clang++
--	CFLAGS = -fPIC -m32 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
--
--endif
--
--ifeq ($(TARGET_PLATFORM), MACOS64)
--	PROG = $(LIBRARY_NAME)_x86-64.dylib
--	CC = clang++
--	CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
--endif
-+PROG = $(LIBRARY_NAME).so
-+CFLAGS = -fPIC -O3 -Wl,-soname,$(PROG)$(VER)
- 
- SRCS = preprocessor.cpp gcode.cpp vector.cpp
- CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared
- 
- all:
--	$(CC) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS)
-+	$(CXX) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS)
- 
- clean:
- 	rm -f ../octoprint_m33fio/static/libraries/$(PROG)
--- 
-2.14.1
-
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 366b3866dfd50..421690f29d465 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -109,6 +109,25 @@ in {
     };
   };
 
+  marlingcodedocumentation = buildPlugin rec {
+    pname = "MarlinGcodeDocumentation";
+    version = "0.11.0";
+
+    src = fetchFromGitHub {
+      owner = "costas-basdekis";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "0vx06w9hqwy0k4r8g67y8gdckfdx7wl8ghfx6hmxc1s8fgkghfkc";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Displays GCode documentation for Marlin in the Octoprint terminal command line";
+      homepage = "https://github.com/costas-basdekis/MarlinGcodeDocumentation";
+      license = licenses.agpl3;
+      maintainers = with maintainers; [ lovesegfault ];
+    };
+  };
+
   mqtt = buildPlugin rec {
     pname = "MQTT";
     version = "0.8.7";
diff --git a/pkgs/applications/misc/pass-secret-service/default.nix b/pkgs/applications/misc/pass-secret-service/default.nix
new file mode 100644
index 0000000000000..678bc06f8004f
--- /dev/null
+++ b/pkgs/applications/misc/pass-secret-service/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchFromGitHub, python3, dbus, gnupg }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "pass-secret-service";
+  # PyPI has old alpha version. Since then the project has switched from using a
+  # seemingly abandoned D-Bus package pydbus and started using maintained
+  # dbus-next. So let's use latest from GitHub.
+  version = "unstable-2020-04-12";
+
+  src = fetchFromGitHub {
+    owner = "mdellweg";
+    repo = "pass_secret_service";
+    rev = "f6fbca6ac3ccd16bfec407d845ed9257adf74dfa";
+    sha256 = "0rm4pbx1fiwds1v7f99khhh7x3inv9yniclwd95mrbgljk3cc6a4";
+  };
+
+
+  # Need to specify session.conf file for tests because it won't be found under
+  # /etc/ in check phase.
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace \
+        "dbus-run-session" \
+        "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf"
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    click
+    cryptography
+    dbus-next
+    decorator
+    pypass
+    secretstorage
+  ];
+
+  checkInputs =
+    let
+      ps = python3.pkgs;
+    in
+    [
+      dbus
+      gnupg
+      ps.pytest
+      ps.pytest-asyncio
+      ps.pypass
+    ];
+
+  checkPhase = ''
+    runHook preCheck
+    make test
+    runHook postCheck
+  '';
+
+  meta = {
+    description = "Libsecret D-Bus API with pass as the backend";
+    homepage = "https://github.com/mdellweg/pass_secret_service/";
+    license = stdenv.lib.licenses.gpl3Only;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/applications/misc/plater/default.nix b/pkgs/applications/misc/plater/default.nix
new file mode 100644
index 0000000000000..9d29390870e8c
--- /dev/null
+++ b/pkgs/applications/misc/plater/default.nix
@@ -0,0 +1,30 @@
+{ mkDerivation
+, cmake
+, fetchFromGitHub
+, lib
+, libGLU
+, qtbase
+}:
+
+mkDerivation rec {
+  pname = "plater";
+  version = "2020-07-30";
+
+  src = fetchFromGitHub {
+    owner = "Rhoban";
+    repo = "Plater";
+    rev = "f8de6d038f95a9edebfcfe142c8e9783697d5b47";
+    sha256 = "0r20mbzd16zv1aiadjqdy7z6sp09rr6lgfxhvir4ll3cpakkynr4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libGLU qtbase ];
+
+  meta = with lib; {
+    description = "3D-printer parts placer and plate generator";
+    homepage = "https://github.com/Rhoban/Plater";
+    maintainers = with maintainers; [ lovesegfault ];
+    platforms = platforms.linux;
+    license = licenses.cc-by-nc-30;
+  };
+}
diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix
index ad8e261cf6863..ad107b644722e 100644
--- a/pkgs/applications/misc/wtf/default.nix
+++ b/pkgs/applications/misc/wtf/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.33.0";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dszc3igfvlb6dgf5whyhw72id39lqqmgpd42kyqx5yjf5dw2wg7";
+    sha256 = "01zydr1w8byjhxf4xj6z001q4ynq0452cn332ap1l1w0dmx9mxyr";
    };
 
-  vendorSha256 = "1wcqk8lfv3jq7dfaj9dj8bzsmq2qislzs1m38gx1hh4jwg1rn2cn";
+  vendorSha256 = "1xyai417l8q44b562ssp5qqw04klrhg5397ahr4pc3i30csz8a7a";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix
index 4f441d8a9a99e..f259b28131db6 100644
--- a/pkgs/applications/misc/xautoclick/default.nix
+++ b/pkgs/applications/misc/xautoclick/default.nix
@@ -1,32 +1,30 @@
-{ stdenv, fetchurl, xorg, pkgconfig
-, gtkSupport ? true, gtk2
-, qtSupport ? true, qt4
+{ stdenv, fetchFromGitHub, xorg, pkg-config
+, cmake, libevdev
+, gtkSupport ? true, gtk3, pcre, glib, wrapGAppsHook
+, fltkSupport ? true, fltk
+, qtSupport ? true, qt5
 }:
 
-stdenv.mkDerivation {
-  version = "0.31";
+stdenv.mkDerivation rec {
   pname = "xautoclick";
-  src = fetchurl {
-    url = "mirror://sourceforge/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz";
-    sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm";
+  version = "0.34";
+
+  src = fetchFromGitHub {
+    owner = "qarkai";
+    repo = "xautoclick";
+    rev = "v${version}";
+    sha256 = "GN3zI5LQnVmRC0KWffzUTHKrxcqnstiL55hopwTTwpE=";
   };
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ xorg.libX11 xorg.libXtst xorg.xinput xorg.libXi xorg.libXext ]
-    ++ stdenv.lib.optionals gtkSupport [ gtk2 ]
-    ++ stdenv.lib.optionals qtSupport [ qt4 ];
-  patchPhase = ''
-    substituteInPlace configure --replace /usr/X11R6 ${xorg.libX11.dev}
-  '';
-  preConfigure = stdenv.lib.optional qtSupport ''
-    mkdir .bin
-    ln -s ${qt4}/bin/moc .bin/moc-qt4
-    addToSearchPath PATH .bin
-    sed -i -e "s@LD=\$_cc@LD=\$_cxx@" configure
-  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ libevdev xorg.libXtst ]
+    ++ stdenv.lib.optionals gtkSupport [ gtk3 pcre glib wrapGAppsHook ]
+    ++ stdenv.lib.optionals fltkSupport [ fltk ]
+    ++ stdenv.lib.optionals qtSupport [ qt5.qtbase qt5.wrapQtAppsHook ];
 
   meta = with stdenv.lib; {
     description = "Autoclicker application, which enables you to automatically click the left mousebutton";
-    homepage = "http://xautoclick.sourceforge.net";
+    homepage = "https://github.com/qarkai/xautoclick";
     license = licenses.gpl2;
     platforms = platforms.linux;
   };