diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/liburing')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/liburing/default.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/liburing/default.nix b/nixpkgs/pkgs/development/libraries/liburing/default.nix new file mode 100644 index 000000000000..938846ace54f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/liburing/default.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchgit +, fetchpatch +}: + +stdenv.mkDerivation rec { + pname = "liburing"; + version = "0.7"; + + src = fetchgit { + url = "http://git.kernel.dk/${pname}"; + rev = "liburing-${version}"; + sha256 = "15z44l7y4c6s6dlf7v8lq4znlsjbja2r4ifbni0l8cdcnq0w3zh3"; + }; + + separateDebugInfo = true; + enableParallelBuilding = true; + # Upstream's configure script is not autoconf generated, but a hand written one. + setOutputFlags = false; + preConfigure = + # We cannot use configureFlags or configureFlagsArray directly, since we + # don't have structuredAttrs yet and using placeholder causes permissions + # denied errors. Using $dev / $man in configureFlags causes bash evaluation + # errors + '' + configureFlagsArray+=( + "--includedir=$dev/include" + "--mandir=$man/share/man" + ) + ''; + + # Doesn't recognize platform flags + configurePlatforms = []; + + outputs = [ "out" "bin" "dev" "man" ]; + + postInstall = + # Copy the examples into $bin. Most reverse dependency of this package should + # reference only the $out output + '' + mkdir -p $bin/bin + cp ./examples/io_uring-cp examples/io_uring-test $bin/bin + cp ./examples/link-cp $bin/bin/io_uring-link-cp + cp ./examples/ucontext-cp $bin/bin/io_uring-ucontext-cp + '' + ; + + meta = with stdenv.lib; { + description = "Userspace library for the Linux io_uring API"; + homepage = "https://git.kernel.dk/cgit/liburing/"; + license = licenses.lgpl21; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice ]; + }; +} |