nixpkgs/pkgs/by-name/li/libverto/package.nix
Anderson Torres f0e64ce16f treewide: migrate packages maintained by AndersonTorres to by-name
Manual migration for the sake of by-name migration is no longer discouraged
since #340235.
2024-09-16 14:26:47 -03:00

54 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;
};
})