Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / domoticz / default.nix
blob61fcc87624410c9cf0ff864a45b79eced203fa9f
1 { lib, stdenv,
2   fetchFromGitHub,
3   makeWrapper,
4   cmake,
5   python3,
6   openssl,
7   pkg-config,
8   mosquitto,
9   lua5_3,
10   sqlite,
11   jsoncpp,
12   zlib,
13   boost,
14   curl,
15   git,
16   libusb-compat-0_1,
17   cereal
20 stdenv.mkDerivation rec {
21   pname = "domoticz";
22   version = "2024.4";
24   src = fetchFromGitHub {
25     owner = "domoticz";
26     repo = pname;
27     rev = version;
28     hash = "sha256-bIA7Dx8XV2zT2Cdm4CwKX6xfedBREhevE/bN76o4r78=";
29     fetchSubmodules = true;
30   };
32   buildInputs = [
33     openssl
34     python3
35     mosquitto
36     lua5_3
37     sqlite
38     jsoncpp
39     boost
40     zlib
41     curl
42     git
43     libusb-compat-0_1
44     cereal
45   ];
47   nativeBuildInputs = [
48     cmake
49     pkg-config
50     makeWrapper
51   ];
53   cmakeFlags = [
54     "-DUSE_BUILTIN_MQTT=false"
55     "-DUSE_BUILTIN_LUA=false"
56     "-DUSE_BUILTIN_SQLITE=false"
57     "-DUSE_BUILTIN_JSONCPP=false"
58     "-DUSE_BUILTIN_ZLIB=false"
59     "-DUSE_OPENSSL_STATIC=false"
60     "-DUSE_STATIC_BOOST=false"
61     "-DUSE_BUILTIN_MINIZIP=true"
62   ];
64   installPhase = ''
65     mkdir -p $out/share/domoticz
66     cp -r $src/www $out/share/domoticz/
67     cp -r $src/Config $out/share/domoticz
68     cp -r $src/scripts $out/share/domoticz
69     cp -r $src/plugins $out/share/domoticz
71     mkdir -p $out/bin
72     cp domoticz $out/bin
73     wrapProgram $out/bin/domoticz --set LD_LIBRARY_PATH ${python3}/lib;
74   '';
76   meta = with lib; {
77     description = "Home automation system";
78     longDescription = ''
79       Domoticz is a home automation system that lets you monitor and configure
80       various devices like: lights, switches, various sensors/meters like
81       temperature, rain, wind, UV, electra, gas, water and much more
82     '';
83     maintainers = with maintainers; [ edcragg ];
84     homepage = "https://www.domoticz.com/";
85     changelog = "https://github.com/domoticz/domoticz/blob/${version}/History.txt";
86     license = licenses.gpl3Plus;
87     platforms = platforms.all;
88     broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/domoticz.x86_64-darwin
89     mainProgram = "domoticz";
90   };