2 # Copyright (C) 2006-2011 Openwrt.org
3 # Copyright (C) 2011 SMBPhone Inc.
4 # Copyright (C) 2019, 2023 Jeffery To
6 # This is free software, licensed under the GNU General Public License v2.
7 # See /LICENSE for more information.
10 include $(TOPDIR
)/rules.mk
16 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.bz2
17 PKG_SOURCE_URL
:=https
://www.jedsoft.org
/releases
/slang \
18 https
://www.jedsoft.org
/releases
/slang
/old
19 PKG_HASH
:=f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18
21 PKG_LICENSE
:=GPL-2.0
-or-later
22 PKG_LICENSE_FILES
:=COPYING
23 PKG_MAINTAINER
:=Jeffery To
<jeffery.to@gmail.com
>
26 PKG_CONFIG_DEPENDS
:= \
28 CONFIG_PACKAGE_libslang2-mod-onig \
29 CONFIG_PACKAGE_libslang2-mod-png \
30 CONFIG_PACKAGE_libslang2-mod-zlib
32 SLANG_MODULES
:= base64 chksum csv fcntl fork histogram iconv json onig \
33 png rand select slsmg socket stats sysconf termios varray zlib
35 include $(INCLUDE_DIR
)/package.mk
36 include $(INCLUDE_DIR
)/nls.mk
38 define Package
/libslang2
/Default
41 TITLE
:=S-Lang Programmer
's Library
42 URL:=https://www.jedsoft.org/slang/
45 define Package/libslang2/Default/description
46 Multi-platform programmer's library providing facilities for interactive
47 applications. Includes such things
as display
/screen management
,
48 keyboard input
, keymaps
, etc. Includes the embeddable S-Lang
52 define Package
/libslang2
53 $(call Package
/libslang2
/Default
)
57 define Package
/libslang2
/description
58 $(call Package
/libslang2
/Default
/description
)
61 define Package
/libslang2-modules
62 $(call Package
/libslang2
/Default
)
64 DEPENDS
:=@PACKAGE_libslang2
$(foreach mod
,$(SLANG_MODULES
),+libslang2-mod-
$(mod
))
67 define Package
/libslang2-modules
/description
68 $(call Package
/libslang2
/Default
/description
)
70 This package installs
all of S-Lang
's bundled modules.
73 define Package/libslang2-mod/Default
74 $(call Package/libslang2/Default)
75 DEPENDS:=@PACKAGE_libslang2
78 define Package/libslang2-mod-iconv
79 $(call Package/libslang2-mod/Default)
80 TITLE+= (iconv module)
81 DEPENDS+=$(ICONV_DEPENDS)
84 define Package/libslang2-mod-onig
85 $(call Package/libslang2-mod/Default)
87 DEPENDS+=+PACKAGE_libslang2-mod-onig:oniguruma
90 define Package/libslang2-mod-png
91 $(call Package/libslang2-mod/Default)
93 DEPENDS+=+PACKAGE_libslang2-mod-png:libpng
96 define Package/libslang2-mod-zlib
97 $(call Package/libslang2-mod/Default)
99 DEPENDS+=+PACKAGE_libslang2-mod-zlib:zlib
106 URL:=https://www.jedsoft.org/slang/slsh.html
107 DEPENDS:=+libslang2 +libslang2-modules
110 define Package/slsh/description
111 This is a shell which is mostly just a wrapper around the S-Lang
112 Interpreter, which is part of the S-Lang Library.
115 TARGET_CFLAGS+= $(FPIC)
120 --with-readline=slang \
121 --with-terminfo=default \
124 $(if $(CONFIG_BUILD_NLS),--with-iconv="$(ICONV_PREFIX)",--without-iconv) \
125 $(if $(CONFIG_PACKAGE_libslang2-mod-onig),--with-onig="$(STAGING_DIR)/usr",--without-onig) \
126 $(if $(CONFIG_PACKAGE_libslang2-mod-png),--with-png="$(STAGING_DIR)/usr",--without-png) \
127 $(if $(CONFIG_PACKAGE_libslang2-mod-zlib),--with-z="$(STAGING_DIR)/usr",--without-z)
130 $(call Build/Compile/Default,)
131 $(call Build/Compile/Default,static)
134 # Default install last, so that the dynamic slsh is installed
136 $(call Build/Install/Default,install-static)
137 $(call Build/Install/Default,)
140 define Build/InstallDev
141 $(INSTALL_DIR) $(1)/usr/include
142 $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
144 $(INSTALL_DIR) $(1)/usr/lib
145 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libslang.{a,so*} $(1)/usr/lib/
147 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
148 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/slang.pc $(1)/usr/lib/pkgconfig/
151 define Package/libslang2/install
152 $(INSTALL_DIR) $(1)/usr/lib
153 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libslang.so* $(1)/usr/lib/
156 Package/libslang2-modules/install:=:
158 define Package/slsh/install
159 $(INSTALL_DIR) $(1)/etc
160 $(CP) $(PKG_INSTALL_DIR)/etc/slsh.rc $(1)/etc/
162 $(INSTALL_DIR) $(1)/usr/bin
163 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/slsh $(1)/usr/bin/
165 $(INSTALL_DIR) $(1)/usr/share
166 $(CP) $(PKG_INSTALL_DIR)/usr/share/slsh/ $(1)/usr/share/
170 ifndef Package/libslang2-mod-$(1)
171 define Package/libslang2-mod-$(1)
172 $$(call Package/libslang2-mod/Default)
173 TITLE+= ($(1) module)
177 define Package/libslang2-mod-$(1)/description
178 $$(call Package/libslang2/Default/description)
180 This package contains the $(1) module.
183 define Package/libslang2-mod-$(1)/install
184 $$(INSTALL_DIR) $$(1)/usr/lib/slang/v2/modules
185 $$(CP) $$(PKG_INSTALL_DIR)/usr/lib/slang/v2/modules/$(1)-module.so $$(1)/usr/lib/slang/v2/modules/
188 $$(eval $$(call BuildPackage,libslang2-mod-$(1)))
191 $(foreach mod,$(SLANG_MODULES),$(eval $(call BuildModule,$(mod))))
193 $(eval $(call BuildPackage,libslang2))
194 $(eval $(call BuildPackage,libslang2-modules))
195 $(eval $(call BuildPackage,slsh))