2 # Copyright (C) 2022 Nita Vesa (werecatf@outlook.com)
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:=@SF
/ser2net
16 PKG_HASH
:=2593c1e7beaec3a0a4acbf60f94bbf64b99883d86f172a3b584eba5f67441b4b
18 PKG_LICENSE
:=GPL-2.0
-or-later
19 PKG_LICENSE_FILES
:=COPYING
20 PKG_MAINTAINER
:=Nita Vesa
<werecatf@outlook.com
>
26 PKG_CONFIG_DEPENDS
:= \
30 CONFIG_GENSIO_PTHREADS \
36 PKG_BUILD_DEPENDS
:=PACKAGE_python3-gensio
:swig
/host
38 include $(INCLUDE_DIR
)/package.mk
39 include ..
/..
/lang
/python
/python3-package.mk
42 --$(if
$(CONFIG_GENSIO_SSL
),with
,without
)-openssl \
43 --$(if
$(CONFIG_GENSIO_SCTP
),with
,without
)-sctp \
44 --$(if
$(CONFIG_GENSIO_WRAP
),with
,without
)-tcp-wrappers \
45 --$(if
$(CONFIG_GENSIO_PTHREADS
),with
,without
)-pthreads \
46 --$(if
$(CONFIG_GENSIO_GLIB
),with
,without
)-glib \
47 --$(if
$(CONFIG_GENSIO_TCL
),with
,without
)-tcl \
53 ac_cv_lib_avahi_client_avahi_client_new
=$(if
$(CONFIG_GENSIO_AVAHI
),yes
,no
) \
54 ac_cv_lib_pam_pam_start
=$(if
$(CONFIG_GENSIO_SSHD
),yes
,no
)
56 ifneq ($(CONFIG_PACKAGE_python3-gensio
),)
60 --with-pythoninstall
=$(PYTHON3_PKG_DIR
)
63 PYTHON_LIBS
="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --ldflags) -l${PYTHON3}" \
64 PYTHON_CPPFLAGS
="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --includes)" \
65 PYTHON
="$(STAGING_DIR_HOSTPKG)/bin/$(PYTHON3)"
72 define Package
/gensio
/Default
73 TITLE
:=Abstract stream I
/O
74 URL
:=https
://github.com
/cminyard
/gensio
77 define Package
/gensio
/Default
/description
78 This project
(pronounced gen
'-see-oh) is used to abstract stream I/O
79 like serial port, TCP, telnet, UDP, SSL, IPMI SOL etc and offers a
80 framework for giving a consistent view of various stream (and packet)
81 I/O types. You create a gensio object (or a gensio), and you can use
82 that gensio without having to know too much about what is going on
83 underneath. You can stack gensio on top of another one to add protocol
84 funcionality. For instance, you can create a TCP gensio, stack SSL on
85 top of that, and stack Telnet on top of that. It supports a number of
86 network I/O and serial ports. Gensio can be used for sending and
87 receiving ports, and it also supports establishing encrypted and
88 authenticated connections.
91 define Package/libgensio
92 $(call Package/gensio/Default)
93 TITLE+= (runtime files)
98 DEPENDS:=+GENSIO_SSL:libopenssl +GENSIO_WRAP:libwrap +(IPV6&&GENSIO_SCTP):libsctp +GENSIO_PTHREADS:libpthread +GENSIO_AVAHI:libavahi-client +GENSIO_TCL:tcl +GENSIO_GLIB:glib2 +GENSIO_SSHD:libpam
101 define Package/libgensio/description
102 $(call Package/gensio/Default/description)
104 This package contains the runtime libraries.
107 define Package/libgensio/config
108 source "$(SOURCE)/Config.in"
111 define Package/gensio-bin
112 $(call Package/gensio/Default)
113 TITLE+= (command-line tools)
120 define Package/gensio-bin/description
121 $(call Package/gensio/Default/description)
123 This package contains the command-line tools.
126 define Package/gensio-bin/config
127 source "$(SOURCE)/Config-bin.in"
130 define Package/python3-gensio
131 $(call Package/gensio/Default)
132 TITLE+= (Python bindings)
136 DEPENDS:=+PACKAGE_python3-gensio:python3-light +libgensiocpp
139 define Package/python3-gensio/description
140 $(call Package/gensio/Default/description)
142 This package contains the Python3-bindings for libgensio.
145 define Package/libgensiocpp
146 $(call Package/gensio/Default)
147 TITLE+= (C++ - bindings)
151 DEPENDS:=+libgensio +PACKAGE_libgensiocpp:libstdcpp
154 define Package/libgensiocpp/description
155 $(call Package/gensio/Default/description)
157 This package contains the C++ runtime files.
160 define Build/InstallDev
161 $(INSTALL_DIR) $(1)/usr/include/gensio/
162 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/gensio/* $(1)/usr/include/gensio/
163 $(INSTALL_DIR) $(1)/usr/lib/
164 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} $(1)/usr/lib/
165 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
166 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
167 ifneq ($(CONFIG_PACKAGE_python3-gensio),)
168 $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
169 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.{so*,a,la} $(1)/$(PYTHON3_PKG_DIR)
170 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
174 define Package/libgensio/install
175 $(INSTALL_DIR) $(1)/usr/lib
176 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio.so.* $(1)/usr/lib/
177 ifeq ($(CONFIG_GENSIO_GLIB),y)
178 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensioglib.so.* $(1)/usr/lib/
182 define Package/gensio-bin/install
183 $(INSTALL_DIR) $(1)/usr/bin
184 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
185 ifeq ($(CONFIG_GENSIO_SSHD),y)
186 $(INSTALL_DIR) $(1)/usr/sbin
187 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
191 define Package/python3-gensio/install
192 $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
193 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.so* $(1)/$(PYTHON3_PKG_DIR)
194 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
196 $(INSTALL_DIR) $(1)/usr/lib
197 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio_python_swig.so.* $(1)/usr/lib/
200 define Package/libgensiocpp/install
201 $(INSTALL_DIR) $(1)/usr/lib
202 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensiocpp.so.* $(1)/usr/lib/
205 $(eval $(call BuildPackage,libgensio))
206 $(eval $(call BuildPackage,gensio-bin))
207 $(eval $(call BuildPackage,python3-gensio))
208 $(eval $(call BuildPackage,libgensiocpp))