guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add ola


From: Alex Vong
Subject: Re: [PATCH] gnu: Add ola
Date: Fri, 26 Aug 2016 10:08:33 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi,

John J Foerch <address@hidden> writes:

> Hello,
>
> Here is a package definition for ola (Open Lighting Architecture).  I
> was having trouble getting ola's python bindings to build, as detailed
> in an earlier message, so this patch does not include them.  I intend to
> add them when I figure out how, but since they're not essential to the
> function of the library, I think they need not block adding the basic
> package.  Ola also provides bindings for java, but they depend on Apache
> maven, which we don't seem to have a package for yet, so here again, I
> think that this can be added later.
>
> Please let me know of anything that should be changed.
>
> Thank you,
>
> --
> John Foerch
>
>
> From f600e8a43997efecb9587a9c39579a7d6f3291f4 Mon Sep 17 00:00:00 2001
> From: "John J. Foerch" <address@hidden>
> Date: Wed, 3 Aug 2016 21:36:52 -0500
> Subject: [PATCH] gnu: Add ola.
>
> * gnu/packages/ola.scm (ola): New variable.
> ---
>  gnu/packages/ola.scm | 77 
> ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 77 insertions(+)
>  create mode 100644 gnu/packages/ola.scm
>
> diff --git a/gnu/packages/ola.scm b/gnu/packages/ola.scm
> new file mode 100644
> index 0000000..f47c029
> --- /dev/null
> +++ b/gnu/packages/ola.scm
> @@ -0,0 +1,77 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 John J. Foerch <address@hidden>
> +;;;
> +;;; 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 ola)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix download)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix packages)
> +  #:use-module (gnu packages bison)
> +  #:use-module (gnu packages check)
> +  #:use-module (gnu packages compression)
> +  #:use-module (gnu packages gnunet)
> +  #:use-module (gnu packages flex)
> +  #:use-module (gnu packages libftdi)
> +  #:use-module (gnu packages libusb)
> +  #:use-module (gnu packages linux)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages protobuf))
> +
> +(define-public ola
> +  (package
> +    (name "ola")
> +    (version "0.10.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    
> "https://github.com/OpenLightingProject/ola/releases/download/";
> +                    version "/ola-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("bison" ,bison)
> +       ("cppunit" ,cppunit)
> +       ("flex" ,flex)
> +       ("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("libftdi" ,libftdi)
> +       ("libmicrohttpd" ,libmicrohttpd)
> +       ("libusb" ,libusb)
> +       ("libuuid" ,util-linux)
> +       ("zlib" ,zlib)))
> +    (propagated-inputs
> +     `(("protobuf" ,protobuf)))
> +    (arguments
> +     `(;; G++ >= 4.8 macro expansion tracking requires lots of memory, 
> causing
> +       ;; build to fail on low memory systems.  We disable that with the
> +       ;; following configure flags.
> +       #:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0")
> +       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs 
> "out")))
> +       #:phases %standard-phases))
> +    (synopsis "Framework for controlling entertainment lighting equipment")
> +    (description "The Open Lighting Architecture is a framework for lighting
> +control information.  It supports a range of protocols and over a dozen USB
> +devices.  It can run as a standalone service, which is useful for converting
> +signals between protocols, or alternatively using the OLA API, it can be used
> +as the backend for lighting control software.  OLA runs on many different
> +platforms including ARM, which makes it a perfect fit for low cost Ethernet 
> to
> +DMX gateways.")
> +    (home-page "https://www.openlighting.org/ola";)
> +    (license license:lgpl2.1+)))

The patch builds on my machine and lgtm. I make some minor changes (in
diff format):

1. Add ola.scm to gnu/local.mk, so that the build system knows the
   presence of gnu/package/ola.scm. The commit message should say this
   as well.

2. Move protobuf from propagated-inputs to inputs. I don't know if this
   is right. But usually library depedencies don't need to be propagated
   (?), only command line tools needed at run-time need to be
   propagated, right?

3. Remove make-flags and phases. %standard-phases is the implicit
   phases, so there is no need to specify it. I think PREFIX is already
   handled by gnu-build-system. So it is not needed.


2 files changed, 4 insertions(+), 6 deletions(-)
gnu/local.mk         | 1 +
gnu/packages/ola.scm | 9 +++------

modified   gnu/local.mk
@@ -261,6 +261,7 @@ GNU_SYSTEM_MODULES =                                \
   %D%/packages/nvi.scm                         \
   %D%/packages/ocaml.scm                       \
   %D%/packages/ocr.scm                         \
+  %D%/packages/ola.scm                         \
   %D%/packages/onc-rpc.scm                     \
   %D%/packages/openbox.scm                     \
   %D%/packages/openldap.scm                    \
modified   gnu/packages/ola.scm
@@ -55,16 +55,13 @@
        ("libmicrohttpd" ,libmicrohttpd)
        ("libusb" ,libusb)
        ("libuuid" ,util-linux)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     `(("protobuf" ,protobuf)))
+       ("zlib" ,zlib)
+       ("protobuf" ,protobuf)))
     (arguments
      `(;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing
        ;; build to fail on low memory systems.  We disable that with the
        ;; following configure flags.
-       #:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0")
-       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
-       #:phases %standard-phases))
+       #:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0")))
     (synopsis "Framework for controlling entertainment lighting equipment")
     (description "The Open Lighting Architecture is a framework for lighting
 control information.  It supports a range of protocols and over a dozen USB


Thanks for the patch. How do the others think?

Cheers,
Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]