diff options
Diffstat (limited to 'pkgs/development/libraries/liburing/default.nix')
-rw-r--r-- | pkgs/development/libraries/liburing/default.nix | 60 |
1 files changed, 41 insertions, 19 deletions
diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix index a42aab3d59e8c..95df981d02e7d 100644 --- a/pkgs/development/libraries/liburing/default.nix +++ b/pkgs/development/libraries/liburing/default.nix @@ -1,44 +1,66 @@ -{ lib, stdenv, fetchgit }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "liburing"; - version = "2.5"; + version = "2.6"; - src = fetchgit { - url = "http://git.kernel.dk/${pname}"; - rev = "liburing-${version}"; - sha256 = "sha256-hPyEZ0P1rfos53OCNd2OYFiqmv6TgpWaj5/xPLccCvM="; + src = fetchFromGitHub { + owner = "axboe"; + repo = "liburing"; + rev = "refs/tags/liburing-${version}"; + hash = "sha256-UOhnFT4UKZmPchKxew3vYeKH2oETDVylE1RmJ2hnLq0="; }; separateDebugInfo = true; enableParallelBuilding = true; # Upstream's configure script is not autoconf generated, but a hand written one. setOutputFlags = false; + dontDisableStatic = true; + dontAddStaticConfigureFlags = true; configureFlags = [ "--includedir=${placeholder "dev"}/include" "--mandir=${placeholder "man"}/share/man" ]; + # mysterious link failure + hardeningDisable = [ "trivialautovarinit" ]; + # Doesn't recognize platform flags - configurePlatforms = []; + configurePlatforms = [ ]; - outputs = [ "out" "bin" "dev" "man" ]; + 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 - '' + lib.optionalString stdenv.hostPlatform.isGnu '' - cp ./examples/ucontext-cp $bin/bin/io_uring-ucontext-cp + # Always builds both static and dynamic libraries, so we need to remove the + # libraries that don't match stdenv type. + rm $out/lib/liburing*${ + if stdenv.hostPlatform.isStatic then ".so*" else ".a" + } + + # Copy the examples into $bin. Most reverse dependency of + # this package should reference only the $out output + for file in $(find ./examples -executable -type f); do + install -Dm555 -t "$bin/bin" "$file" + done ''; meta = with 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 nickcao ]; + homepage = "https://github.com/axboe/liburing"; + license = licenses.lgpl21; + platforms = platforms.linux; + maintainers = with maintainers; [ + thoughtpolice + nickcao + ]; }; } |