|
|
- #
- # 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
-
- 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
- BUILD_DEPENDS:=+swig +python3
- DEPENDS:=+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 +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))
|