Skip to contentSkip to conversation

Add package ola (open lighting architecture)

PATCH New David Skok 2 participants 2 messages Jun 24, 2013 – Jul 28, 2013

lore
Share & tools
lore

David Skok

author
#0 lore raw

PATCH 1/1 Add package ola (open lighting architecture)

---
 package/Config.in     |    1 +
 package/ola/Config.in |  162 +++++++++++++++++++++++++++++++++++++++++++++++
 package/ola/ola.mk    |  168 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 331 insertions(+)
 create mode 100644 package/ola/Config.in
 create mode 100644 package/ola/ola.mk
package/Config.in +1 -0
index 0eb6a9c..9deffde 100644
@@ -674,6 +674,7 @@ source "package/empty/Config.in"
 source "package/googlefontdirectory/Config.in"
 source "package/mcrypt/Config.in"
 source "package/mobile-broadband-provider-info/Config.in"
+source "package/ola/Config.in"
 source "package/shared-mime-info/Config.in"
 source "package/snowball-init/Config.in"
 source "package/sound-theme-borealis/Config.in"
package/ola/Config.in new file +162 -0

162 lines not on this page · raw message

package/ola/ola.mk new file +36 -0
new file mode 100644
index 0000000..3fb5ace
@@ -0,0 +1,168 @@
+#############################################################
+#
+# ola - open lighting architecture
+#
+# Open Lighting Architecture provides applications
+# with a mechanism to send and receive DMX512 & RDM
+# commands using hardware devices and DMX over IP protocols.
+#
+#############################################################
+
+ifeq ($(BR2_PACKAGE_OLA_RELEASE),y)
+OLA_VERSION = $(call qstrip,$(BR2_PACKAGE_OLA_RELEASE_VER))
+OLA_SOURCE = ola-${OLA_VERSION}.tar.gz
+OLA_SITE = https://open-lighting.googlecode.com/files
+else
+OLA_VERSION = master
+OLA_SITE = https://code.google.com/p/open-lighting/
+OLA_SITE_METHOD = git
+endif
+
+OLA_AUTORECONF = YES
+OLA_LICENSE = LGPLv2.1+
+OLA_LICENSE_FILES = LICENSE COPYING.LGPLv2.1
+
+# util-linux provides uuid lib
+OLA_DEPENDENCIES += protobuf util-linux
+
+OLA_CONF_OPT = --prefix=/usr
+OLA_CONF_OPT += --disable-gcov
+OLA_CONF_OPT += --disable-tcmalloc
+OLA_CONF_OPT += --disable-unittests
+OLA_CONF_OPT += --disable-root-check
+OLA_CONF_OPT += --disable-java-libs
+
+# sets where to find python libs built for target and required by ola
+OLA_CONF_ENV =

PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages +OLA_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages +
+## OLA Bindings and Interface selections
+
+ifeq ($(BR2_PACKAGE_OLA_WEB),y)
+OLA_CONF_OPT += --enable-http
+OLA_DEPENDENCIES += libmicrohttpd
+else
+OLA_CONF_OPT += --disable-http
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_SLP),y)
+OLA_CONF_OPT += --enable-slp
+else
+OLA_CONF_OPT += --disable-slp
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_BINDING_PYTHON),y)
+OLA_CONF_OPT += --enable-python-libs
+OLA_DEPENDENCIES += python python-protobuf
+else
+OLA_CONF_OPT += --disable-python-libs
+endif
+
+## OLA Examples and Tests
+
+ifeq ($(BR2_PACKAGE_OLA_EXAMPLES),y)
+OLA_CONF_OPT += --enable-examples
+OLA_DEPENDENCIES += ncurses
+else
+OLA_CONF_OPT += --disable-examples
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_RDM_TESTS),y)
+OLA_CONF_OPT += --enable-rdm-tests
+else
+OLA_CONF_OPT += --disable-rdm-tests
+endif
+
+## OLA Plugin selections
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ARTNET),y)
+OLA_CONF_OPT += --enable-artnet
+else
+OLA_CONF_OPT += --disable-artnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_DUMMY),y)
+OLA_CONF_OPT += --enable-dummy
+else
+OLA_CONF_OPT += --disable-dummy
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_E131),y)
+OLA_CONF_OPT += --enable-e131
+else
+OLA_CONF_OPT += --disable-e131
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ESPNET),y)
+OLA_CONF_OPT += --enable-espnet
+else
+OLA_CONF_OPT += --disable-espnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_KINET),y)
+OLA_CONF_OPT += --enable-kinet
+else
+OLA_CONF_OPT += --disable-kinet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OPENDMX),y)
+OLA_CONF_OPT += --enable-opendmx
+else
+OLA_CONF_OPT += --disable-opendmx
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_PATHPORT),y)
+OLA_CONF_OPT += --enable-pathport
+else
+OLA_CONF_OPT += --disable-pathport
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SANDNET),y)
+OLA_CONF_OPT += --enable-sandnet
+else
+OLA_CONF_OPT += --disable-sandnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SHOWNET),y)
+OLA_CONF_OPT += --enable-shownet
+else
+OLA_CONF_OPT += --disable-shownet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_KARATE),y)
+OLA_CONF_OPT += --enable-karate
+else
+OLA_CONF_OPT += --disable-karate
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SPI),y)
+OLA_CONF_OPT += --enable-spi
+else
+OLA_CONF_OPT += --disable-spi
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI),y)
+OLA_CONF_OPT += --enable-stageprofi
+else
+OLA_CONF_OPT += --disable-stageprofi
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_USBPRO),y)
+OLA_CONF_OPT += --enable-usbpro
+else
+OLA_CONF_OPT += --disable-usbpro
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OSC),y)
+OLA_CONF_OPT += --enable-osc
+OLA_DEPENDENCIES += liblo
+else
+OLA_CONF_OPT += --disable-osc
+endif
+
+$(eval $(autotools-package))
+
+
+
+
+

Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 Add package ola (open lighting architecture)

Dear David Skok,

Thanks for your contribution! A few comments below.

package/Config.in source "package/empty/Config.in" · line 677

Quoted 5 lines · David Skok
package/Config.in +1 -0
@@ -674,6 +674,7 @@ source "package/empty/Config.in"
 source "package/googlefontdirectory/Config.in"
 source "package/mcrypt/Config.in"
 source "package/mobile-broadband-provider-info/Config.in"
+source "package/ola/Config.in"

Isn't there a better place than Miscalleneous for this package? Maybe Hardware handling?

package/ola/Config.in line 3

Quoted 9 lines
package/ola/Config.in new file +3 -0
new file mode 100644
index 0000000..41fdefb
@@ -0,0 +1,162 @@
+config BR2_PACKAGE_OLA
+	bool "open lighting architecture"
+        select BR2_PACKAGE_PROTOBUF

Indentation issue, you should also inherit from protobuf dependencies, i.e:

depends on BR2_INSTALL_LIBSTDCPP # protobuf

package/ola/Config.in line 4

Quoted 1 line
package/ola/Config.in new file +1 -0
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID

You should also select BR2_PACKAGE_UTIL_LINUX, and you should inherit from the dependencies of util-linux, i.e:

depends on BR2_LARGEFILE # util-linux
depends on BR2_USE_WCHAR # util-linux

package/ola/Config.in line 8

Quoted 4 lines
package/ola/Config.in new file +4 -0
+	help
+	  Open Lighting Architecture provides applications
+          with a mechanism to send and receive DMX512 & RDM
+          commands using hardware devices and DMX over IP protocols.

Indentation issue: all lines should be indented with one tab + two spaces.

package/ola/Config.in line 13

