diff mbox

gnu: Add GNU Radio.

Message ID b4064fa0-c0ca-cad7-46f7-07d28f94e0e5@gmail.com
State New
Headers show

Commit Message

Manolis Ragkousis Aug. 16, 2016, 11:28 a.m. UTC
Hello,

I noticed that we didn't have GNU Radio packaged, so here you go.

Manolis

Comments

Ricardo Wurmus Aug. 16, 2016, 12:59 p.m. UTC | #1
Manolis Ragkousis <manolis837@gmail.com> writes:

> I noticed that we didn't have GNU Radio packaged, so here you go.

Interesting.  I have a gnuradio branch here because it looked a lot more
complicated to get it to build.

Here’s my attempt:

+
+(define-public gnuradio
+  (package
+    (name "gnuradio")
+    (version "3.7.5")
+    (source  (origin
+               (method url-fetch)
+               (uri (string-append "http://gnuradio.org/releases/gnuradio/"
+                                   "gnuradio-" version ".tar.gz"))
+               (sha256
+                (base32
+                 "0hv2nyz2hp1mjinin2q7jimh9mr81rjqvghqmaglz8w70qcn4zs6"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "-DENABLE_VOLK=OFF")))
+    (inputs
+     `(("boost" ,boost)
+       ("python" ,python-2)
+       ("fftwf" ,fftwf)
+       ("gsl" ,gsl)
+       ("libusb" ,libusb)
+       ("alsa-lib" ,alsa-lib)
+       ("jack" ,jack-1)
+       ("graphviz" ,graphviz)
+       ("guile" ,guile-2.0)))
+    (native-inputs
+     `(("cppunit" ,cppunit)
+       ("doxygen" ,doxygen)
+       ("which" ,which)
+       ("pkg-config" ,pkg-config)
+       ("swig" ,swig)))
+    (synopsis "Software radio implementations")
+    (description
+     "GNU Radio is a toolkit for implementing software radios.  Its signal
+processing blocks can be combined with low-cost external RF hardware
+to create software-defined radios.  Without hardware, it can be used
+for simulation.  Radio applications are primarily written in Python,
+with C++ support for performance-critical processing tasks.")
+    (home-page "http://gnuradio.org/redmine/projects/gnuradio/wiki")
+    (license license:gpl3+)))

Shouldn’t there be more inputs?

(My patch was originally based on the last release that was published on
GNU ftp, so some of the inputs may no longer be used.)

~~ Ricardo
Manolis Ragkousis Aug. 16, 2016, 1:38 p.m. UTC | #2
I am resending my response because I forgot to cc the list.

On 08/16/16 16:02, Manolis Ragkousis wrote:
> Hey Ricardo,
> 
> Maybe I should check again the output of my gnuradio package. I will
> report back.
> 
> Manolis
>
Ricardo Wurmus Sept. 26, 2016, 12:48 p.m. UTC | #3
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> writes:

> Manolis Ragkousis <manolis837@gmail.com> writes:
>
>> I noticed that we didn't have GNU Radio packaged, so here you go.
>
> Interesting.  I have a gnuradio branch here because it looked a lot more
> complicated to get it to build.

Hi Manolis,

I didn’t mean to block this patch.  If your GNU Radio package works,
please go ahead and push it!

~~ Ricardo
Manolis Ragkousis Sept. 26, 2016, 12:53 p.m. UTC | #4
Hello Ricardo,

Because I was afk for 2 weeks, thanks to some personal matters, I didn't
have time to work on Guix at all.

I am slowly catching up and will push it when it's ready. Your concerns
were right, it doesn't work as expected.

Manolis
diff mbox

Patch

From 7456142768bcdbd0782f475cd55c928f92c18472 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis837@gmail.com>
Date: Tue, 16 Aug 2016 14:23:17 +0300
Subject: [PATCH] gnu: Add GNU Radio.

* gnu/packages/gnuradio.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk              |  1 +
 gnu/packages/gnuradio.scm | 53 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+)
 create mode 100644 gnu/packages/gnuradio.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7416850..f298e69 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -149,6 +149,7 @@  GNU_SYSTEM_MODULES =				\
   %D%/packages/gnucash.scm			\
   %D%/packages/gnunet.scm			\
   %D%/packages/gnupg.scm			\
+  %D%/packages/gnuradio.scm			\
   %D%/packages/gnustep.scm			\
   %D%/packages/gnuzilla.scm			\
   %D%/packages/gnu-pw-mgr.scm			\
diff --git a/gnu/packages/gnuradio.scm b/gnu/packages/gnuradio.scm
new file mode 100644
index 0000000..9479b47
--- /dev/null
+++ b/gnu/packages/gnuradio.scm
@@ -0,0 +1,53 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages gnuradio)
+  #:use-module (guix licenses)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (guix utils)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages boost))
+
+(define-public gnuradio
+  (package
+    (name "gnuradio")
+    (version "3.7.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://gnuradio.org/releases/gnuradio/gnuradio-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0j8vyd66ci89d0jzvg8wiyranmrz1r5a51hmg21cd78spr8qij54"))))
+    (build-system cmake-build-system)
+    (native-inputs `(("boost" ,boost)
+                     ("python" ,python-2)
+                     ("python2-cheetah" ,python2-cheetah)))
+    (home-page "http://gnuradio.org/")
+    (synopsis "GNU Radio")
+    (description
+     "GNU Radio is a toolkit for implementing software radios.  Its signal
+processing blocks can be combined with low-cost external RF hardware to
+create software-defined radios.  Without hardware, it can be used for
+simulation.  Radio applications are primarily written in Python, with C++
+support for performance-critical processing tasks.")
+    (license gpl3+)))
-- 
2.9.2