You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
3.2 KiB

  1. #
  2. # Copyright (C) 2006-2015 OpenWrt.org
  3. # Copyright (C) 2015-2017 Christian Beier <dontmind@freeshell.org>
  4. #
  5. # This is free software, licensed under the GNU General Public License v2.
  6. # See /LICENSE for more information.
  7. #
  8. include $(TOPDIR)/rules.mk
  9. PKG_NAME:=ola
  10. PKG_VERSION:=0.10.8
  11. PKG_RELEASE:=4
  12. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  13. PKG_SOURCE_URL:=https://codeload.github.com/OpenLightingProject/ola/tar.gz/$(PKG_VERSION)?
  14. PKG_HASH:=45bc101d1ddcc1c6320c063eb25a9345e5820a4233acfa5b29f2dfd99f7452e1
  15. PKG_MAINTAINER:=Christian Beier <dontmind@freeshell.org>
  16. PKG_LICENSE:=LGPL-2.1-or-later
  17. PKG_LICENSE_FILES:=COPYING
  18. PKG_FIXUP:=autoreconf
  19. PKG_INSTALL:=1
  20. PKG_BUILD_PARALLEL:=1
  21. PKG_USE_MIPS16:=0
  22. HOST_BUILD_DEPENDS:=protobuf/host
  23. PKG_BUILD_DEPENDS:=ola/host
  24. include $(INCLUDE_DIR)/host-build.mk
  25. include $(INCLUDE_DIR)/package.mk
  26. define Package/ola
  27. SECTION:=net
  28. CATEGORY:=Network
  29. TITLE:=Open Lighting Architecture Daemon
  30. URL:=https://www.openlighting.org/
  31. DEPENDS:=+protobuf +libftdi1 +libusb-1.0 +libuuid +libstdcpp +libpthread +librt +zlib +libncurses +liblo +libmicrohttpd
  32. endef
  33. define Package/ola/description
  34. OLA (Open Lighting Architecture) is a framework that allows applications to
  35. send and receive DMX512, using various hardware devices and 'DMX over IP'
  36. protocols. It enables software controllers talk to DMX hardware.
  37. endef
  38. CONFIGURE_ARGS += \
  39. --disable-dependency-tracking \
  40. --disable-static \
  41. --disable-fatal-warnings \
  42. --disable-unittests \
  43. --without-dns-sd \
  44. --with-ola-protoc-plugin="$(STAGING_DIR_HOSTPKG)/bin/ola_protoc_plugin"
  45. HOST_CONFIGURE_ARGS += \
  46. --disable-all-plugins \
  47. --disable-osc \
  48. --disable-uart \
  49. --disable-libusb \
  50. --disable-http \
  51. --disable-examples \
  52. --disable-unittests \
  53. --disable-doxygen-html \
  54. --disable-doxygen-doc
  55. HOST_LDFLAGS += -Wl,-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib
  56. TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lm)
  57. # only build the ola_protoc thingy
  58. define Host/Compile
  59. cd $(HOST_BUILD_DIR); \
  60. $(MAKE) protoc/ola_protoc_plugin
  61. endef
  62. define Host/Install
  63. $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin
  64. $(CP) $(HOST_BUILD_DIR)/protoc/ola_protoc_plugin $(STAGING_DIR_HOSTPKG)/bin
  65. endef
  66. define Build/InstallDev
  67. $(INSTALL_DIR) $(1)/usr/include
  68. $(CP) $(PKG_INSTALL_DIR)/usr/include/ola $(1)/usr/include/
  69. $(CP) $(PKG_INSTALL_DIR)/usr/include/olad $(1)/usr/include/
  70. $(INSTALL_DIR) $(1)/usr/lib
  71. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
  72. endef
  73. define Package/ola/install
  74. $(INSTALL_DIR) $(1)/usr/bin
  75. $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
  76. $(INSTALL_DIR) $(1)/usr/lib
  77. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
  78. $(INSTALL_DIR) $(1)/etc/init.d
  79. $(INSTALL_BIN) ./files/olad.init $(1)/etc/init.d/olad
  80. $(INSTALL_DIR) $(1)/usr/share/ola/pids
  81. $(CP) $(PKG_INSTALL_DIR)/usr/share/ola/pids/* $(1)/usr/share/ola/pids
  82. $(INSTALL_DIR) $(1)/usr/share/olad/www
  83. $(CP) $(PKG_INSTALL_DIR)/usr/share/olad/www/* $(1)/usr/share/olad/www
  84. endef
  85. define Package/ola/postinst
  86. #!/bin/sh
  87. # make sure the conf dir exists and is writeable by the group olad uses
  88. mkdir -p $${IPKG_INSTROOT}/etc/ola
  89. chgrp nogroup $${IPKG_INSTROOT}/etc/ola
  90. chmod 775 $${IPKG_INSTROOT}/etc/ola
  91. endef
  92. $(eval $(call HostBuild))
  93. $(eval $(call BuildPackage,ola))