From 93f9883a054b299400654adfa2851183f8648f00 Mon Sep 17 00:00:00 2001 From: Jappie Klooster Date: Fri, 2 Apr 2021 11:06:49 -0400 Subject: [PATCH] iodash: init at 0.1.7 IODash is required to build the latest version of ydotool. I'm sure as a library it has many other use cases. It seems to be a contender towards the well known boost library. This init points to a temporary fork which makes it build. The install directive was missing. I'm intending to upstream this change if I can. Or otherwise make this a permanent fork. Point iodash to the right version Add comment in iodash on repo change Fix undefined variable src Remove jappie from maintainer list Update pkgs/development/libraries/iodash/default.nix Co-authored-by: Sandro Update pkgs/development/libraries/iodash/default.nix Co-authored-by: Sandro Update pkgs/development/libraries/iodash/default.nix Co-authored-by: Sandro Fix dangling in Format patch for IODash --- .../0001-Add-cmake-install-directives.patch | 44 +++++++++++++++++++ pkgs/development/libraries/iodash/default.nix | 27 ++++++++++++ pkgs/top-level/all-packages.nix | 1 + 3 files changed, 72 insertions(+) create mode 100644 pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch create mode 100644 pkgs/development/libraries/iodash/default.nix diff --git a/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch b/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch new file mode 100644 index 000000000000..1868a7419208 --- /dev/null +++ b/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch @@ -0,0 +1,44 @@ +From 89c7c160f897f64e17fb74efffccfd1fc16f8b7d Mon Sep 17 00:00:00 2001 +From: Jappie Klooster +Date: Fri, 2 Apr 2021 14:22:02 -0400 +Subject: [PATCH] Add cmake install directives. + +To make nix builds work, it expect a `make install` command to +be available. +Adding these directives seems to fix the build. + +If it's no trouble to you, please add them. + +Maybe don't need endian +--- + CMakeLists.txt | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 06e416f..8d6f489 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,8 @@ set(CMAKE_CXX_STANDARD 17) + add_library(IODash INTERFACE) + target_include_directories(IODash INTERFACE .) + ++include(GNUInstallDirs) ++ + add_executable(IODash_Test test.cpp) + target_link_libraries(IODash_Test IODash) + +@@ -20,3 +22,11 @@ if (DEFINED BUILD_BENCHMARKS AND (${BUILD_BENCHMARKS})) + target_link_libraries(boost_Benchmark_HTTP boost_system pthread) + endif() + ++install(TARGETS IODash ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES IODash.hpp ++ DESTINATION include/) ++ ++install(FILES ++ IODash/Buffer.hpp IODash/SocketAddress.hpp IODash/File.hpp IODash/Socket.hpp IODash/EventLoop.hpp IODash/Serial.hpp IODash/Timer.hpp ++ DESTINATION include/IODash) +-- +2.29.2 + diff --git a/pkgs/development/libraries/iodash/default.nix b/pkgs/development/libraries/iodash/default.nix new file mode 100644 index 000000000000..d8982f0f8c04 --- /dev/null +++ b/pkgs/development/libraries/iodash/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: + +stdenv.mkDerivation rec { + pname = "iodash"; + version = "0.1.7"; + + src = fetchFromGitHub { + owner = "YukiWorkshop"; + repo = "IODash"; + rev = "9dcb26621a9c17dbab704b5bab0c3a5fc72624cb"; + sha256 = "0db5y2206fwh3h1pzjm9hy3m76inm0xpm1c5gvrladz6hiqfp7bx"; + fetchSubmodules = true; + }; + # adds missing cmake install directives + # https://github.com/YukiWorkshop/IODash/pull/2 + patches = [ ./0001-Add-cmake-install-directives.patch]; + + nativeBuildInputs = [ cmake pkg-config ]; + + meta = with lib; { + homepage = "https://github.com/YukiWorkshop/IODash"; + description = "Lightweight C++ I/O library for POSIX operation systems"; + license = licenses.mit; + maintainers = with maintainers; [ jappie ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94b6a6444439..304f63fb70f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6096,6 +6096,7 @@ in ispell = callPackage ../tools/text/ispell {}; + iodash = callPackage ../development/libraries/iodash { }; jumanpp = callPackage ../tools/text/jumanpp {}; jump = callPackage ../tools/system/jump {};