Quoted 5 lines
package/ola/Config.in new file +5 -0
+
+	  http://www.opendmx.net/index.php/OLA
+
+comment "OLA requires a toolchain with C++ support enabled"
+	depends on !BR2_INSTALL_LIBSTDCPP

Good, but please also mention wchar and largefile as they are needed for util-linux.

package/ola/Config.in line 16

Quoted 2 lines
package/ola/Config.in new file +2 -0
+comment "OLA functionality desired may require a USB driver"
+	depends on !BR2_PACKAGE_LIBFTDI && !BR2_PACKAGE_LIBUSB

You probably want to put this comment next to the options that actually need either libftdi or libusb.

Quoted 7 lines
package/ola/Config.in new file +7 -0
+if BR2_PACKAGE_OLA
+
+choice
+
+prompt "Version"
+
+config BR2_PACKAGE_OLA_RELEASE

package/ola/Config.in line 34

Quoted 10 lines
package/ola/Config.in new file +10 -0
+	bool "Release"
+	help
+	  OLA release version.
+
+config BR2_PACKAGE_OLA_GIT_VER
+	bool "Git"
+	help
+	  OLA from git.
+
+endchoice

We typically don't provide such a version choice. Just package the latest stable version, i.e 0.8.31 apparently.

package/ola/Config.in line 43

Quoted 8 lines
package/ola/Config.in new file +8 -0
+config BR2_PACKAGE_OLA_RELEASE_VER
+	string "release version"
+	default 0.8.31
+	depends on BR2_PACKAGE_OLA_RELEASE
+	help
+	  OLA version
+
+menu "OLA Bindings and Interface"

Interfaces

package/ola/Config.in line 47

Quoted 4 lines
package/ola/Config.in new file +4 -0
+
+config BR2_PACKAGE_OLA_WEB
+	bool "http interface"
+        select BR2_PACKAGE_LIBMICROHTTPD

Indentation issue.

package/ola/Config.in line 56

Quoted 9 lines
package/ola/Config.in new file +9 -0
+	help
+	  Build OLA with browser interface.
+
+config BR2_PACKAGE_OLA_SLP
+	bool "slp tools"
+	help
+	  Build OLA with slp tools.
+
+config BR2_PACKAGE_OLA_BINDING_PYTHON

BR2_PACKAGE_OLA_PYTHON_BINDINGS seems like a better name.

package/ola/Config.in line 58

Quoted 2 lines
package/ola/Config.in new file +2 -0
+	bool "python bindings"
+        select BR2_PACKAGE_PYTHON

Indentation issue.

Quoted 18 lines
package/ola/Config.in new file +18 -0
+	select BR2_PACKAGE_PYTHON_PROTOBUF
+	help
+	  Build OLA with support for the Python language.
+
+endmenu
+
+
+menu "Tests and Examples"
+
+config BR2_PACKAGE_OLA_EXAMPLES
+	bool "examples"
+	select BR2_PACKAGE_NCURSES
+	help
+	  Build OLA examples.
+
+config BR2_PACKAGE_OLA_RDM_TESTS
+	bool "rdm tests"
+	depends on BR2_PACKAGE_OLA_BINDING_PYTHON

package/ola/Config.in line 86

Quoted 10 lines
package/ola/Config.in new file +10 -0
+	help
+	  Build OLA RDM tests.
+
+endmenu
+
+menu "OLA Plugin selections"
+
+config BR2_PACKAGE_OLA_PLUGIN_ARTNET
+	bool "artnet"
+        default y

Indentation issue.

package/ola/Config.in line 92

Quoted 6 lines
package/ola/Config.in new file +6 -0
+	help
+	  Build Artnet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_DUMMY
+	bool "dummy"
+        default y

Ditto.

