From a0d817b48f151ef7877e921ed490771ae56bf283 Mon Sep 17 00:00:00 2001 From: Jappie Klooster Date: Fri, 2 Apr 2021 16:47:34 -0400 Subject: ydotool: 0.1.8 -> 2021-01-20 Upgrading ydotool gives two big features: 1. support for sleep, making it easier to combine with sway 2. recording support. Allowing you to record macros! This does however make the daemon a bit unstable, I had it crash on my when trying to type. However the daemon is optional, and this is an upstream issue. So I think it's a good change. Furthermore several libraries are upgraded with this change as well, they all seem to be used and maintained by the same authors. readd rec block to ydotool Update pkgs/tools/wayland/ydotool/default.nix Co-authored-by: Sandro Update pkgs/tools/wayland/ydotool/default.nix Co-authored-by: Sandro Update pkgs/tools/wayland/ydotool/default.nix Co-authored-by: Sandro --- pkgs/tools/wayland/ydotool/default.nix | 24 ++++++---- pkgs/tools/wayland/ydotool/fixup-cmakelists.patch | 58 +++++++++++++++++++++++ 2 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/wayland/ydotool/fixup-cmakelists.patch (limited to 'pkgs/tools') diff --git a/pkgs/tools/wayland/ydotool/default.nix b/pkgs/tools/wayland/ydotool/default.nix index 76ebd225006..4a75eac8c57 100644 --- a/pkgs/tools/wayland/ydotool/default.nix +++ b/pkgs/tools/wayland/ydotool/default.nix @@ -1,26 +1,34 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, boost, libevdevplus, libuinputplus }: +{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, boost, libevdevplus, libuinputplus, iodash, cxxopts}: stdenv.mkDerivation rec { pname = "ydotool"; - version = "0.1.8"; + version = "unstable-2021-01-20"; src = fetchFromGitHub { owner = "ReimuNotMoe"; repo = "ydotool"; - rev = "v${version}"; - sha256 = "0mx3636p0f8pznmwm4rlbwq7wrmjb2ygkf8b3a6ps96a7j1fw39l"; + rev = "b1d041f52f7bac364d6539b1251d29c3b77c0f37"; + sha256 = "1gzdbx6fv0dbcyia3yyzhv93az2gf90aszb9kcj5cnxywfpv9w9g"; }; - # disable static linking + # upstream decided to use a cpp package manager called cpm. + # we need to disable that because it wants networking, furthermore, + # it does some system folder creating which also needs to be disabled. + # Both changes are to respect the sandbox. + patches = [ ./fixup-cmakelists.patch ]; + + + # cxxopts is a header only library. + # See pull request: https://github.com/ReimuNotMoe/ydotool/pull/105 postPatch = '' substituteInPlace CMakeLists.txt --replace \ - "-static" \ - "" + "PUBLIC cxxopts" \ + "PUBLIC" ''; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ - boost libevdevplus libuinputplus + boost libevdevplus libuinputplus iodash cxxopts ]; meta = with lib; { diff --git a/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch b/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch new file mode 100644 index 00000000000..965d5c38d83 --- /dev/null +++ b/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch @@ -0,0 +1,58 @@ +From bb8bc44d22060cd1215712117cf30eae09f4f6ba Mon Sep 17 00:00:00 2001 +From: Jappie Klooster +Date: Fri, 2 Apr 2021 14:04:14 -0400 +Subject: [PATCH] Fixup cmaklists + +We remove cpm, which is a package manager for c++, +which requires networking, so it's better just deleted. + +Furthermore we delete the adddirectory statements. +These want to modify directories outside of the sandbox. +--- + CMakeLists.txt | 26 -------------------------- + 1 file changed, 26 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b5e8789..b797538 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,30 +13,6 @@ endif() + + include(${CPM_DOWNLOAD_LOCATION}) + +-CPMAddPackage( +- NAME IODash +- GITHUB_REPOSITORY YukiWorkshop/IODash +- VERSION 0.1.0 +-) +- +-CPMAddPackage( +- NAME libevdevPlus +- GITHUB_REPOSITORY YukiWorkshop/libevdevPlus +- VERSION 0.2.1 +-) +- +-CPMAddPackage( +- NAME libuInputPlus +- GITHUB_REPOSITORY YukiWorkshop/libuInputPlus +- VERSION 0.2.1 +-) +- +-CPMAddPackage( +- NAME cxxopts +- GITHUB_REPOSITORY jarro2783/cxxopts +- VERSION 3.0.0 +- GIT_TAG 2d8e17c4f88efce80e274cb03eeb902e055a91d3 +-) + + set(SOURCE_FILES_LIBRARY + CommonIncludes.hpp +@@ -74,5 +50,3 @@ add_executable(ydotool ${SOURCE_FILES_CLIENT}) + target_link_libraries(ydotool ydotool_library dl pthread uInputPlus evdevPlus) + install(TARGETS ydotool DESTINATION ${CMAKE_INSTALL_BINDIR}) + +-add_subdirectory(Daemon) +-add_subdirectory(manpage) +-- +2.29.2 + -- cgit 1.4.1