Merge pull request #18750 from champtar/prom-lua-wait
[feed/packages.git] / net / gensio / Makefile
1 #
2 # Copyright (C) 2022 Nita Vesa (werecatf@outlook.com)
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=gensio
11 PKG_VERSION:=2.4.2
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=@SF/ser2net
16 PKG_HASH:=2593c1e7beaec3a0a4acbf60f94bbf64b99883d86f172a3b584eba5f67441b4b
17
18 PKG_LICENSE:=GPL-2.0-or-later
19 PKG_LICENSE_FILES:=COPYING
20 PKG_MAINTAINER:=Nita Vesa <werecatf@outlook.com>
21
22 PKG_FIXUP:=autoreconf
23 PKG_INSTALL:=1
24 PYTHON3_PKG_BUILD:=0
25
26 PKG_CONFIG_DEPENDS:= \
27 CONFIG_GENSIO_SSL \
28 CONFIG_GENSIO_WRAP \
29 CONFIG_GENSIO_SCTP \
30 CONFIG_GENSIO_PTHREADS \
31 CONFIG_GENSIO_AVAHI \
32 CONFIG_GENSIO_GLIB \
33 CONFIG_GENSIO_TCL \
34 CONFIG_GENSIO_SSHD
35
36 include $(INCLUDE_DIR)/package.mk
37 include ../../lang/python/python3-package.mk
38
39 CONFIGURE_ARGS += \
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 \
46 --without-openipmi \
47 --with-cplusplus \
48 --disable-doc
49
50 CONFIGURE_VARS += \
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)
53
54 ifneq ($(CONFIG_PACKAGE_python3-gensio),)
55 CONFIGURE_ARGS += \
56 --with-swig \
57 --with-python \
58 --with-pythoninstall=$(PYTHON3_PKG_DIR)
59
60 CONFIGURE_VARS += \
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)"
64 else
65 CONFIGURE_ARGS += \
66 --without-python \
67 --without-swig
68 endif
69
70 define Package/gensio/Default
71 TITLE:=Abstract stream I/O
72 URL:=https://github.com/cminyard/gensio
73 endef
74
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.
87 endef
88
89 define Package/libgensio
90 $(call Package/gensio/Default)
91 TITLE+= (runtime files)
92 SECTION:=libs
93 CATEGORY:=Libraries
94 ABI_VERSION:=0
95 MENU:=1
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
97 endef
98
99 define Package/libgensio/description
100 $(call Package/gensio/Default/description)
101 .
102 This package contains the runtime libraries.
103 endef
104
105 define Package/libgensio/config
106 source "$(SOURCE)/Config.in"
107 endef
108
109 define Package/gensio-bin
110 $(call Package/gensio/Default)
111 TITLE+= (command-line tools)
112 SECTION:=net
113 CATEGORY:=Network
114 MENU:=1
115 DEPENDS:=+libgensio
116 endef
117
118 define Package/gensio-bin/description
119 $(call Package/gensio/Default/description)
120 .
121 This package contains the command-line tools.
122 endef
123
124 define Package/gensio-bin/config
125 source "$(SOURCE)/Config-bin.in"
126 endef
127
128 define Package/python3-gensio
129 $(call Package/gensio/Default)
130 TITLE+= (Python3-bindings)
131 SECTION:=lang
132 CATEGORY:=Languages
133 BUILD_DEPENDS:=+swig +python3
134 DEPENDS:=+python3-light +libgensio
135 endef
136
137 define Package/python3-gensio/description
138 $(call Package/gensio/Default/description)
139 .
140 This package contains the Python3-bindings for libgensio.
141 endef
142
143 define Package/libgensiocpp
144 $(call Package/gensio/Default)
145 TITLE+= (C++ - bindings)
146 SECTION:=libs
147 CATEGORY:=Libraries
148 ABI_VERSION:=0
149 DEPENDS:=+libgensio +libstdcpp
150 endef
151
152 define Package/libgensiocpp/description
153 $(call Package/gensio/Default/description)
154 .
155 This package contains the C++ runtime files.
156 endef
157
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)
169 endif
170 endef
171
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/
177 endif
178 endef
179
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/
186 endif
187 endef
188
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)
193
194 $(INSTALL_DIR) $(1)/usr/lib
195 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensio_python_swig.so.* $(1)/usr/lib/
196 endef
197
198 define Package/libgensiocpp/install
199 $(INSTALL_DIR) $(1)/usr/lib
200 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgensiocpp.so.* $(1)/usr/lib/
201 endef
202
203 $(eval $(call BuildPackage,libgensio))
204 $(eval $(call BuildPackage,gensio-bin))
205 $(eval $(call BuildPackage,python3-gensio))
206 $(eval $(call BuildPackage,libgensiocpp))