Firefox: 134.0.2 -> 135.0; 128.6.0esr -> 128.7.0esr (#379636)
[NixPkgs.git] / pkgs / by-name / fa / fastcdr / package.nix
blob15c47c0339af37891aece1dfe57a85858c784de1
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   cmake,
6   gtest,
7   withDocs ? true,
8   doxygen,
9   graphviz-nox,
12 stdenv.mkDerivation (finalAttrs: {
13   pname = "fastcdr";
14   version = "2.2.6";
16   src = fetchFromGitHub {
17     owner = "eProsima";
18     repo = "Fast-CDR";
19     rev = "v${finalAttrs.version}";
20     hash = "sha256-kraflUsnsUBCwCN8vEVaPExSBF0cMdser2UwXpAGhlw=";
21   };
23   patches = [
24     ./0001-Do-not-require-wget-and-unzip.patch
25   ];
27   cmakeFlags =
28     lib.optional (stdenv.hostPlatform.isStatic) "-DBUILD_SHARED_LIBS=OFF"
29     # upstream turns BUILD_TESTING=OFF by default and doesn't honor cmake's default (=ON)
30     ++ lib.optional (finalAttrs.finalPackage.doCheck) "-DBUILD_TESTING=ON"
31     ++ lib.optional withDocs "-DBUILD_DOCUMENTATION=ON";
33   outputs = [ "out" ] ++ lib.optional withDocs "doc";
35   nativeBuildInputs =
36     [
37       cmake
38     ]
39     ++ lib.optionals withDocs [
40       doxygen
41       graphviz-nox
42     ];
44   doCheck = true;
46   checkInputs = [ gtest ];
48   meta = with lib; {
49     homepage = "https://github.com/eProsima/Fast-CDR";
50     description = "Serialization library for OMG's Common Data Representation (CDR)";
51     longDescription = ''
52       A C++ library that provides two serialization mechanisms. One is the
53       standard CDR serialization mechanism, while the other is a faster
54       implementation that modifies the standard.
55     '';
56     license = licenses.asl20;
57     maintainers = with maintainers; [ panicgh ];
58     platforms = platforms.unix;
59   };