Quoted 76 lines
package/ola/Config.in new file +70 -0
+	help
+	  Build Dummy plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_E131
+	bool "acn E131"
+        default y
+	help
+	  Build ACN E131 plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_ESPNET
+	bool "espnet"
+	help
+	  Build EspNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_KINET
+	bool "kinet"
+	help
+	  Build KiNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_OPENDMX
+	bool "DMX4Linux"
+	help
+	  Build DMX4Linux plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_PATHPORT
+	bool "pathport"
+	help
+	  Build Pathport plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_SANDNET
+	bool "sandnet"
+	help
+	  Build SandNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_SHOWNET
+	bool "shownet"
+	help
+	  Build ShowNet plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_KARATE
+	bool "karate"
+	help
+	  Build Karate plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_SPI
+	bool "spi"
+	help
+	  Build SPI plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI
+	bool "stageprofi"
+	depends on BR2_PACKAGE_LIBFTDI || BR2_PACKAGE_LIBUSB
+	help
+	  Build StageProfi plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_USBPRO
+	bool "usbpro"
+	depends on BR2_PACKAGE_LIBFTDI || BR2_PACKAGE_LIBUSB
+	help
+	  Build UsbPro plugin for OLA.
+
+config BR2_PACKAGE_OLA_PLUGIN_OSC
+	bool "osc"
+	select BR2_PACKAGE_LIBLO
+	help
+	  Build Open sound control plugin for OLA.
+
+endmenu
+
+endif
package/ola/ola.mk new file +0 -0
new file mode 100644
index 0000000..3fb5ace

package/ola/ola.mk line 1

Quoted 1 line
package/ola/ola.mk new file +1 -0
@@ -0,0 +1,168 @@
+#############################################################

80 # are now needed.

package/ola/ola.mk line 7

Quoted 6 lines
package/ola/ola.mk new file +6 -0
+#
+# ola - open lighting architecture
+#
+# Open Lighting Architecture provides applications
+# with a mechanism to send and receive DMX512 & RDM
+# commands using hardware devices and DMX over IP protocols.

Just put the package name, i.e 'ola'.

package/ola/ola.mk line 13

Quoted 6 lines
package/ola/ola.mk new file +6 -0
+#
+#############################################################
+
+ifeq ($(BR2_PACKAGE_OLA_RELEASE),y)
+OLA_VERSION = $(call qstrip,$(BR2_PACKAGE_OLA_RELEASE_VER))
+OLA_SOURCE = ola-${OLA_VERSION}.tar.gz

We use $(...) and not ${...}.

package/ola/ola.mk line 19

Quoted 6 lines
package/ola/ola.mk new file +6 -0
+OLA_SITE = https://open-lighting.googlecode.com/files
+else
+OLA_VERSION = master
+OLA_SITE = https://code.google.com/p/open-lighting/
+OLA_SITE_METHOD = git
+endif

As suggested above, just support the latest stable release.

package/ola/ola.mk line 21

Quoted 2 lines
package/ola/ola.mk new file +2 -0
+
+OLA_AUTORECONF = YES

Please add a comment above this line that explains why autoreconfiguration is needed. Most likely, with a tarball release, it shouldn't be needed.

package/ola/ola.mk line 26

Quoted 5 lines
package/ola/ola.mk new file +5 -0
+OLA_LICENSE = LGPLv2.1+
+OLA_LICENSE_FILES = LICENSE COPYING.LGPLv2.1
+
+# util-linux provides uuid lib
+OLA_DEPENDENCIES += protobuf util-linux

Just '=' since it is the first OLA_DEPENDENCIES line.

package/ola/ola.mk line 28

Quoted 2 lines
package/ola/ola.mk new file +2 -0
+
+OLA_CONF_OPT = --prefix=/usr

Not needed, that's the default.

package/ola/ola.mk line 33

Quoted 5 lines
package/ola/ola.mk new file +5 -0
+OLA_CONF_OPT += --disable-gcov
+OLA_CONF_OPT += --disable-tcmalloc
+OLA_CONF_OPT += --disable-unittests
+OLA_CONF_OPT += --disable-root-check
+OLA_CONF_OPT += --disable-java-libs

Please do in one line:

