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 \
54 ac_cv_lib_avahi_client_avahi_client_new
=$(if
$(CONFIG_GENSIO_AVAHI
),yes
,no
) \
55 ac_cv_lib_pam_pam_start
=$(if
$(CONFIG_GENSIO_SSHD
),yes
,no
)
57 ifneq ($(CONFIG_PACKAGE_python3-gensio
),)
61 --with-pythoninstall
=$(PYTHON3_PKG_DIR
)
64 PYTHON_LIBS
="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --ldflags) -l${PYTHON3}" \
65 PYTHON_CPPFLAGS
="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --includes)" \
66 PYTHON
="$(STAGING_DIR_HOSTPKG)/bin/$(PYTHON3)"
73 define Package
/gensio
/Default
74 TITLE
:=Abstract stream I
/O
75 URL
:=https
://github.com
/cminyard
/gensio
78 define Package
/gensio
/Default
/description
79 This project
(pronounced gen
'-see-oh) is used to abstract stream I/O
80 like serial port, TCP, telnet, UDP, SSL, IPMI SOL etc and offers a
81 framework for giving a consistent view of various stream (and packet)
82 I/O types. You create a gensio object (or a gensio), and you can use
83 that gensio without having to know too much about what is going on
84 underneath. You can stack gensio on top of another one to add protocol
85 funcionality. For instance, you can create a TCP gensio, stack SSL on
86 top of that, and stack Telnet on top of that. It supports a number of
87 network I/O and serial ports. Gensio can be used for sending and
88 receiving ports, and it also supports establishing encrypted and
89 authenticated connections.
92 define Package/libgensio
93 $(call Package/gensio/Default)
94 TITLE+= (runtime files)
99 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
102 define Package/libgensio/description
103 $(call Package/gensio/Default/description)
105 This package contains the runtime libraries.
108 define Package/libgensio/config
109 source "$(SOURCE)/Config.in"
112 define Package/gensio-bin
113 $(call Package/gensio/Default)
114 TITLE+= (command-line tools)
121 define Package/gensio-bin/description
122 $(call Package/gensio/Default/description)
124 This package contains the command-line tools.
127 define Package/gensio-bin/config
128 source "$(SOURCE)/Config-bin.in"
131 define Package/python3-gensio
132 $(call Package/gensio/Default)
133 TITLE+= (Python bindings)
137 DEPENDS:=+PACKAGE_python3-gensio:python3-light +libgensiocpp
140 define Package/python3-gensio/description
141 $(call Package/gensio/Default/description)
143 This package contains the Python3-bindings for libgensio.
146 define Package/libgensiocpp
147 $(call Package/gensio/Default)
148 TITLE+= (C++ - bindings)
152 DEPENDS:=+libgensio +PACKAGE_libgensiocpp:libstdcpp
155 define Package/libgensiocpp/description
156 $(call Package/gensio/Default/description)
158 This package contains the C++ runtime files.
161 define Build/InstallDev
162 $(INSTALL_DIR) $(1)/usr/include/gensio/
163 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/gensio/* $(1)/usr/include/gensio/
164 $(INSTALL_DIR) $(1)/usr/lib/
165 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} $(1)/usr/lib/
166 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
167 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
168 ifneq ($(CONFIG_PACKAGE_python3-gensio),)
169 $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
170 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.{so*,a,la} $(1)/$(PYTHON3_PKG_DIR)
171 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
175 define Package/libgensio/install
176 $(INSTALL_DIR) $(1)/usr/lib
177 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio.so.* $(1)/usr/lib/
178 ifeq ($(CONFIG_GENSIO_GLIB),y)
179 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensioglib.so.* $(1)/usr/lib/
183 define Package/gensio-bin/install
184 $(INSTALL_DIR) $(1)/usr/bin
185 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
186 ifeq ($(CONFIG_GENSIO_SSHD),y)
187 $(INSTALL_DIR) $(1)/usr/sbin
188 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
192 define Package/python3-gensio/install
193 $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
194 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.so* $(1)/$(PYTHON3_PKG_DIR)
195 $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/*.py* $(1)/$(PYTHON3_PKG_DIR)
197 $(INSTALL_DIR) $(1)/usr/lib
198 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio_python_swig.so.* $(1)/usr/lib/
201 define Package/libgensiocpp/install
202 $(INSTALL_DIR) $(1)/usr/lib
203 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensiocpp.so.* $(1)/usr/lib/
206 $(eval $(call BuildPackage,libgensio))
207 $(eval $(call BuildPackage,gensio-bin))
208 $(eval $(call BuildPackage,python3-gensio))
209 $(eval $(call BuildPackage,libgensiocpp))