diff --git a/pkgs/development/libraries/libverto/default.nix b/pkgs/development/libraries/libverto/default.nix new file mode 100644 index 000000000000..d161f2b92b2b --- /dev/null +++ b/pkgs/development/libraries/libverto/default.nix @@ -0,0 +1,54 @@ +{ 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; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 04e089876ce6..6ffeb1a47a87 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21290,6 +21290,8 @@ with pkgs; libversion = callPackage ../development/libraries/libversion { }; + libverto = callPackage ../development/libraries/libverto { }; + libvgm = callPackage ../development/libraries/libvgm { inherit (darwin.apple_sdk.frameworks) CoreAudio AudioToolbox; };