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.

109 lines
3.2 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.2.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:=076669bee8423ffef3065735b293a329020be86630fea457174dbfcc67a0554a
  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:=swig/host node/host PACKAGE_node:node
  19. CMAKE_INSTALL:=1
  20. PKG_USE_MIPS16:=0
  21. PYTHON3_PKG_BUILD:=0
  22. include $(INCLUDE_DIR)/package.mk
  23. include ../../devel/ninja/ninja-cmake.mk
  24. include ../../lang/python/python3-package.mk
  25. CMAKE_OPTIONS += \
  26. -DENABLEEXAMPLES=0 \
  27. -DBUILDSWIGNODE=$(if $(CONFIG_PACKAGE_libmraa-node),ON,OFF) \
  28. -DFIRMATA=ON
  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 @PACKAGE_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
  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))