|
#
|
|
# Copyright (C) 2022 Nita Vesa (werecatf@outlook.com)
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=gensio
|
|
PKG_VERSION:=2.3.5
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=@SF/ser2net
|
|
PKG_HASH:=e9943b392ba85bdc13063059125794554f07e569d8ca0afd38f773a390f5f234
|
|
|
|
PKG_LICENSE:=GPL-2.0-or-later
|
|
PKG_LICENSE_FILES:=COPYING
|
|
PKG_MAINTAINER:=Nita Vesa <werecatf@outlook.com>
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
PYTHON3_PKG_BUILD:=0
|
|
|
|
PKG_CONFIG_DEPENDS:= \
|
|
CONFIG_GENSIO_SSL \
|
|
CONFIG_GENSIO_WRAP \
|
|
CONFIG_GENSIO_SCTP \
|
|
CONFIG_GENSIO_PTHREADS \
|
|
CONFIG_GENSIO_AVAHI \
|
|
CONFIG_GENSIO_GLIB \
|
|
CONFIG_GENSIO_TCL \
|
|
CONFIG_GENSIO_SSHD
|
|
|
|
PKG_BUILD_DEPENDS:=PACKAGE_python3-gensio:swig
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include ../../lang/python/python3-package.mk
|
|
|
|
CONFIGURE_ARGS += \
|
|
--$(if $(CONFIG_GENSIO_SSL),with,without)-openssl \
|
|
--$(if $(CONFIG_GENSIO_SCTP),with,without)-sctp \
|
|
--$(if $(CONFIG_GENSIO_WRAP),with,without)-tcp-wrappers \
|
|
--$(if $(CONFIG_GENSIO_PTHREADS),with,without)-pthreads \
|
|
--$(if $(CONFIG_GENSIO_GLIB),with,without)-glib \
|
|
--$(if $(CONFIG_GENSIO_TCL),with,without)-tcl \
|
|
--without-openipmi \
|
|
--with-cplusplus \
|
|
--disable-doc
|
|
|
|
CONFIGURE_VARS += \
|
|
ac_cv_lib_avahi_client_avahi_client_new=$(if $(CONFIG_GENSIO_AVAHI),yes,no) \
|
|
ac_cv_lib_pam_pam_start=$(if $(CONFIG_GENSIO_SSHD),yes,no)
|
|
|
|
ifneq ($(CONFIG_PACKAGE_python3-gensio),)
|
|
CONFIGURE_ARGS += \
|
|
--with-swig \
|
|
--with-python \
|
|
--with-pythoninstall=$(PYTHON3_PKG_DIR)
|
|
|
|
CONFIGURE_VARS += \
|
|
PYTHON_LIBS="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --ldflags) -l${PYTHON3}" \
|
|
PYTHON_CPPFLAGS="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --includes)" \
|
|
PYTHON="$(STAGING_DIR_HOSTPKG)/bin/$(PYTHON3)"
|
|
else
|
|
CONFIGURE_ARGS += \
|
|
--without-python \
|
|
--without-swig
|
|
endif
|
|
|
|
define Package/gensio/Default
|
|
TITLE:=Abstract stream I/O
|
|
URL:=https://github.com/cminyard/gensio
|
|
endef
|
|
|
|
define Package/gensio/Default/description
|
|
This project (pronounced gen'-see-oh) is used to abstract stream I/O
|
|
like serial port, TCP, telnet, UDP, SSL, IPMI SOL etc and offers a
|
|
framework for giving a consistent view of various stream (and packet)
|
|
I/O types. You create a gensio object (or a gensio), and you can use
|
|
that gensio without having to know too much about what is going on
|
|
underneath. You can stack gensio on top of another one to add protocol
|
|
funcionality. For instance, you can create a TCP gensio, stack SSL on
|
|
top of that, and stack Telnet on top of that. It supports a number of
|
|
network I/O and serial ports. Gensio can be used for sending and
|
|
receiving ports, and it also supports establishing encrypted and
|
|
authenticated connections.
|
|
endef
|
|
|
|
define Package/libgensio
|
|
$(call Package/gensio/Default)
|
|
TITLE+= (runtime files)
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
ABI_VERSION:=0
|
|
MENU:=1
|
|
DEPENDS:=+GENSIO_SSL:libopenssl +GENSIO_WRAP:libwrap +GENSIO_SCTP:libsctp +GENSIO_PTHREADS:libpthread +GENSIO_AVAHI:libavahi-client +GENSIO_TCL:tcl +GENSIO_GLIB:glib2 +GENSIO_SSHD:libpam
|
|
endef
|
|
|
|
define Package/libgensio/description
|
|
$(call Package/gensio/Default/description)
|
|
.
|
|
This package contains the runtime libraries.
|
|
endef
|
|
|
|
define Package/libgensio/config
|
|
source "$(SOURCE)/Config.in"
|
|
endef
|
|
|
|
define Package/gensio-bin
|
|
$(call Package/gensio/Default)
|
|
TITLE+= (command-line tools)
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
MENU:=1
|
|
DEPENDS:=+libgensio
|
|
endef
|
|
|
|
define Package/gensio-bin/description
|
|
$(call Package/gensio/Default/description)
|
|
.
|
|
This package contains the command-line tools.
|
|
endef
|
|
|
|
define Package/gensio-bin/config
|
|
source "$(SOURCE)/Config-bin.in"
|
|
endef
|
|
|
|
define Package/python3-gensio
|
|
$(call Package/gensio/Default)
|
|
TITLE+= (Python3-bindings)
|
|
SECTION:=lang
|
|
CATEGORY:=Languages
|
|
DEPENDS:=+PACKAGE_python3-gensio:python3-light +libgensio
|
|
endef
|
|
|
|
define Package/python3-gensio/description
|
|
$(call Package/gensio/Default/description)
|
|
.
|
|
This package contains the Python3-bindings for libgensio.
|
|
endef
|
|
|
|
define Package/libgensiocpp
|
|
$(call Package/gensio/Default)
|
|
TITLE+= (C++ - bindings)
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
ABI_VERSION:=0
|
|
DEPENDS:=+libgensio +PACKAGE_libgensiocpp:libstdcpp
|
|
endef
|
|
|
|
define Package/libgensiocpp/description
|
|
$(call Package/gensio/Default/description)
|
|
.
|
|
This package contains the C++ runtime files.
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include/gensio/
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/gensio/* $(1)/usr/include/gensio/
|
|
$(INSTALL_DIR) $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} $(1)/usr/lib/
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
|
|
ifneq ($(CONFIG_PACKAGE_python3-gensio),)
|
|
$(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
|
|
$(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.{so*,a,la} $(1)/$(PYTHON3_PKG_DIR)
|
|
$(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
|
|
endif
|
|
endef
|
|
|
|
define Package/libgensio/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio.so.* $(1)/usr/lib/
|
|
ifeq ($(CONFIG_GENSIO_GLIB),y)
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensioglib.so.* $(1)/usr/lib/
|
|
endif
|
|
endef
|
|
|
|
define Package/gensio-bin/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
|
|
ifeq ($(CONFIG_GENSIO_SSHD),y)
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
|
|
endif
|
|
endef
|
|
|
|
define Package/python3-gensio/install
|
|
$(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
|
|
$(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.so* $(1)/$(PYTHON3_PKG_DIR)
|
|
$(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio_python_swig.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libgensiocpp/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensiocpp.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libgensio))
|
|
$(eval $(call BuildPackage,gensio-bin))
|
|
$(eval $(call BuildPackage,python3-gensio))
|
|
$(eval $(call BuildPackage,libgensiocpp))
|