diff --git a/pkgs/by-name/li/libmsquic/package.nix b/pkgs/by-name/li/libmsquic/package.nix new file mode 100644 index 0000000000000..965df2d62ad02 --- /dev/null +++ b/pkgs/by-name/li/libmsquic/package.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lttng-tools, + libatomic_ops, + perl, + coreutils, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libmsquic"; + version = "2.4.7"; + + src = fetchFromGitHub { + owner = "microsoft"; + repo = "msquic"; + tag = "v${finalAttrs.version}"; + hash = "sha256-WveyZ9rMevLTc5C4cgMFcnj0O6Hd+HcfU8ccD6VBgyU="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + perl + ]; + + buildInputs = [ + lttng-tools + libatomic_ops + ]; + + postUnpack = '' + for f in "$(find . -type f -name "*.pl")"; do + patchShebangs --build $f 2>&1 > /dev/null + done + + for g in $(find . -type f -name "*" ); do + if test -f $g; then + sed -i "s|/usr/bin/env|${coreutils}/bin/env|g" $g + fi + done + ''; + + meta = { + description = "Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust"; + homepage = "https://github.com/microsoft/msquic"; + changelog = "https://github.com/microsoft/msquic/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ SohamG ]; + }; +})