all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alex Vong <alexvong1995@gmail.com>
To: John J Foerch <jjfoerch@earthlink.net>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add ola
Date: Fri, 26 Aug 2016 10:08:33 +0800	[thread overview]
Message-ID: <871t1cl1su.fsf@gmail.com> (raw)
In-Reply-To: <87twe8qu86.fsf@hecubus.retroj.net> (John J. Foerch's message of "Thu, 25 Aug 2016 19:55:37 -0400")

Hi,

John J Foerch <jjfoerch@earthlink.net> 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" <jjfoerch@earthlink.net>
> 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 <jjfoerch@earthlink.net>
> +;;;
> +;;; 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	other threads:[~2016-08-26  2:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-25 23:55 [PATCH] gnu: Add ola John J Foerch
2016-08-26  2:08 ` Alex Vong [this message]
2016-08-26 11:47   ` Marius Bakke
2016-08-28 20:01     ` Ludovic Courtès
2016-08-29 14:48       ` John J Foerch
2016-09-01 12:47         ` Ludovic Courtès
2016-09-02 17:56           ` John J Foerch
2016-09-05  8:54             ` Ludovic Courtès
2016-08-26 12:10   ` John J Foerch
     [not found] <mailman.11647.1470832050.26855.guix-devel@gnu.org>
2016-08-10 14:05 ` rennes
2016-08-10 20:24   ` John J Foerch
2016-08-22 19:14     ` John J Foerch
2016-08-24  2:03       ` John J Foerch
     [not found] <mailman.10291.1470243841.26857.guix-devel@gnu.org>
2016-08-04  3:26 ` rennes
2016-08-10 11:57   ` John J Foerch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871t1cl1su.fsf@gmail.com \
    --to=alexvong1995@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=jjfoerch@earthlink.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.