OLA_CONF_OPT = \
	--disable-gcov \
	--disable-tcmalloc \
	--disable-unittests \
	--disable-root-check \
	--disable-java-libs
Quoted 126 lines
package/ola/ola.mk new file +2 -0
+# sets where to find python libs built for target and required by ola
+OLA_CONF_ENV =

PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages +OLA_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages

package/ola/ola.mk new file +121 -0
+
+## OLA Bindings and Interface selections
+
+ifeq ($(BR2_PACKAGE_OLA_WEB),y)
+OLA_CONF_OPT += --enable-http
+OLA_DEPENDENCIES += libmicrohttpd
+else
+OLA_CONF_OPT += --disable-http
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_SLP),y)
+OLA_CONF_OPT += --enable-slp
+else
+OLA_CONF_OPT += --disable-slp
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_BINDING_PYTHON),y)
+OLA_CONF_OPT += --enable-python-libs
+OLA_DEPENDENCIES += python python-protobuf
+else
+OLA_CONF_OPT += --disable-python-libs
+endif
+
+## OLA Examples and Tests
+
+ifeq ($(BR2_PACKAGE_OLA_EXAMPLES),y)
+OLA_CONF_OPT += --enable-examples
+OLA_DEPENDENCIES += ncurses
+else
+OLA_CONF_OPT += --disable-examples
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_RDM_TESTS),y)
+OLA_CONF_OPT += --enable-rdm-tests
+else
+OLA_CONF_OPT += --disable-rdm-tests
+endif
+
+## OLA Plugin selections
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ARTNET),y)
+OLA_CONF_OPT += --enable-artnet
+else
+OLA_CONF_OPT += --disable-artnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_DUMMY),y)
+OLA_CONF_OPT += --enable-dummy
+else
+OLA_CONF_OPT += --disable-dummy
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_E131),y)
+OLA_CONF_OPT += --enable-e131
+else
+OLA_CONF_OPT += --disable-e131
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_ESPNET),y)
+OLA_CONF_OPT += --enable-espnet
+else
+OLA_CONF_OPT += --disable-espnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_KINET),y)
+OLA_CONF_OPT += --enable-kinet
+else
+OLA_CONF_OPT += --disable-kinet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OPENDMX),y)
+OLA_CONF_OPT += --enable-opendmx
+else
+OLA_CONF_OPT += --disable-opendmx
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_PATHPORT),y)
+OLA_CONF_OPT += --enable-pathport
+else
+OLA_CONF_OPT += --disable-pathport
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SANDNET),y)
+OLA_CONF_OPT += --enable-sandnet
+else
+OLA_CONF_OPT += --disable-sandnet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SHOWNET),y)
+OLA_CONF_OPT += --enable-shownet
+else
+OLA_CONF_OPT += --disable-shownet
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_KARATE),y)
+OLA_CONF_OPT += --enable-karate
+else
+OLA_CONF_OPT += --disable-karate
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_SPI),y)
+OLA_CONF_OPT += --enable-spi
+else
+OLA_CONF_OPT += --disable-spi
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI),y)
+OLA_CONF_OPT += --enable-stageprofi
+else
+OLA_CONF_OPT += --disable-stageprofi
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_USBPRO),y)
+OLA_CONF_OPT += --enable-usbpro
+else
+OLA_CONF_OPT += --disable-usbpro
+endif
+
+ifeq ($(BR2_PACKAGE_OLA_PLUGIN_OSC),y)
+OLA_CONF_OPT += --enable-osc
+OLA_DEPENDENCIES += liblo

package/ola/ola.mk

Quoted 10 lines
package/ola/ola.mk new file +10 -0
+else
+OLA_CONF_OPT += --disable-osc
+endif
+
+$(eval $(autotools-package))
+
+
+
+
+

Unneeded empty lines at end of file.

Could you rework your patch to take into account those comments, and repost an updated version?

Thanks a lot!

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com