[bug#77743] gnu: astronomy: Add sunwait 0.9.1.

Message ID 20250411142458.2295-1-dziltener@lyrion.ch
State New
Headers
Series [bug#77743] gnu: astronomy: Add sunwait 0.9.1. |

Commit Message

Daniel Ziltener April 11, 2025, 2:24 p.m. UTC
  ---
 gnu/packages/astronomy.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
  

Comments

Andreas Enge April 11, 2025, 3:57 p.m. UTC | #1
Hello,

cc-ing our astronomy guru on a package submission that should interest him :)

Andreas
  
Sharlatan Hellseher April 12, 2025, 8:22 a.m. UTC | #2
Hi,

Thanks for tagging ^.^

I've skimmed the project on GitHub and looks like a small pet project of
the person working in "United States Department of Defense" :-). 

It's reasonably small to have a code review and maybe useful for astro
hobbyists.

Some notes on packaging:

Please add commit message (see any commit pushed to Guix for inspiration).

--8<---------------cut here---------------start------------->8---
+      #:tests? #f

+          (delete 'configure)
--8<---------------cut here---------------end--------------->8---
Please explain in comment string why we skip test and delete configure as
literal as "no tests provided", "no configure provided" etc.

--8<---------------cut here---------------start------------->8---
+    (synopsis "Sunwait calculates sunrise or sunset times.")
--8<---------------cut here---------------end--------------->8---
No full stop (dot) in synopsis (use "guix lint <package-name>" to pick
up such small issues)

License looks correct but it the latest release was in 2022, issue
tracker is alive and the author is responsive, which is a good sign.

Otherwise it's LGFM for me, let's check v2?

--
Oleg
  
Sharlatan Hellseher April 13, 2025, 7:44 p.m. UTC | #3
Hi,

I've applied adjustment to git commit message and to package description:

--8<---------------cut here---------------start------------->8---
modified   gnu/packages/astronomy.scm
@@ -8330,19 +8330,34 @@ (define-public sunwait
     (build-system gnu-build-system)
     (arguments
      (list
-      #:tests? #f
+      #:tests? #f ; no tests provided
       #:make-flags
       #~(list (string-append "CC=" #$(cc-for-target)))
       #:phases
       #~(modify-phases %standard-phases
-          (delete 'configure)
+          (delete 'configure) ; no configure script is provided
           (replace 'install
             (lambda _
               (install-file "sunwait"
                             (string-append #$output "/bin")))))))
     (home-page "https://github.com/risacher/sunwait")
-    (synopsis "Sunwait calculates sunrise or sunset times.")
-    (description "Sunwait calculates sunrise or sunset times with civil, nautical, astronomical and custom twilights.")
+    (synopsis "Sunrise and sunset times calculation")
+    (description
+     "Sunwait calculates sunrise or sunset times with civil, nautical,
+astronomical and custom twilights.  The sun's position is calculated using
+time, and position - latitude and longitude should be specified on the command
+line.
+
+Features:
+
+@itemize
+@item calculates sunrise and sunset for given coordinates
+@item can wait for sunrise/sunset, or return DAY or NIGHT codes
+@item works with Windows Task Scheduler (or cron)
+@item supports custom twilight angles
+@item used to automate domestic lighting with Arduino transmitter and radio
+controlled sockets
+@end itemize")
     (license license:gpl3)))
--8<---------------cut here---------------end--------------->8---

Pushed to master as 33fdb25fac453d1239739b9d5e239f1140b16532.

Thanks,
Oleg
  

Patch

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index dfe1a7d6aa..ad43b40ebc 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -8313,6 +8313,38 @@  (define-public sunclock
 Moon position, etc.")
       (license license:gpl2+))))
 
+(define-public sunwait
+  (package
+    (name "sunwait")
+    (version "0.9.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/risacher/sunwait")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0mzc8bb7zzl1ch3v7w08vw2v50yjxvr7phyb78njpq89wy6hsrxz"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f
+      #:make-flags
+      #~(list (string-append "CC=" #$(cc-for-target)))
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (replace 'install
+            (lambda _
+              (install-file "sunwait"
+                            (string-append #$output "/bin")))))))
+    (home-page "https://github.com/risacher/sunwait")
+    (synopsis "Sunwait calculates sunrise or sunset times.")
+    (description "Sunwait calculates sunrise or sunset times with civil, nautical, astronomical and custom twilights.")
+    (license license:gpl3)))
+
 (define-public swarp
   (package
     (name "swarp")