nixpkgs/pkgs/development/libraries/fbjni/default.nix
Manuel Frischknecht de6b59532c fbjni: fix broken build due to missing cstdint include
GCC 13 stopped transitively including `cstdint` in various scenarios,
breaking the build of `fbjni`. This issue has already been resolved
upstream but is currently only merged in `main` [1] (there hasn't been
a subsequent release yet).

This change pulls in the respective commit as a patch, fixing the
build until a new version of `fbjni` is relased.

[1]: 59461eff6c
2024-01-28 17:10:05 +00:00

63 lines
1.6 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, cmake
, fetchpatch
, jdk_headless
, gtest
}:
stdenv.mkDerivation rec {
pname = "fbjni";
version = "0.5.1";
src = fetchFromGitHub {
owner = "facebookincubator";
repo = pname;
rev = "v${version}";
sha256 = "sha256-97KqfFWtR3VJe2s0D60L3dsIDm4kMa0hpkKoZSAEoVY=";
};
patches = [
# Upstram fix for builds on GCC 13. Should be removable with next release after 0.5.1
(fetchpatch {
name = "add-cstdint-include.patch";
url = "https://github.com/facebookincubator/fbjni/commit/59461eff6c7881d58e958287481e1f1cd99e08d3.patch";
hash = "sha256-r27C+ODTCZdd1tEz3cevnNNyZlrRhq1jOzwnIYlkglM=";
})
# Part of https://github.com/facebookincubator/fbjni/pull/76
# fix cmake file installation directory
(fetchpatch {
url = "https://github.com/facebookincubator/fbjni/commit/ab02e60b5da28647bfcc864b0bb1b9a90504cdb1.patch";
sha256 = "sha256-/h6kosulRH/ZAU2u0zRSaNDK39jsnFt9TaSxyBllZqM=";
})
# install headers
(fetchpatch {
url = "https://github.com/facebookincubator/fbjni/commit/74e125caa9a815244f1e6bd08eaba57d015378b4.patch";
sha256 = "sha256-hQS35D69GD3ewV4zzPG+LO7jk7ncCj2CYDbLJ6SnpqE=";
})
];
nativeBuildInputs = [
cmake
jdk_headless
];
buildInputs = [
gtest
];
cmakeFlags = [
"-DJAVA_HOME=${jdk_headless.passthru.home}"
];
meta = with lib; {
description = "A library designed to simplify the usage of the Java Native Interface";
homepage = "https://github.com/facebookincubator/fbjni";
license = licenses.asl20;
maintainers = with maintainers; [ jonringer ];
};
}