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.

110 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:=2
  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. PYTHON3_PKG_BUILD:=0
  22. include $(INCLUDE_DIR)/package.mk
  23. include $(INCLUDE_DIR)/cmake.mk
  24. include ../../lang/python/python3-package.mk
  25. CMAKE_OPTIONS=-DENABLEEXAMPLES=0 \
  26. -DFIRMATA=ON \
  27. -DBUILDSWIG=OFF
  28. TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include/node
  29. define Package/libmraa/Default
  30. SECTION:=libs
  31. CATEGORY:=Libraries
  32. SUBMENU:=IoT
  33. TITLE:=Eclipse MRAA lowlevel IO library
  34. URL:=https://projects.eclipse.org/projects/iot.mraa
  35. endef
  36. define Package/libmraa/Default/description
  37. Libmraa is a C/C++ library with bindings to Java, Python and JavaScript to interface
  38. with the IO on Galileo, Edison & other platforms, with a structured and sane API where
  39. port names/numbering matches the board that you are on. Use of libmraa does not tie you
  40. to specific hardware with board detection done at runtime you can create portable code
  41. that will work across the supported platforms.
  42. endef
  43. define Package/libmraa
  44. $(call Package/libmraa/Default)
  45. TITLE:=Eclipse MRAA lowlevel IO C/C++ library
  46. DEPENDS:=+libstdcpp +libjson-c @!arc @!armeb @!powerpc
  47. endef
  48. define Package/libmraa/description
  49. $(call Package/libmraa/Default/description)
  50. This package contains the C/C++ libraries.
  51. endef
  52. define Package/libmraa-node
  53. $(call Package/libmraa/Default)
  54. TITLE:=Eclipse MRAA lowlevel IO Node.js library
  55. DEPENDS:=+libmraa +node
  56. endef
  57. define Package/libmraa-node/description
  58. $(call Package/libmraa/Default/description)
  59. This package contains the Node.js libraries.
  60. endef
  61. define Package/libmraa-python3
  62. $(call Package/libmraa/Default)
  63. TITLE:=Eclipse MRAA lowlevel IO Python3 library
  64. DEPENDS:=+libmraa +python3-light @BROKEN
  65. endef
  66. define Package/libmraa-python3/description
  67. $(call Package/libmraa/Default/description)
  68. This package contains the Python3 libraries.
  69. endef
  70. define Package/libmraa/install
  71. $(INSTALL_DIR) $(1)/usr/lib
  72. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmraa.so* $(1)/usr/lib/
  73. $(INSTALL_DIR) $(1)/usr/bin
  74. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mraa-* $(1)/usr/bin/
  75. endef
  76. define Package/libmraa-node/install
  77. $(INSTALL_DIR) $(1)/usr/lib/node/mraa
  78. $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/mraa/* $(1)/usr/lib/node/mraa/
  79. endef
  80. define Package/libmraa-python3/install
  81. $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
  82. $(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/site-packages/* \
  83. $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/
  84. endef
  85. $(eval $(call BuildPackage,libmraa))
  86. $(eval $(call BuildPackage,libmraa-node))
  87. $(eval $(call BuildPackage,libmraa-python3))