iputils: bump to 20240905
[feed/packages.git] / lang / tcl / Makefile
1 #
2 # Copyright (C) 2006-2018 OpenWrt.org
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:=tcl
11 TCL_MAJOR_VERSION:=8.6
12 PKG_VERSION:=${TCL_MAJOR_VERSION}.14
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION)-src.tar.gz
16 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
17 PKG_HASH:=5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66
18 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION)
19 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)$(PKG_VERSION)
20
21 PKG_MAINTAINER:=Joe Mistachkin <joe@mistachkin.com>
22 PKG_LICENSE:=TCL
23 PKG_LICENSE_FILES:=license.terms
24 PKG_CPE_ID:=cpe:/a:tcl_tk:tcl_tk
25
26 PKG_BUILD_DEPENDS:=HOST_OS_MACOS:fakeuname/host
27 PKG_FIXUP:=autoreconf
28 PKG_INSTALL:=1
29 PKG_BUILD_PARALLEL:=1
30 HOST_BUILD_PARALLEL:=1
31
32 include $(INCLUDE_DIR)/host-build.mk
33 include $(INCLUDE_DIR)/package.mk
34
35 ifeq ($(CONFIG_HOST_OS_MACOS),y)
36 include ../../utils/fakeuname/fakeuname.mk
37 endif
38
39 define Package/tcl
40 SUBMENU:=Tcl
41 SECTION:=lang
42 CATEGORY:=Languages
43 DEPENDS:=+libpthread +zlib
44 TITLE:=The Tcl language
45 URL:=https://www.tcl.tk/
46 endef
47
48 define Package/tcl/description
49 Tcl, or Tool Command Language, is a an elegant, versatile, feature-rich,
50 simple-to-learn yet very powerful industrial-strength open-source
51 programming language and development platform. It is renowned for its
52 stability and utility, and its emphasis on providing a cross-platform
53 programming API makes it an ideal choice for an enormous variety of
54 programming jobs.
55 endef
56
57 CONFIGURE_PATH := unix
58
59 CONFIGURE_VARS += \
60 $(if $(CONFIG_HOST_OS_MACOS),PATH=$(FAKEUNAME_PATH):$(PATH)) \
61 tcl_cv_strtod_unbroken=ok
62
63 CONFIGURE_ARGS += \
64 --enable-threads
65
66 MAKE_PATH := unix
67
68 define Build/Prepare
69 $(call Build/Prepare/Default)
70 rm -rf $(PKG_BUILD_DIR)/pkgs/*
71 endef
72
73 define Build/InstallDev
74 $(INSTALL_DIR) $(1)/usr/include
75 $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
76
77 $(INSTALL_DIR) $(1)/usr/lib
78 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtcl*.{a,so*} $(1)/usr/lib/
79 $(CP) $(PKG_INSTALL_DIR)/usr/lib/tclConfig.sh $(1)/usr/lib/
80 $(CP) $(PKG_INSTALL_DIR)/usr/lib/tclooConfig.sh $(1)/usr/lib/
81
82 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
83 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/tcl.pc \
84 $(1)/usr/lib/pkgconfig
85 $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/tcl.pc
86 $(SED) 's,/usr/lib,$$$${prefix}/lib,g' $(1)/usr/lib/pkgconfig/tcl.pc
87 endef
88
89 define Package/tcl/install
90 $(INSTALL_DIR) $(1)/usr/lib
91 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so $(1)/usr/lib
92
93 $(INSTALL_DIR) $(1)/usr/bin
94 $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
95
96 $(CP) -a $(PKG_INSTALL_DIR)/usr/lib/tcl8 $(1)/usr/lib/
97 $(CP) -a $(PKG_INSTALL_DIR)/usr/lib/tcl$(TCL_MAJOR_VERSION) $(1)/usr/lib/
98 $(LN) tclsh$(TCL_MAJOR_VERSION) $(1)/usr/bin/tclsh
99 endef
100
101 define Host/Configure
102 $(call Host/Configure/Default,$(1),$(2),$(CONFIGURE_PATH)/$(3))
103 endef
104
105 define Host/Compile
106 +$(HOST_MAKE_VARS) \
107 $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
108 $(HOST_MAKE_FLAGS) \
109 $(1)
110 endef
111
112 define Host/Install
113 $(call Host/Compile,install)
114 (cd $(HOST_BUILD_PREFIX)/bin; test -f tclsh || ln -s tclsh$(TCL_MAJOR_VERSION) tclsh)
115 endef
116
117 $(eval $(call HostBuild))
118 $(eval $(call BuildPackage,tcl))