core/pkgs/by-name/li/libverto/default.nix
2024-05-13 11:34:52 -04:00

55 lines
1.4 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, glib
, libev
, libevent
, pkg-config
, glibSupport ? true
, libevSupport ? true
, libeventSupport ? true
}:
let
inherit (lib) optional;
in
stdenv.mkDerivation (finalAttrs: {
pname = "libverto";
version = "0.3.2";
src = fetchFromGitHub {
owner = "latchset";
repo = "libverto";
rev = finalAttrs.version;
hash = "sha256-csoJ0WdKyrza8kBSMKoaItKvcbijI6Wl8nWCbywPScQ=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs =
optional glibSupport glib
++ optional libevSupport libev
++ optional libeventSupport libevent;
meta = with lib; {
homepage = "https://github.com/latchset/libverto";
description = "Asynchronous event loop abstraction library";
longDescription = ''
Libverto exists to solve an important problem: many applications and
libraries are unable to write asynchronous code because they are unable to
pick an event loop. This is particularly true of libraries who want to be
useful to many applications who use loops that do not integrate with one
another or which use home-grown loops. libverto provides a loop-neutral
async api which allows the library to expose asynchronous interfaces and
offload the choice of the main loop to the application.
'';
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
})