diff --git a/pkgs/os-specific/linux/libbpf/0.x.nix b/pkgs/os-specific/linux/libbpf/0.x.nix new file mode 100644 index 00000000000..2c15e3d49ee --- /dev/null +++ b/pkgs/os-specific/linux/libbpf/0.x.nix @@ -0,0 +1,49 @@ +{ fetchFromGitHub +, elfutils +, pkg-config +, stdenv +, zlib +, lib +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "libbpf"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "libbpf"; + repo = "libbpf"; + rev = "v${version}"; + sha256 = "sha256-daVS+TErmDU8ksThOvcepg1A61iD8N8GIkC40cmc9/8="; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ elfutils zlib ]; + + enableParallelBuilding = true; + makeFlags = [ "PREFIX=$(out)" "-C src" ]; + + passthru.tests = { + bpf = nixosTests.bpf; + }; + + postInstall = '' + # install linux's libbpf-compatible linux/btf.h + install -Dm444 include/uapi/linux/*.h -t $out/include/linux + ''; + + # FIXME: Multi-output requires some fixes to the way the pkg-config file is + # constructed (it gets put in $out instead of $dev for some reason, with + # improper paths embedded). Don't enable it for now. + + # outputs = [ "out" "dev" ]; + + meta = with lib; { + description = "Upstream mirror of libbpf"; + homepage = "https://github.com/libbpf/libbpf"; + license = with licenses; [ lgpl21 /* or */ bsd2 ]; + maintainers = with maintainers; [ thoughtpolice vcunat saschagrunert martinetd ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix index 2c15e3d49ee..04322a35b4f 100644 --- a/pkgs/os-specific/linux/libbpf/default.nix +++ b/pkgs/os-specific/linux/libbpf/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "libbpf"; - version = "0.8.1"; + version = "1.0.1"; src = fetchFromGitHub { owner = "libbpf"; repo = "libbpf"; rev = "v${version}"; - sha256 = "sha256-daVS+TErmDU8ksThOvcepg1A61iD8N8GIkC40cmc9/8="; + sha256 = "sha256-2rzVah+CxCztKnlEWMIQrUS2JJTLiWscfIA1aOBtIzs="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd331840e52..46799a97345 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16167,7 +16167,10 @@ with pkgs; bump = callPackage ../development/tools/github/bump { }; - libbpf = callPackage ../os-specific/linux/libbpf { }; + libbpf_1 = callPackage ../os-specific/linux/libbpf { }; + libbpf_0 = callPackage ../os-specific/linux/libbpf/0.x.nix { }; + # until more issues are fixed default to libbpf 0.x + libbpf = libbpf_0; bpftools = callPackage ../os-specific/linux/bpftools { };