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.

104 lines
2.8 KiB

  1. #
  2. # Copyright (C) 2012-2018 Karl Palsson <karlp@tweak.net.au>
  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:=pagekitec
  9. PKG_REV:=0.91.171102
  10. PKG_VERSION:=$(PKG_REV)C
  11. PKG_RELEASE:=1
  12. PKG_LICENSE:=Apache-2.0
  13. PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
  14. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  15. PKG_SOURCE_URL:=https://github.com/pagekite/libpagekite.git
  16. PKG_SOURCE_PROTO:=git
  17. PKG_SOURCE_VERSION:=v$(PKG_REV)
  18. include $(INCLUDE_DIR)/package.mk
  19. PKG_FIXUP:=autoreconf
  20. PKG_INSTALL:=1
  21. CONFIGURE_ARGS += --without-java
  22. define Package/pagekitec/default
  23. SECTION:=net
  24. CATEGORY:=Network
  25. TITLE:=Make localhost servers publicly visible.
  26. URL:=https://pagekite.net/wiki/Floss/LibPageKite/
  27. MAINTAINER:= Karl Palsson <karlp@tweak.net.au>
  28. DEPENDS:=+libopenssl +libpthread +libev
  29. endef
  30. define Package/libpagekite
  31. $(call Package/pagekitec/default)
  32. SECTION:=libs
  33. CATEGORY:=Libraries
  34. TITLE+= (library)
  35. endef
  36. define Package/pagekitec
  37. $(call Package/pagekitec/default)
  38. DEPENDS:=+libpagekite
  39. endef
  40. define Package/pagekitec/default/description
  41. PageKite is a system for running publicly visible servers (generally
  42. web servers) on machines without a direct connection to the Internet,
  43. such as mobile devices or computers behind restrictive firewalls.
  44. PageKite works around NAT, firewalls and IP-address limitations by
  45. using a combination of tunnels and reverse proxies.
  46. This package provides an implementation of the PageKite Protocol in C,
  47. optimized for high-performance or embedded applications.
  48. endef
  49. define Package/libpagekite/description
  50. $(call Package/pagekitec/default/description)
  51. This package contains the core library
  52. endef
  53. define Package/pagekitec/description
  54. $(call Package/pagekitec/default/description)
  55. This package contains a basic backend useful for exposing http/ssh servers.
  56. Basic UCI support for configuring this backend is also included.
  57. endef
  58. define Package/pagekitec/conffiles
  59. /etc/config/pagekitec
  60. endef
  61. define Build/Configure
  62. (cd $(PKG_BUILD_DIR); ./autogen.sh );
  63. $(call Build/Configure/Default)
  64. endef
  65. #this installs files into ./staging_dir/. so that you can cross compile from the host
  66. define Build/InstallDev
  67. $(INSTALL_DIR) $(1)/usr/{include,lib/pkgconfig}
  68. $(CP) $(PKG_INSTALL_DIR)/usr/include/libpagekite/pagekite.h $(1)/usr/include
  69. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpagekite.{a,so*} $(1)/usr/lib/
  70. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig
  71. endef
  72. define Package/libpagekite/install
  73. $(INSTALL_DIR) $(1)/usr/lib
  74. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libpagekite.so* $(1)/usr/lib
  75. endef
  76. define Package/pagekitec/install
  77. $(CP) ./files/* $(1)/
  78. $(INSTALL_DIR) $(1)/usr/bin
  79. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pagekitec $(1)/usr/bin
  80. endef
  81. $(eval $(call BuildPackage,pagekitec))
  82. $(eval $(call BuildPackage,libpagekite))