diff --git a/pkgs/development/libraries/fcl/default.nix b/pkgs/development/libraries/fcl/default.nix new file mode 100644 index 000000000000..33a600805846 --- /dev/null +++ b/pkgs/development/libraries/fcl/default.nix @@ -0,0 +1,45 @@ +{ 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; + }; +} diff --git a/pkgs/development/libraries/libccd/default.nix b/pkgs/development/libraries/libccd/default.nix new file mode 100644 index 000000000000..a9e0c2b3feb0 --- /dev/null +++ b/pkgs/development/libraries/libccd/default.nix @@ -0,0 +1,23 @@ +{ lib, stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "libccd"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "danfis"; + repo = pname; + rev = "v${version}"; + sha256 = "0sfmn5pd7k5kyhbxnd689xmsa5v843r7sska96dlysqpljd691jc"; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "Library for collision detection between two convex shapes"; + homepage = "https://github.com/danfis/libccd"; + license = licenses.bsd3; + maintainers = with maintainers; [ lopsided98 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/octomap/default.nix b/pkgs/development/libraries/octomap/default.nix new file mode 100644 index 000000000000..7e82842c0b94 --- /dev/null +++ b/pkgs/development/libraries/octomap/default.nix @@ -0,0 +1,24 @@ +{ lib, stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "octomap"; + version = "1.9.6"; + + src = fetchFromGitHub { + owner = "OctoMap"; + repo = pname; + rev = "v${version}"; + sha256 = "03v341dffa0pfzmf2431xb5nq50zq9zlhgl6k2aa3fsza5xmbb70"; + }; + sourceRoot = "source/octomap"; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + description = "A probabilistic, flexible, and compact 3D mapping library for robotic systems"; + homepage = "https://octomap.github.io/"; + license = licenses.bsd3; + maintainers = with maintainers; [ lopsided98 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fc5433a2169f..7916e7d32119 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14484,6 +14484,8 @@ in fcgi = callPackage ../development/libraries/fcgi { }; + fcl = callPackage ../development/libraries/fcl { }; + ffcast = callPackage ../tools/X11/ffcast { }; fflas-ffpack = callPackage ../development/libraries/fflas-ffpack { }; @@ -15574,6 +15576,8 @@ in libcbor = callPackage ../development/libraries/libcbor { }; + libccd = callPackage ../development/libraries/libccd { }; + libcec = callPackage ../development/libraries/libcec { libraspberrypi = null; }; @@ -20860,6 +20864,8 @@ in nss_ldap = callPackage ../os-specific/linux/nss_ldap { }; + octomap = callPackage ../development/libraries/octomap { }; + odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { }; odroid-xu3-bootloader = callPackage ../tools/misc/odroid-xu3-bootloader { };