From c99cca25a13e3635effe436524237cdac13e69f3 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Tue, 24 Dec 2019 16:51:09 -0800 Subject: [PATCH] domoticz: Fix compilation with uClibc-ng Added upstream patch. Signed-off-by: Rosen Penev --- utils/domoticz/Makefile | 2 +- ...seSet-Use-round-instead-of-std-round.patch | 79 +++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 utils/domoticz/patches/030-SunRiseSet-Use-round-instead-of-std-round.patch diff --git a/utils/domoticz/Makefile b/utils/domoticz/Makefile index 5358b44f8..7b40ba075 100644 --- a/utils/domoticz/Makefile +++ b/utils/domoticz/Makefile @@ -12,7 +12,7 @@ PKG_VERSION_MAJOR:=4 PKG_VERSION_PATCH:=10717 PKG_COMMIT:= PKG_VERSION:=$(PKG_VERSION_MAJOR).$(PKG_VERSION_PATCH) -PKG_RELEASE:=2 +PKG_RELEASE:=3 ifeq ($(PKG_COMMIT),) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/utils/domoticz/patches/030-SunRiseSet-Use-round-instead-of-std-round.patch b/utils/domoticz/patches/030-SunRiseSet-Use-round-instead-of-std-round.patch new file mode 100644 index 000000000..a7334e6b2 --- /dev/null +++ b/utils/domoticz/patches/030-SunRiseSet-Use-round-instead-of-std-round.patch @@ -0,0 +1,79 @@ +From 01d0b036179e12284880fb2d29ae579399e5fe91 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Fri, 25 Oct 2019 15:05:14 -0700 +Subject: [PATCH] SunRiseSet: Use round instead of std::round. + +The latter is not available with uClibc-ng. + +Signed-off-by: Rosen Penev +--- + main/SunRiseSet.cpp | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/main/SunRiseSet.cpp b/main/SunRiseSet.cpp +index 14fe07fee7..dce69bc7ba 100644 +--- a/main/SunRiseSet.cpp ++++ b/main/SunRiseSet.cpp +@@ -144,7 +144,7 @@ bool SunRiseSet::GetSunRiseSet(const double latit, const double longit, const in + //astrlen = day_astronomical_twilight_length(year,month,day,longit,latit); + + double _tmpH; +- result.DaylengthMins = static_cast(std::round(modf(daylen, &_tmpH)*60)); ++ result.DaylengthMins = static_cast(round(modf(daylen, &_tmpH)*60)); + result.DaylengthHours = static_cast(_tmpH); + + rs = sun_rise_set(year, month, day, longit, latit, &rise, &set); +@@ -154,14 +154,14 @@ bool SunRiseSet::GetSunRiseSet(const double latit, const double longit, const in + + rise = UtcToLocal(rise, timezone); + set = UtcToLocal(set, timezone); +- result.SunAtSouthMin = static_cast(std::round(modf((rise+set)/2.0, &_tmpH)*60)); ++ result.SunAtSouthMin = static_cast(round(modf((rise+set)/2.0, &_tmpH)*60)); + result.SunAtSouthHour = static_cast(_tmpH); + + switch(rs) { + case 0: +- result.SunRiseMin = static_cast(std::round(modf(rise, &_tmpH)*60)); ++ result.SunRiseMin = static_cast(round(modf(rise, &_tmpH)*60)); + result.SunRiseHour = static_cast(_tmpH); +- result.SunSetMin = static_cast(std::round(modf(set, &_tmpH)*60)); ++ result.SunSetMin = static_cast(round(modf(set, &_tmpH)*60)); + result.SunSetHour = static_cast(_tmpH); + //fix a possible rounding issue above + if (result.SunRiseMin > 59) +@@ -189,9 +189,9 @@ bool SunRiseSet::GetSunRiseSet(const double latit, const double longit, const in + case 0: + civ_start = UtcToLocal(civ_start, timezone); + civ_end = UtcToLocal(civ_end, timezone); +- result.CivilTwilightStartMin = static_cast(std::round(modf(civ_start, &_tmpH)*60)); ++ result.CivilTwilightStartMin = static_cast(round(modf(civ_start, &_tmpH)*60)); + result.CivilTwilightStartHour = static_cast(_tmpH); +- result.CivilTwilightEndMin = static_cast(std::round(modf(civ_end, &_tmpH)*60)); ++ result.CivilTwilightEndMin = static_cast(round(modf(civ_end, &_tmpH)*60)); + result.CivilTwilightEndHour = static_cast(_tmpH); + break; + case +1: +@@ -208,9 +208,9 @@ bool SunRiseSet::GetSunRiseSet(const double latit, const double longit, const in + case 0: + naut_start = UtcToLocal(naut_start, timezone); + naut_end = UtcToLocal(naut_end, timezone); +- result.NauticalTwilightStartMin = static_cast(std::round(modf(naut_start, &_tmpH)*60)); ++ result.NauticalTwilightStartMin = static_cast(round(modf(naut_start, &_tmpH)*60)); + result.NauticalTwilightStartHour = static_cast(_tmpH); +- result.NauticalTwilightEndMin = static_cast(std::round(modf(naut_end, &_tmpH)*60)); ++ result.NauticalTwilightEndMin = static_cast(round(modf(naut_end, &_tmpH)*60)); + result.NauticalTwilightEndHour = static_cast(_tmpH); + break; + case +1: +@@ -227,9 +227,9 @@ bool SunRiseSet::GetSunRiseSet(const double latit, const double longit, const in + case 0: + astr_start = UtcToLocal(astr_start, timezone); + astr_end = UtcToLocal(astr_end, timezone); +- result.AstronomicalTwilightStartMin = static_cast(std::round(modf(astr_start, &_tmpH)*60)); ++ result.AstronomicalTwilightStartMin = static_cast(round(modf(astr_start, &_tmpH)*60)); + result.AstronomicalTwilightStartHour = static_cast(_tmpH); +- result.AstronomicalTwilightEndMin = static_cast(std::round(modf(astr_end, &_tmpH)*60)); ++ result.AstronomicalTwilightEndMin = static_cast(round(modf(astr_end, &_tmpH)*60)); + result.AstronomicalTwilightEndHour = static_cast(_tmpH); + break; + case +1: