<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/53cf5d7d2e02f182db61ea1177151bd221ee9972">https://github.com/macports/macports-ports/commit/53cf5d7d2e02f182db61ea1177151bd221ee9972</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 53cf5d7 sunwait: use GitHub, add upstream DST edge case patch
</span>53cf5d7 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 53cf5d7d2e02f182db61ea1177151bd221ee9972
</span>Author: Marius Schamschula <mps@macports.org>
AuthorDate: Wed Nov 21 08:57:27 2018 -0600
<span style='display:block; white-space:pre;color:#404040;'> sunwait: use GitHub, add upstream DST edge case patch
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/57657
</span>---
sysutils/sunwait/Portfile | 38 +++++-------
sysutils/sunwait/files/patch-makefile.diff | 10 +++-
.../files/patch-sunwait.cpp-DST_edge_cases.diff | 69 ++++++++++++++++++++++
3 files changed, 91 insertions(+), 26 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/sunwait/Portfile b/sysutils/sunwait/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ffdd4ac..644643d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/sunwait/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/sunwait/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,11 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8::et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name sunwait
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup klada sunwait 0.8
</span> epoch 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 0.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 3
</span> categories sysutils
license GPL-3
platforms darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,27 +19,22 @@ long_description \
</span> one of these events, making it useful for home automation \
tasks that should happen relative to the sun's position.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage https://sourceforge.net/projects/sunwait4windows/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites sourceforge:sunwait4windows
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname ${name}[string map {. -} ${version}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 3ba0d5ab15ce346633d04cb8929cf432f71a7ca5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 839ac6853f21073fa85619fac049d416619e2e6bac7a966df02e1045df13f625
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.cmd cat
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.pre_args
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.suffix .tar
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir ${name}/${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 29f22a395909e72b3a501259b175b0ac875178d3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 4d403b4739834b866c5eb992fa5e67170a8676918180d48e6068f008660a88a2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 20317
</span>
patchfiles patch-makefile.diff \
patch-sunriset.cpp.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-sunwait.cpp.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-sunwait.cpp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-sunwait.cpp-DST_edge_cases.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|%PREFIX%|${prefix}|" ${worksrcpath}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
use_configure no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant universal {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {}
</span>
build.args C="${configure.cxx} [get_canonical_archflags cxx]"
build.target sunwait
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,8 +42,3 @@ build.target sunwait
</span> destroot {
xinstall -m 755 ${worksrcpath}/sunwait ${destroot}${prefix}/bin
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url https://sourceforge.net/projects/sunwait4windows/files/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex (${name}\[0-9\-\]+)${extract.suffix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.version ${distname}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/sunwait/files/patch-makefile.diff b/sysutils/sunwait/files/patch-makefile.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index f272064..8bce1d5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/sunwait/files/patch-makefile.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/sunwait/files/patch-makefile.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- makefile.orig 2015-06-01 08:25:41.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ makefile 2016-08-21 22:25:19.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.orig 2015-09-20 09:07:55.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile 2018-11-21 08:52:05.000000000 -0600
</span> @@ -5,10 +5,10 @@
#
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,3 +14,9 @@
</span> OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=sunwait
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,4 +24,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f *.o sunwait
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- install -D -m 755 sunwait $(DESTDIR)/usr/bin/sunwait
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ install -D -m 755 sunwait $(DESTDIR)%PREFIX%/bin/sunwait
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/sunwait/files/patch-sunwait.cpp-DST_edge_cases.diff b/sysutils/sunwait/files/patch-sunwait.cpp-DST_edge_cases.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..dfd446b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/sunwait/files/patch-sunwait.cpp-DST_edge_cases.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,69 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/sunwait.cpp b/sunwait.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 297fffd..8888be1 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- sunwait.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ sunwait.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -431,11 +431,11 @@ void myLocalTime (const time_t *pTimet, struct tm *pTm)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ double getUtcBiasHours (const time_t *pTimet)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct tm utcTm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct tm tmpTm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ double utcBiasHours = 0.0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Populate "struct tm" with UTC data for the given day
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- myUtcTime (pTimet, &utcTm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Populate "struct tm" with calendar data for the given day
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ myLocalTime (pTimet, &tmpTm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Windows code: Start */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined _WIN32 || defined _WIN64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -443,13 +443,13 @@ double getUtcBiasHours (const time_t *pTimet)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Keep to the same day given, but go for noon. Daylight savings changes usually happen in the early hours.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // mktime() changes the values in "struct tm", so I need to use a private one anyway.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- utcTm.tm_hour = 12;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- utcTm.tm_min = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- utcTm.tm_sec = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmpTm.tm_hour = 12;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmpTm.tm_min = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ tmpTm.tm_sec = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Now convert this time to time_t (which is always, by definition, UTC),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // so I can run both of the two functions I can use that differentiate between timezones, using the same UTC moment.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- time_t noonTimet = mktime (&utcTm); // Unfortunately this is noonTimet is local time. It's the best I can do.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ time_t noonTimet = mktime (&tmpTm); // Unfortunately this is noonTimet is local time. It's the best I can do.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // If it was UTC, all locations on earth are within the same day at noon.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // (Because UTC = GMT. Noon GMT +/- 12hrs nestles upto, but not across, the dateline)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Local-time 'days' (away from GMT) will probably cross the date line.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -481,9 +481,9 @@ double getUtcBiasHours (const time_t *pTimet)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char buffer [80];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ signed long int tmpLong = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- mktime (&utcTm); // Let "mktime()" do it's magic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mktime (&tmpTm); // Let "mktime()" do its magic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- strftime (buffer, 80, "%z", &utcTm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ strftime (buffer, 80, "%z", &tmpTm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (strlen (buffer) > 0 && myIsNumber (buffer))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { tmpLong = atol (buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -801,7 +801,10 @@ int main (int argc, char *argv[])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ** Get: Target Date
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { struct tm targetTm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { struct tm targetTm, localTm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ myLocalTime (&pRun->nowTimet, &localTm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int isdst = localTm.tm_isdst;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Populate targetTm :-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Get the target day (as "struct tm") for "now" - the default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -859,6 +862,7 @@ int main (int argc, char *argv[])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Shave off (add) UTC offset, so that time_t is converted from midnight local-time to midnight UTC on the target day
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ targetTm.tm_sec += myRound (pRun->utcBiasHours * 60.0 * 60.0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ targetTm.tm_isdst = isdst;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // All done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pRun->targetTimet = mktime (&targetTm); // <<<<<< The important bit done <<< targetTimet is set to midnight UTC
</span></pre><pre style='margin:0'>
</pre>