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