nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 cmake,
5 cppzmq,
6 curl,
7 fetchFromGitLab,
8 fetchpatch,
9 libjpeg,
10 omniorb,
11 openssl,
12 opentelemetry-cpp,
13 protobuf,
14 tango-idl,
15 zeromq,
16}:
17stdenv.mkDerivation (finalAttrs: {
18 pname = "tango-cpp";
19 version = "10.1.1";
20
21 src = fetchFromGitLab {
22 owner = "tango-controls";
23 repo = "cppTango";
24 tag = finalAttrs.version;
25 fetchSubmodules = true;
26 hash = "sha256-Edv7ZGnESjpuwt0Hentl0qgV2PfBgXWED7v9pUvTW0o=";
27 };
28
29 patches = [
30 # corresponds to PR https://gitlab.com/tango-controls/cppTango/-/merge_requests/1525
31 (fetchpatch {
32 url = "https://gitlab.com/tango-controls/cppTango/-/commit/66bd2d9deb79fb557eb2314376f9559e7476d3a1.patch";
33 hash = "sha256-ZUcBS4apVfXmXKnpGOQJ9DF8t79qJ2yqKXwaseiOC6U=";
34 })
35 ];
36
37 nativeBuildInputs = [
38 cmake
39 cppzmq
40 tango-idl
41 ];
42
43 buildInputs = [
44 curl
45 libjpeg
46 omniorb
47 openssl
48 (opentelemetry-cpp.override {
49 enableGrpc = true;
50 enableHttp = true;
51 })
52 protobuf
53 zeromq
54 ];
55
56 meta = {
57 description = "Tango Distributed Control System - C++ library";
58 homepage = "https://gitlab.com/tango-controls/cppTango";
59 license = lib.licenses.lgpl3;
60 platforms = lib.platforms.linux;
61 maintainers = [ lib.maintainers.gilice ];
62 };
63})