summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-04-29 01:11:53 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-04-29 01:17:37 +0200
commitf93eebbf9ca8477404827f44daf3121b11120e99 (patch)
treed1fd784d7d3ea9ad625d74c13f1ddc4a6348e34e /gnu
parente4aa9ab6378f4422ab31fd977102d7ceb7b3bd43 (diff)
downloadguix-f93eebbf9ca8477404827f44daf3121b11120e99.tar.gz
gnu: Add xnec2c.
* gnu/packages/radio.scm (xnec2c): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/radio.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 4e11dda40a..b439e5feff 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -829,3 +829,52 @@ modes were all designed for making reliable, confirmed QSOs under extreme
 weak-signal conditions.")
     (home-page "https://www.physics.princeton.edu/pulsar/k1jt/wsjtx.html")
     (license license:gpl3)))
+
+(define-public xnec2c
+  (package
+    (name "xnec2c")
+    (version "4.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.5b4az.org/pkg/nec2/xnec2c/xnec2c-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32 "1myvlkfybb2ha8l0h96ca3iz206zzy9z5iizm0sbab2zzp78n1r9"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gtk+" ,gtk+)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-makefile
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("Makefile.am" "Makefile.in")
+               ;; The DESTDIR variable does not get replaced the prefix
+               ;; in the final Makefile, so let's do here.
+               (("\\$\\(DESTDIR\\)/usr")
+                (assoc-ref outputs "out")))
+             #t))
+         (add-after 'fix-makefile 'fix-paths
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Increase the max length of the path to the glade file,
+             ;; so that the '/gnu/store/...' path can fit in.
+             (substitute* '("src/shared.c" "src/shared.h")
+               (("char xnec2c_glade\\[64\\];")
+                "char xnec2c_glade[256];"))
+             ;; Fix hard coded references to '/usr/...'.
+             (substitute* '("src/geom_edit.c" "src/main.c")
+               (("\"/usr")
+                (string-append "\"" (assoc-ref outputs "out"))))
+             #t)))))
+    (synopsis "Antenna modeling software")
+    (description
+     "Xnec2c is a GTK3-based graphical version of nec2c, a translation to the
+C language of NEC2, the FORTRAN Numerical Electromagnetics Code commonly used
+for antenna simulation and analysis.  It can be used to define the geometry of
+an antenna, and then plot the radiation pattern or frequency-related data like
+gain and standing wave ratio.")
+    (home-page "http://www.5b4az.org/")
+    (license license:gpl3+)))