nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 68 lines 1.8 kB view raw
1{ 2 stdenv, 3 lib, 4 cmake, 5 cppzmq, 6 fetchFromGitLab, 7 libjpeg, 8 mariadb, 9 mariadb-connector-c, 10 omniorb, 11 opentelemetry-cpp, 12 protobuf, 13 tango-cpp, 14}: 15 16# NOTE: You need to manually set up the database structure to run Tango successfully. 17# See $out/share/tango/db/create_db.sh 18stdenv.mkDerivation (finalAttrs: { 19 pname = "tango-database"; 20 version = "5.28"; 21 22 src = fetchFromGitLab { 23 owner = "tango-controls"; 24 repo = "TangoDatabase"; 25 tag = "Database-Release-${finalAttrs.version}"; 26 fetchSubmodules = true; 27 hash = "sha256-r8jrsDR22u30l1R6mK95KsLWHhheZa4/N6n/Xv4mKPc="; 28 }; 29 30 nativeBuildInputs = [ 31 cmake 32 ]; 33 34 buildInputs = [ 35 cppzmq 36 libjpeg 37 mariadb.client 38 mariadb-connector-c.dev 39 omniorb 40 (opentelemetry-cpp.override { 41 enableGrpc = true; 42 enableHttp = true; 43 }) 44 protobuf 45 tango-cpp 46 ]; 47 48 # their FindMySQL.cmake fails to find these libraries, 49 # maybe because mariadb-connector-c puts its libraries into $out/lib/mariadb, not $out/lib? 50 cmakeFlags = [ 51 "-DMySQL_INCLUDE_DIR=${mariadb-connector-c.dev}/include/mysql" 52 "-DMySQL_LIBRARY_DEBUG=${mariadb-connector-c}/lib/mariadb/libmariadb.so" 53 "-DMySQL_LIBRARY_RELEASE=${mariadb-connector-c}/lib/mariadb/libmariadb.so" 54 ]; 55 56 postFixup = '' 57 patchelf --add-rpath ${mariadb-connector-c}/lib/mariadb $out/bin/Databaseds 58 ''; 59 60 meta = { 61 description = "Tango distributed control system - database server"; 62 homepage = "https://gitlab.com/tango-controls/TangoDatabase"; 63 changelog = "https://gitlab.com/tango-controls/TangoDatabase/-/blob/Database-Release-${finalAttrs.version}/RELEASE_NOTES.md"; 64 license = lib.licenses.gpl3Plus; 65 platforms = lib.platforms.linux; 66 maintainers = [ lib.maintainers.gilice ]; 67 }; 68})