[Buildroot] [PATCH/next] libpagekite: new package

Romain Naour romain.naour at smile.fr
Sat Mar 31 15:21:29 UTC 2018


Hi Arnout,

It seems you used libpcap package as a template :)

Le 16/02/2018 à 16:21, Arnout Vandecappelle (Essensium/Mind) a écrit :
> libpagekite is a C implementation of the backend of the PageKite relay
> protocol. It allows external access to embedded devices without public
> IP address.
> 
> There is a bundled version of libev but we prefer to use the global
> libev library.
> 
> Although the configure script has a --without-openssl option, it
> doesn't actually build without openssl.
> 
> Patch 0001-configure.ac-fix-handling-of-with.patch is needed because
> we want to explicitly pass --with and --without options, even if they
> are the default. The way the AC_ARG_WITH macros were used, --with and
> --without both had the effect of enabling the option.
> 
> Patch 0002-configure.ac-use-AS_HELP_STRING-for-with-openssl.patch is
> not needed for Buildroot, but it is part of the same upstream PR and
> would generate a conflict for the next patch.
> 
> Patch 0003-configure.ac-use-pkg-config-for-openssl.patch is needed to
> pass -lz (needed by openssl) in static compilation.
> 
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
> ---

[...]

> diff --git a/package/libpagekite/Config.in b/package/libpagekite/Config.in
> new file mode 100644
> index 0000000000..418989f6f1
> --- /dev/null
> +++ b/package/libpagekite/Config.in
> @@ -0,0 +1,26 @@
> +config BR2_PACKAGE_LIBPAGEKITE
> +	bool "libpcap"

should be "libpagekite"

Reviewed-by: Romain Naour <romain.naour at smile.fr>

Best regards,
Romain


> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	depends on !BR2_bfin # libev
> +	select BR2_PACKAGE_LIBEV
> +	select BR2_PACKAGE_OPENSSL
> +	help
> +	  PageKite is a protocol for dynamic, tunneled reverse proxying
> +	  of arbitrary TCP byte streams. It is particularly well suited
> +	  for making a HTTP server on a device without a public IP
> +	  address visible to the wider Internet, but can also be used
> +	  for a variety of other things, including SSH access.
> +
> +	  libpagekite is a tight, fast implementation of the PageKite
> +	  protocol in C, suitable for high-performance or embedded
> +	  applications.
> +
> +	  In addition to the libpagekite library, this package installs
> +	  the pagekitec, sshkite and httpkite tools.
> +
> +	  https://pagekite.net
> +	  https://github.com/pagekite/libpagekite
> +
> +comment "libpagekite needs a toolchain with threads"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS
> +	depends on !BR2_bfin
> diff --git a/package/libpagekite/libpagekite.hash b/package/libpagekite/libpagekite.hash
> new file mode 100644
> index 0000000000..262adc7aab
> --- /dev/null
> +++ b/package/libpagekite/libpagekite.hash
> @@ -0,0 +1,7 @@
> +# Locally calculated
> +sha256  df95bfe95c04b6908e835e13444c1c1883765926f1265e0d2223c42d3c59a4c2  libpagekite-v0.91.171102.tar.gz
> +
> +# License files, locally calculated
> +sha256  ba443b9c9d4273d06aae3e147e9ad1ec199cc9c23455f486a039536d47f57eed  doc/COPYING.md
> +sha256  4a271d0bb6bb6e0bac880efddb46da73e6df3dcf0d9ca08a945a232f8ab882ef  doc/LICENSE-2.0.txt
> +sha256  8e0f770cabe772d67d36469f6bf413afd2dcfa6ac37acfc65f770cf3a134106d  doc/AGPLv3.txt
> diff --git a/package/libpagekite/libpagekite.mk b/package/libpagekite/libpagekite.mk
> new file mode 100644
> index 0000000000..2c143ba022
> --- /dev/null
> +++ b/package/libpagekite/libpagekite.mk
> @@ -0,0 +1,29 @@
> +################################################################################
> +#
> +# libpagekite
> +#
> +################################################################################
> +
> +LIBPAGEKITE_VERSION = v0.91.171102
> +LIBPAGEKITE_SITE = $(call github,pagekite,libpagekite,$(LIBPAGEKITE_VERSION))
> +
> +# pkrelay is AGPL-3.0+ but is not built
> +LIBPAGEKITE_LICENSE = Apache-2.0 or AGPL-3.0+
> +LIBPAGEKITE_LICENSE_FILES = doc/COPYING.md doc/LICENSE-2.0.txt doc/AGPLv3.txt
> +
> +LIBPAGEKITE_DEPENDENCIES = host-pkgconf libev openssl
> +LIBPAGEKITE_INSTALL_STAGING = YES
> +
> +# Sources from git, no configure included
> +# 0001-configure.ac-fix-handling-of-with-os-libev.patch touches configure.ac
> +LIBPAGEKITE_AUTORECONF = YES
> +
> +LIBPAGEKITE_CONF_OPTS = \
> +	--with-openssl \
> +	--without-tests \
> +	--with-os-libev \
> +	--without-java \
> +	--without-agpl-relay \
> +	--without-ds-logfmt
> +
> +$(eval $(autotools-package))
> 



More information about the buildroot mailing list