|
|
|
@ -1,23 +1,33 @@ |
|
|
|
|
{ lib, stdenv, fetchFromGitHub |
|
|
|
|
{ lib, stdenv, fetchFromGitHub, fetchpatch |
|
|
|
|
, doxygen, fontconfig, graphviz-nox, libxml2, pkg-config, which |
|
|
|
|
, systemd }: |
|
|
|
|
|
|
|
|
|
let |
|
|
|
|
version = "2019-12-08"; |
|
|
|
|
|
|
|
|
|
in stdenv.mkDerivation { |
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "openzwave"; |
|
|
|
|
inherit version; |
|
|
|
|
version = "1.6"; |
|
|
|
|
|
|
|
|
|
# Use fork by Home Assistant because this package is mainly used for python.pkgs.homeassistant-pyozw. |
|
|
|
|
# See https://github.com/OpenZWave/open-zwave/compare/master...home-assistant:hass for the difference. |
|
|
|
|
src = fetchFromGitHub { |
|
|
|
|
owner = "home-assistant"; |
|
|
|
|
owner = "OpenZWave"; |
|
|
|
|
repo = "open-zwave"; |
|
|
|
|
rev = "2cd2137025c529835e4893a7b87c3d56605b2681"; |
|
|
|
|
sha256 = "04g8fb4f4ihakvvsmzcnncgfdd2ikmki7s22i9c6layzdwavbwf1"; |
|
|
|
|
rev = "v${version}"; |
|
|
|
|
sha256 = "0xgs4mmr0480c269wx9xkk67ikjzxkh8xcssrdx0f5xcl1lyd333"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
patches = [ |
|
|
|
|
(fetchpatch { |
|
|
|
|
name = "fix-strncat-build-failure.patch"; |
|
|
|
|
url = "https://github.com/OpenZWave/open-zwave/commit/601e5fb16232a7984885e67fdddaf5b9c9dd8105.patch"; |
|
|
|
|
sha256 = "1n1k5arwk1dyc12xz6xl4n8yw28vghzhv27j65z1nca4zqsxgza1"; |
|
|
|
|
}) |
|
|
|
|
(fetchpatch { |
|
|
|
|
name = "fix-text-uninitialized.patch"; |
|
|
|
|
url = "https://github.com/OpenZWave/open-zwave/commit/3b029a467e83bc7f0054e4dbba1e77e6eac7bc7f.patch"; |
|
|
|
|
sha256 = "183mrzjh1zx2b2wzkj4jisiw8br7g7bbs167afls4li0fm01d638"; |
|
|
|
|
}) |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
outputs = [ "out" "doc" ]; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ doxygen fontconfig graphviz-nox libxml2 pkg-config which ]; |
|
|
|
|
|
|
|
|
|
buildInputs = [ systemd ]; |
|
|
|
@ -26,13 +36,9 @@ in stdenv.mkDerivation { |
|
|
|
|
|
|
|
|
|
enableParallelBuilding = true; |
|
|
|
|
|
|
|
|
|
installPhase = '' |
|
|
|
|
runHook preInstall |
|
|
|
|
|
|
|
|
|
DESTDIR=$out PREFIX= pkgconfigdir=lib/pkgconfig make install $installFlags |
|
|
|
|
|
|
|
|
|
runHook postInstall |
|
|
|
|
''; |
|
|
|
|
makeFlags = [ |
|
|
|
|
"PREFIX=${placeholder "out"}" |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
FONTCONFIG_FILE="${fontconfig.out}/etc/fonts/fonts.conf"; |
|
|
|
|
FONTCONFIG_PATH="${fontconfig.out}/etc/fonts/"; |
|
|
|
@ -42,15 +48,6 @@ in stdenv.mkDerivation { |
|
|
|
|
--replace /etc/openzwave $out/etc/openzwave |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
fixupPhase = '' |
|
|
|
|
substituteInPlace $out/lib/pkgconfig/libopenzwave.pc \ |
|
|
|
|
--replace prefix= prefix=$out \ |
|
|
|
|
--replace dir= dir=$out |
|
|
|
|
|
|
|
|
|
substituteInPlace $out/bin/ozw_config \ |
|
|
|
|
--replace pcfile=${pkg-config} pcfile=$out |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
meta = with lib; { |
|
|
|
|
description = "C++ library to control Z-Wave Networks via a USB Z-Wave Controller"; |
|
|
|
|
homepage = "http://www.openzwave.net/"; |
|
|
|
|