Files
2026-07-02 14:58:34 +00:00

67 lines
1.5 KiB
Nix

{
lib,
stdenv,
cmake,
fetchFromGitHub,
openssl,
asio,
tinyxml-2,
openjdk11,
python3,
foonathan-memory,
fastcdr,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fastdds";
version = "3.6.2";
src = fetchFromGitHub {
owner = "eProsima";
repo = "Fast-DDS";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-17AxZwYPBhl+AyehWvNYP/if124GcmNfWJOD/yB+tgk=";
};
nativeBuildInputs = [
cmake
openjdk11
pkg-config
];
buildInputs = [
openssl
asio
tinyxml-2
foonathan-memory
fastcdr
python3
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DBUILD_SHARED_LIBS=ON"
"-DSECURITY=ON"
"-DCOMPILE_EXAMPLES=OFF"
"-DCMAKE_PREFIX_PATH=${foonathan-memory}"
];
meta = {
description = "C++ implementation of the DDS (Data Distribution Service) standard";
homepage = "https://github.com/eProsima/Fast-DDS";
license = lib.licenses.asl20;
longDescription = ''
eProsima Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard
of the OMG (Object Management Group). It implements the RTPS (Real Time Publish Subscribe)
protocol, which provides publisher-subscriber communications over unreliable transports
such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.
'';
maintainers = with lib.maintainers; [
panicgh
];
platforms = lib.platforms.linux;
};
})