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.

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