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.

69 lines
1.9 KiB

  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=librsocket-cpp
  3. PKG_SOURCE_DATE:=2019-10-07
  4. PKG_SOURCE_VERSION:=0a469f7a84d9e3c3ddcb6931df701a5dae536589
  5. PKG_RELEASE:=1
  6. PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
  7. PKG_SOURCE_URL:=https://codeload.github.com/rsocket/rsocket-cpp/tar.gz/$(PKG_SOURCE_VERSION)?
  8. PKG_HASH:=c10e498039d676946a11f6a45201575cdb3f1f582752693d7b1901aa434f3146
  9. PKG_BUILD_DIR:=$(BUILD_DIR)/rsocket-cpp-$(PKG_SOURCE_VERSION)
  10. PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
  11. PKG_LICENSE:=Apache-2.0
  12. PKG_LICENSE_FILES:=LICENSE
  13. PKG_BUILD_PARALLEL:=1
  14. CMAKE_BINARY_SUBDIR:=builddir
  15. CMAKE_INSTALL:=1
  16. include $(INCLUDE_DIR)/package.mk
  17. include $(INCLUDE_DIR)/cmake.mk
  18. define Package/librsocket-cpp
  19. SECTION:=libs
  20. CATEGORY:=Libraries
  21. TITLE:=C++ implementation of RSocket
  22. URL:=https://rsocket.io/
  23. DEPENDS:=+libyarpl
  24. endef
  25. define Package/libyarpl
  26. SECTION:=libs
  27. CATEGORY:=Libraries
  28. TITLE:=yarpl: Yet Another Reactive Programming Library
  29. URL:=https://rsocket.io/
  30. DEPENDS:=+libfolly
  31. endef
  32. define Package/librsocket-cpp/description
  33. C++ implementation of RSocket, and Application protocol providing Reactive Streams semantics
  34. endef
  35. define Package/libyarpl/description
  36. C++ implementation of reactive functional programming including both Observable and Flowable types.
  37. endef
  38. CMAKE_OPTIONS += \
  39. -DBUILD_BENCHMARKS=OFF \
  40. -DBUILD_EXAMPLES=OFF \
  41. -DBUILD_SHARED_LIBS=ON \
  42. -DBUILD_TESTS=OFF \
  43. -DCMAKE_POSITION_INDEPENDENT_CODE=ON
  44. TARGET_CXXFLAGS += -ffunction-sections -fdata-sections -flto
  45. TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
  46. define Package/librsocket-cpp/install
  47. $(INSTALL_DIR) $(1)/usr/lib
  48. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libReactiveSocket.so* $(1)/usr/lib/
  49. endef
  50. define Package/libyarpl/install
  51. $(INSTALL_DIR) $(1)/usr/lib
  52. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libyarpl*.so* $(1)/usr/lib/
  53. endef
  54. $(eval $(call BuildPackage,librsocket-cpp))
  55. $(eval $(call BuildPackage,libyarpl))