at 23.11-beta 54 lines 1.5 kB view raw
1{ lib 2, stdenv 3, fetchFromGitHub 4, autoreconfHook 5, glib 6, libev 7, libevent 8, pkg-config 9, glibSupport ? true 10, libevSupport ? true 11, libeventSupport ? true 12}: 13 14let 15 inherit (lib) optional; 16in 17stdenv.mkDerivation (finalAttrs: { 18 pname = "libverto"; 19 version = "0.3.2"; 20 21 src = fetchFromGitHub { 22 owner = "latchset"; 23 repo = "libverto"; 24 rev = finalAttrs.version; 25 hash = "sha256-csoJ0WdKyrza8kBSMKoaItKvcbijI6Wl8nWCbywPScQ="; 26 }; 27 28 nativeBuildInputs = [ 29 autoreconfHook 30 pkg-config 31 ]; 32 33 buildInputs = 34 optional glibSupport glib 35 ++ optional libevSupport libev 36 ++ optional libeventSupport libevent; 37 38 meta = with lib; { 39 homepage = "https://github.com/latchset/libverto"; 40 description = "Asynchronous event loop abstraction library"; 41 longDescription = '' 42 Libverto exists to solve an important problem: many applications and 43 libraries are unable to write asynchronous code because they are unable to 44 pick an event loop. This is particularly true of libraries who want to be 45 useful to many applications who use loops that do not integrate with one 46 another or which use home-grown loops. libverto provides a loop-neutral 47 async api which allows the library to expose asynchronous interfaces and 48 offload the choice of the main loop to the application. 49 ''; 50 license = licenses.mit; 51 maintainers = with maintainers; [ AndersonTorres ]; 52 platforms = platforms.unix; 53 }; 54})