nixpkgs/pkgs/development/libraries/fcl/default.nix
Ben Wolsieffer e7ac3946b4 fcl: add upstream patches to fix build on ARM
Previously, SSE was unconditionally enabled, which can't work on ARM.
2021-05-15 11:23:25 -04:00

45 lines
1.5 KiB
Nix

{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, eigen, libccd, octomap }:
stdenv.mkDerivation rec {
pname = "fcl";
version = "0.6.1";
src = fetchFromGitHub {
owner = "flexible-collision-library";
repo = pname;
rev = version;
sha256 = "1i1sd0fsvk5d529aw8aw29bsmymqgcmj3ci35sz58nzp2wjn0l5d";
};
patches = [
# Disable SSE on Emscripten (required for the next patch to apply cleanly)
# https://github.com/flexible-collision-library/fcl/pull/470
(fetchpatch {
url = "https://github.com/flexible-collision-library/fcl/commit/83a1af61ba4efa81ec0b552b3121100044a8cf46.patch";
sha256 = "0bbkv4xpkl3c0i8qdlkghj6qkybrrd491c8rd2cqnxfgspcd40p0";
})
# Detect SSE support to fix building on ARM
# https://github.com/flexible-collision-library/fcl/pull/506
(fetchpatch {
url = "https://github.com/flexible-collision-library/fcl/commit/cbfe1e9405aa68138ed1a8f33736429b85500dea.patch";
sha256 = "18qip8gwhm3fvbz1cvzf625rh5msq8m4669ld1m60fv6z50clr9h";
})
];
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [ eigen libccd octomap ];
outputs = [ "out" "dev" ];
meta = with lib; {
description = "Flexible Collision Library";
longDescription = ''
FCL is a library for performing three types of proximity queries on a
pair of geometric models composed of triangles.
'';
homepage = "https://github.com/flexible-collision-library/fcl";
license = licenses.bsd3;
maintainers = with maintainers; [ lopsided98 ];
platforms = platforms.unix;
};
}