<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello, Elwood Downey, and welcome to MacPorts-dev!<br>
    </p>
    <div class="moz-cite-prefix">On 2025-06-17 21:20, Elwood Downey
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAL98DL5fWUzFAj4bHvxcVBCz0HPmNQFZayLZ+3QtDYPQU_9L7Q@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>...I skimmed your instructions for submitting a new port
          but 1) I do not have and do not want a github account and 2) I
          am super lazy when it comes to systemy things, I only enjoy
          programming.</div>
        <div><br>
        </div>
        <div>So on the outside chance someone else would be willing to
          do it all for me, I hereby humbly submit my amateur radio
          program <a href="https://clearskyinstitute.com/ham/HamClock"
            target="_blank" moz-do-not-send="true">HamClock</a> for
          consideration as a new port.</div>
        ...[elided]...<br>
        <div><font face="monospace">name                hamclock<br>
            version             4.18<br>
            categories          amateur radio<br>
            platforms           darwin<br>
            license             MIT<br>
            maintainers         Elwood Downey, <a
              href="mailto:ecdowney@clearskyinstitute.com"
              target="_blank" moz-do-not-send="true"
              class="moz-txt-link-freetext">ecdowney@clearskyinstitute.com</a><br>
            description         provides useful data for amateur radio
            operators<br>
            long_description    HamClock is a kiosk-style application
            that provides real time space weather, radio propagation
            models, operating events and other information particularly
            useful to the radio amateur.<br>
            homepage            <a
              href="https://www.clearskyinstitute.com/ham/HamClock"
              target="_blank" moz-do-not-send="true"
              class="moz-txt-link-freetext">https://www.clearskyinstitute.com/ham/HamClock</a><br>
            master_sites        <a
href="https://www.clearskyinstitute.com/ham/HamClock/ESPHamClock.tgz"
              target="_blank" moz-do-not-send="true"
              class="moz-txt-link-freetext">https://www.clearskyinstitute.com/ham/HamClock/ESPHamClock.tgz</a></font></div>
      </div>
    </blockquote>
    <p>What a lovely project! HamClock appears to integrate a lot of
      useful data from many sources. I can imagine it being very
      valuable to the people for whom it is intended. It would be a fine
      port IMHO.<br>
    </p>
    <p>I took the liberty of doing a "systemy thing" for you: creating a
      Macports trac ticket #72625[1] requesting that a port be created
      for Hamclock. This doesn't commit me or anyone else to do the
      work, but it provides a starting point for anyone interested. It
      includes a link to this thread[2] in the macports-dev archives.</p>
    <p>From my limited experience writing ports, I can imagine five or
      so hurdles. </p>
    <p>One, as Ryan said, HamClock's self-update function conflicts with
      a macports principle that ports don't modify themselves, only
      macports modifies ports. </p>
    <p>Two, and related, there appears to be only URLs for the current
      version of the source code, while macports works better with
      repositories which offer URLs for each software version. So for
      HamClock that might be: </p>
    <blockquote>
      <p> <a class="moz-txt-link-freetext" href="https://www.clearskyinstitute.com/ham/HamClock/4.18/ESPHamClock.tgz">https://www.clearskyinstitute.com/ham/HamClock/4.18/ESPHamClock.tgz</a></p>
    </blockquote>
    <p>Normally, macports deal with target project version changes by
      having someone update the portfile and submit it to Macports. Each
      version of a portfile describes a specific version of the target
      project, and gives a specific URL for that verion of the target
      project's source code. When the target project releases a new
      version, someone notices and updates the portfile to specify the
      new version and the new download URL. They submit the new portfile
      to Macports. Eventually Macports users update their Portfile
      collection from Macports. Then the user's copy of Macports becomes
      aware of the new port version, and offers to perform the update. <br>
    </p>
    <p>Three, as Dave Allured points out, the portfile author needs to
      figure out what other libs HamClock depends on, and which ports
      supply those libs. These dependencies get recorded in the
      portfile.<br>
    </p>
    <p>Four, the HamClock top-level Makefile hard-codes some install
      paths and library paths. The portfile will need to patch these.
      That is a normal thing to do, and functions exist to do it, but it
      will be an extra task for the portfile author.<br>
    </p>
    <p>Five, HamClock can display graphics at various horizontal and
      vertical pixel sizes, and as a local display (via X11) or as a web
      service. The portfile can offer "variants" as a way to let the
      user choose these options at build time. The portfile author might
      choose to offer these variants, and tie them back to the Makefile
      targets. That is a further task. <br>
    </p>
    <p>Also, at the risk of distracting you with "systemy" things, might
      I suggest a few clarifications to the HamClock website[3]? <br>
    </p>
    <ul>
      <li>The download tab did not make it clear to me that it offered
        source code. I interpreted it as offering precompiled binaries.
        Consider adding a subheading "Source code" before the first line
        of the tab, and changing the following line "revision history"
        to be a subheading.</li>
      <li>If you decide to have separate URLs to the various versions of
        the source code, then maybe you will want somewhere a list of
        versions, each with the download link for that version's source
        code.</li>
      <li>The website doesn't make it clear that the project's code is
        freely licensed. Yes, the source code archive has a LICENSE file
        containing the MIT licence text, but that isn't visible before
        downloading. Consider having a tab "License", or a link from a
        relevant place like the source code link in the Download tab,
        pointing to the software license.<br>
      </li>
      <li>Do you seek contributions of bug fixes and patches with
        improvements?  If so, I would expect to see a tab reading "How
        to contribute" or the like. I don't see that. </li>
    </ul>
    <p>Overall, HamClock looks like a lovely project. Thank you for
      proposing it to macports. I hope someone takes the offer and
      finishes the portfile. <br>
    </p>
    <p>Best regards,<br>
          —Jim "VE7YJD" DeLaHunt<br>
    </p>
    <p><br>
    </p>
    <p>[1] hamclock: make a port for Hamclock project
      <a class="moz-txt-link-rfc2396E" href="https://trac.macports.org/ticket/72625"><https://trac.macports.org/ticket/72625></a><br>
      [2] thread "submitting a new port, sort of"
<a class="moz-txt-link-rfc2396E" href="https://lists.macports.org/pipermail/macports-dev/2025-June/046320.html"><https://lists.macports.org/pipermail/macports-dev/2025-June/046320.html></a><br>
      [3] <a class="moz-txt-link-rfc2396E" href="https://www.clearskyinstitute.com/ham/HamClock/"><https://www.clearskyinstitute.com/ham/HamClock/></a><br>
    </p>
    <p><br>
    </p>
    <pre class="moz-signature" cols="72">-- 
.   --Jim DeLaHunt, <a class="moz-txt-link-abbreviated" href="mailto:jdlh@jdlh.com">jdlh@jdlh.com</a>     <a class="moz-txt-link-freetext" href="http://blog.jdlh.com/">http://blog.jdlh.com/</a> (<a class="moz-txt-link-freetext" href="http://jdlh.com/">http://jdlh.com/</a>)
      multilingual websites consultant, Vancouver, B.C., Canada</pre>
  </body>
</html>