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 include $(INCLUDE_DIR
)/package.mk
37 include ..
/..
/lang
/python
/python3-package.mk
40 --$(if
$(CONFIG_GENSIO_SSL
),with
,without
)-openssl \
41 --$(if
$(CONFIG_GENSIO_SCTP
),with
,without
)-sctp \
42 --$(if
$(CONFIG_GENSIO_WRAP
),with
,without
)-tcp-wrappers \
43 --$(if
$(CONFIG_GENSIO_PTHREADS
),with
,without
)-pthreads \
44 --$(if
$(CONFIG_GENSIO_GLIB
),with
,without
)-glib \
45 --$(if
$(CONFIG_GENSIO_TCL
),with
,without
)-tcl \
51 ac_cv_lib_avahi_client_avahi_client_new
=$(if
$(CONFIG_GENSIO_AVAHI
),yes
,no
) \
52 ac_cv_lib_pam_pam_start
=$(if
$(CONFIG_GENSIO_SSHD
),yes
,no
)
54 ifneq ($(CONFIG_PACKAGE_python3-gensio
),)
58 --with-pythoninstall
=$(PYTHON3_PKG_DIR
)
61 PYTHON_LIBS
="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --ldflags) -l${PYTHON3}" \
62 PYTHON_CPPFLAGS
="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --includes)" \
63 PYTHON
="$(STAGING_DIR_HOSTPKG)/bin/$(PYTHON3)"
70 define Package
/gensio
/Default
71 TITLE
:=Abstract stream I
/O
72 URL
:=https
://github.com
/cminyard
/gensio
75 define Package
/gensio
/Default
/description
76 This project
(pronounced gen
'-see-oh) is used to abstract stream I/O
77 like serial port, TCP, telnet, UDP, SSL, IPMI SOL etc and offers a
78 framework for giving a consistent view of various stream (and packet)
79 I/O types. You create a gensio object (or a gensio), and you can use
80 that gensio without having to know too much about what is going on
81 underneath. You can stack gensio on top of another one to add protocol
82 funcionality. For instance, you can create a TCP gensio, stack SSL on
83 top of that, and stack Telnet on top of that. It supports a number of
84 network I/O and serial ports. Gensio can be used for sending and
85 receiving ports, and it also supports establishing encrypted and
86 authenticated connections.
89 define Package/libgensio
90 $(call Package/gensio/Default)
91 TITLE+= (runtime files)
96 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
99 define Package/libgensio/description
100 $(call Package/gensio/Default/description)
102 This package contains the runtime libraries.
105 define Package/libgensio/config
106 source "$(SOURCE)/Config.in"
109 define Package/gensio-bin
110 $(call Package/gensio/Default)
111 TITLE+= (command-line tools)
118 define Package/gensio-bin/description
119 $(call Package/gensio/Default/description)
121 This package contains the command-line tools.
124 define Package/gensio-bin/config
125 source "$(SOURCE)/Config-bin.in"
128 define Package/python3-gensio
129 $(call Package/gensio/Default)
130 TITLE+= (Python3-bindings)
133 BUILD_DEPENDS:=+swig +python3
134 DEPENDS:=+python3-light +libgensio
137 define Package/python3-gensio/description
138 $(call Package/gensio/Default/description)
140 This package contains the Python3-bindings for libgensio.
143 define Package/libgensiocpp
144 $(call Package/gensio/Default)
145 TITLE+= (C++ - bindings)
149 DEPENDS:=+libgensio +libstdcpp
152 define Package/libgensiocpp/description
153 $(call Package/gensio/Default/description)
155 This package contains the C++ runtime files.
158 define Build/InstallDev
159 $(INSTALL_DIR) $(1)/usr/include/gensio/
160 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/gensio/* $(1)/usr/include/gensio/
161 $(INSTALL_DIR) $(1)/usr/lib/
162 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} $(1)/usr/lib/
163 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
164 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
165 ifneq ($(CONFIG_PACKAGE_python3-gensio),)
166 $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
167 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.{so*,a,la} $(1)/$(PYTHON3_PKG_DIR)
168 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
172 define Package/libgensio/install
173 $(INSTALL_DIR) $(1)/usr/lib
174 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio.so.* $(1)/usr/lib/
175 ifeq ($(CONFIG_GENSIO_GLIB),y)
176 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensioglib.so.* $(1)/usr/lib/
180 define Package/gensio-bin/install
181 $(INSTALL_DIR) $(1)/usr/bin
182 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
183 ifeq ($(CONFIG_GENSIO_SSHD),y)
184 $(INSTALL_DIR) $(1)/usr/sbin
185 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
189 define Package/python3-gensio/install
190 $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
191 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.so* $(1)/$(PYTHON3_PKG_DIR)
192 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
194 $(INSTALL_DIR) $(1)/usr/lib
195 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio_python_swig.so.* $(1)/usr/lib/
198 define Package/libgensiocpp/install
199 $(INSTALL_DIR) $(1)/usr/lib
200 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensiocpp.so.* $(1)/usr/lib/
203 $(eval $(call BuildPackage,libgensio))
204 $(eval $(call BuildPackage,gensio-bin))
205 $(eval $(call BuildPackage,python3-gensio))
206 $(eval $(call BuildPackage,libgensiocpp))