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.

108 lines
3.1 KiB

  1. #
  2. # Copyright (C) 2015-2018 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=libmraa
  9. PKG_VERSION:=2.1.0
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL:=https://codeload.github.com/eclipse/mraa/tar.gz/v$(PKG_VERSION)?
  13. PKG_HASH:=5351ce9eb654014d8ea7f43bdb2d17e6d1955536938a2ea0d467f4008e614345
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/mraa-$(PKG_VERSION)
  15. PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Hirokazu MORIKAWA <morikw2@gmail.com>
  16. PKG_LICENSE:=MIT
  17. PKG_LICENSE_FILES:=COPYING
  18. PKG_BUILD_DEPENDS:=node swig/host node/host
  19. CMAKE_INSTALL:=1
  20. PKG_USE_MIPS16:=0
  21. include $(INCLUDE_DIR)/package.mk
  22. include $(INCLUDE_DIR)/cmake.mk
  23. include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
  24. CMAKE_OPTIONS=-DENABLEEXAMPLES=0 \
  25. -DFIRMATA=ON
  26. TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include/node
  27. define Package/libmraa/Default
  28. SECTION:=libs
  29. CATEGORY:=Libraries
  30. SUBMENU:=IoT
  31. TITLE:=Eclipse MRAA lowlevel IO library
  32. URL:=https://projects.eclipse.org/projects/iot.mraa
  33. endef
  34. define Package/libmraa/Default/description
  35. Libmraa is a C/C++ library with bindings to Java, Python and JavaScript to interface
  36. with the IO on Galileo, Edison & other platforms, with a structured and sane API where
  37. port names/numbering matches the board that you are on. Use of libmraa does not tie you
  38. to specific hardware with board detection done at runtime you can create portable code
  39. that will work across the supported platforms.
  40. endef
  41. define Package/libmraa
  42. $(call Package/libmraa/Default)
  43. TITLE:=Eclipse MRAA lowlevel IO C/C++ library
  44. DEPENDS:=+libstdcpp +libjson-c @!arc @!armeb @!powerpc
  45. endef
  46. define Package/libmraa/description
  47. $(call Package/libmraa/Default/description)
  48. This package contains the C/C++ libraries.
  49. endef
  50. define Package/libmraa-node
  51. $(call Package/libmraa/Default)
  52. TITLE:=Eclipse MRAA lowlevel IO Node.js library
  53. DEPENDS:=+libmraa +node
  54. endef
  55. define Package/libmraa-node/description
  56. $(call Package/libmraa/Default/description)
  57. This package contains the Node.js libraries.
  58. endef
  59. define Package/libmraa-python3
  60. $(call Package/libmraa/Default)
  61. TITLE:=Eclipse MRAA lowlevel IO Python3 library
  62. DEPENDS:=+libmraa +python3-light
  63. endef
  64. define Package/libmraa-python3/description
  65. $(call Package/libmraa/Default/description)
  66. This package contains the Python3 libraries.
  67. endef
  68. define Package/libmraa/install
  69. $(INSTALL_DIR) $(1)/usr/lib
  70. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmraa.so* $(1)/usr/lib/
  71. $(INSTALL_DIR) $(1)/usr/bin
  72. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mraa-* $(1)/usr/bin/
  73. endef
  74. define Package/libmraa-node/install
  75. $(INSTALL_DIR) $(1)/usr/lib/node/mraa
  76. $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/mraa/* $(1)/usr/lib/node/mraa/
  77. endef
  78. define Package/libmraa-python3/install
  79. $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
  80. $(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/site-packages/* \
  81. $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/
  82. endef
  83. $(eval $(call BuildPackage,libmraa))
  84. $(eval $(call BuildPackage,libmraa-node))
  85. $(eval $(call BuildPackage,libmraa-python3))