<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>