Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 448caeb065 | |||
| 6b6b6a62f8 | |||
| 812103e7f6 | |||
| 4e015bb795 | |||
| b280fba38b | |||
| e3c717e847 | |||
| 56dbb46cb3 | |||
| b3ef3f8553 | |||
| 0af3957e75 | |||
| 4c894aafb9 | |||
| 9edf7838c3 | |||
| 9faaab0c64 | |||
| b72d2b7e37 | |||
| 712c49d181 | |||
| 9fd2e6f9b6 | |||
| 446baf6f43 | |||
| 5baddf5698 | |||
| 524099e119 | |||
| 68663a6e26 | |||
| 114d5bab3a |
@@ -0,0 +1 @@
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
@@ -0,0 +1,2 @@
|
||||
[lfs]
|
||||
url = https://artlfs.openeuler.openatom.cn/src-openEuler/tcl
|
||||
@@ -0,0 +1,3 @@
|
||||
%tcl_version %(echo 'puts $tcl_version' | tclsh)
|
||||
%tcl_sitelib %{_datadir}/tcl%{tcl_version}
|
||||
%tcl_sitearch %{_libdir}/tcl%{tcl_version}
|
||||
+5
-24
@@ -5,16 +5,15 @@ Subject: [PATCH 0239/1800] oops
|
||||
|
||||
---
|
||||
generic/tclOOMethod.c | 4 +---
|
||||
generic/tclTest.c | 4 ++--
|
||||
2 files changed, 3 insertions(+), 5 deletions(-)
|
||||
1 file changed, 1 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/generic/tclOOMethod.c b/generic/tclOOMethod.c
|
||||
index 34fa10893..6c9a2eb8d 100644
|
||||
index c65003f..0c7884a 100644
|
||||
--- a/generic/tclOOMethod.c
|
||||
+++ b/generic/tclOOMethod.c
|
||||
@@ -1540,9 +1540,7 @@ TclOOGetMethodBody(
|
||||
@@ -1548,9 +1548,7 @@ TclOOGetMethodBody(
|
||||
if (mPtr->typePtr == &procMethodType) {
|
||||
ProcedureMethod *pmPtr = mPtr->clientData;
|
||||
ProcedureMethod *pmPtr = (ProcedureMethod *)mPtr->clientData;
|
||||
|
||||
- if (pmPtr->procPtr->bodyPtr->bytes == NULL) {
|
||||
- (void) Tcl_GetString(pmPtr->procPtr->bodyPtr);
|
||||
@@ -23,24 +22,6 @@ index 34fa10893..6c9a2eb8d 100644
|
||||
return pmPtr->procPtr->bodyPtr;
|
||||
}
|
||||
return NULL;
|
||||
diff --git a/generic/tclTest.c b/generic/tclTest.c
|
||||
index 5bfa8f7ca..d96e35641 100644
|
||||
--- a/generic/tclTest.c
|
||||
+++ b/generic/tclTest.c
|
||||
@@ -7012,11 +7012,11 @@ TestconcatobjCmd(
|
||||
|
||||
list1Ptr = Tcl_NewStringObj("foo bar sum", -1);
|
||||
Tcl_ListObjLength(NULL, list1Ptr, &len);
|
||||
- Tcl_InvalidateStringrep(list1Ptr);
|
||||
+ Tcl_InvalidateStringRep(list1Ptr);
|
||||
|
||||
list2Ptr = Tcl_NewStringObj("eeny meeny", -1);
|
||||
Tcl_ListObjLength(NULL, list2Ptr, &len);
|
||||
- Tcl_InvalidateStringrep(list2Ptr);
|
||||
+ Tcl_InvalidateStringRep(list2Ptr);
|
||||
|
||||
/*
|
||||
* Verify that concat'ing a list obj with one or more empty strings does
|
||||
--
|
||||
2.19.1
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ index 7c30d36e7..5bfa8f7ca 100644
|
||||
- ckfree(list1Ptr->bytes);
|
||||
- list1Ptr->bytes = NULL;
|
||||
- }
|
||||
+ Tcl_InvalidateStringrep(list1Ptr);
|
||||
+ Tcl_InvalidateStringRep(list1Ptr);
|
||||
|
||||
list2Ptr = Tcl_NewStringObj("eeny meeny", -1);
|
||||
Tcl_ListObjLength(NULL, list2Ptr, &len);
|
||||
@@ -28,7 +28,7 @@ index 7c30d36e7..5bfa8f7ca 100644
|
||||
- ckfree(list2Ptr->bytes);
|
||||
- list2Ptr->bytes = NULL;
|
||||
- }
|
||||
+ Tcl_InvalidateStringrep(list2Ptr);
|
||||
+ Tcl_InvalidateStringRep(list2Ptr);
|
||||
|
||||
/*
|
||||
* Verify that concat'ing a list obj with one or more empty strings does
|
||||
|
||||
@@ -1,25 +1,3 @@
|
||||
diff --git a/generic/tclInt.h b/generic/tclInt.h
|
||||
index 39fb740..bbe342b 100644
|
||||
--- a/generic/tclInt.h
|
||||
+++ b/generic/tclInt.h
|
||||
@@ -3277,7 +3277,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Interp *interp);
|
||||
MODULE_SCOPE int TclClockOldscanObjCmd(
|
||||
ClientData clientData, Tcl_Interp *interp,
|
||||
int objc, Tcl_Obj *const objv[]);
|
||||
-MODULE_SCOPE int Tcl_CloseObjCmd(ClientData clientData,
|
||||
+extern int Tcl_CloseObjCmd(ClientData clientData,
|
||||
Tcl_Interp *interp, int objc,
|
||||
Tcl_Obj *const objv[]);
|
||||
MODULE_SCOPE int Tcl_ConcatObjCmd(ClientData clientData,
|
||||
@@ -3458,7 +3458,7 @@ MODULE_SCOPE int Tcl_RenameObjCmd(ClientData clientData,
|
||||
MODULE_SCOPE int Tcl_RepresentationCmd(ClientData clientData,
|
||||
Tcl_Interp *interp, int objc,
|
||||
Tcl_Obj *const objv[]);
|
||||
-MODULE_SCOPE int Tcl_ReturnObjCmd(ClientData clientData,
|
||||
+extern int Tcl_ReturnObjCmd(ClientData clientData,
|
||||
Tcl_Interp *interp, int objc,
|
||||
Tcl_Obj *const objv[]);
|
||||
MODULE_SCOPE int Tcl_ScanObjCmd(ClientData clientData,
|
||||
diff --git a/generic/tclPort.h b/generic/tclPort.h
|
||||
index 9485567..f329cde 100644
|
||||
--- a/generic/tclPort.h
|
||||
|
||||
@@ -42,15 +42,15 @@ diff --git a/unix/configure.in b/unix/configure.in
|
||||
index c73f368..5c57692 100644
|
||||
--- a/unix/configure.in
|
||||
+++ b/unix/configure.in
|
||||
@@ -866,9 +866,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then
|
||||
@@ -869,9 +869,9 @@
|
||||
test -z "$TCL_MODULE_PATH" && \
|
||||
TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl"
|
||||
elif test "$prefix/lib" != "$libdir"; then
|
||||
- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="{${libdir}} {${prefix}/lib} ${TCL_PACKAGE_PATH}"
|
||||
+ test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}/tcl8.6 ${prefix}/share/tcl8.6 ${libdir}/tk8.6 ${prefix}/share/tk8.6 ${TCL_PACKAGE_PATH}"
|
||||
- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}:${prefix}/lib"
|
||||
+ test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}/tcl8.6 ${prefix}/share/tcl8.6 ${libdir}/tk8.6 ${prefix}/share/tk8.6"
|
||||
else
|
||||
- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="{${prefix}/lib} ${TCL_PACKAGE_PATH}"
|
||||
+ test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}/tcl8.6 ${prefix}/share/tcl8.6 ${libdir}/tk8.6 ${prefix}/share/tk8.6 ${TCL_PACKAGE_PATH}"
|
||||
- test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${prefix}/lib"
|
||||
+ test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${libdir}/tcl8.6 ${prefix}/share/tcl8.6 ${libdir}/tk8.6 ${prefix}/share/tk8.6"
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
@@ -2,7 +2,7 @@ diff --git a/unix/tcl.m4 b/unix/tcl.m4
|
||||
index f3d08ec..ed12cda 100644
|
||||
--- a/unix/tcl.m4
|
||||
+++ b/unix/tcl.m4
|
||||
@@ -1382,7 +1382,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
|
||||
@@ -1378,7 +1378,7 @@
|
||||
# get rid of the warnings.
|
||||
#CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
|
||||
|
||||
@@ -11,8 +11,8 @@ index f3d08ec..ed12cda 100644
|
||||
DL_OBJS="tclLoadDl.o"
|
||||
DL_LIBS="-ldl"
|
||||
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
|
||||
@@ -1398,7 +1398,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
|
||||
esac
|
||||
@@ -1394,7 +1394,7 @@
|
||||
esac
|
||||
|
||||
AS_IF([test $doRpath = yes], [
|
||||
- CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
|
||||
@@ -0,0 +1,22 @@
|
||||
--- tcl8.6.15/unix/Makefile.in.orig 2024-11-12 16:31:23.486705192 +0800
|
||||
+++ tcl8.6.15/unix/Makefile.in 2024-11-12 16:56:09.598577892 +0800
|
||||
@@ -154,8 +154,8 @@
|
||||
INSTALL_STRIP_LIBRARY = strip -x
|
||||
|
||||
INSTALL = $(SHELL) $(UNIX_DIR)/install-sh -c
|
||||
-INSTALL_PROGRAM = ${INSTALL}
|
||||
-INSTALL_LIBRARY = ${INSTALL}
|
||||
+INSTALL_PROGRAM = ${INSTALL} -m 755
|
||||
+INSTALL_LIBRARY = ${INSTALL} -m 755
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_DATA_DIR = ${INSTALL} -d -m 755
|
||||
|
||||
@@ -812,7 +812,7 @@
|
||||
done
|
||||
@echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/"
|
||||
@@INSTALL_LIB@
|
||||
- @chmod 555 "$(DLL_INSTALL_DIR)/$(LIB_FILE)"
|
||||
+ @chmod 755 "$(DLL_INSTALL_DIR)/$(LIB_FILE)"
|
||||
@echo "Installing ${TCL_EXE} as $(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"
|
||||
@$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"
|
||||
@echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/"
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3b371386a9a928eecdbf263bcab7d6a531e620ca3fbab4fdeeb3d6a9a56f38e9
|
||||
size 7022932
|
||||
@@ -0,0 +1,19 @@
|
||||
%__tcl_path ^(%{_datadir}|%{_libdir})/tcl[[:digit:]]+\\.[[:digit:]]+/.+
|
||||
|
||||
%__tcl_requires() %{lua:
|
||||
-- Match buildroot paths of the form
|
||||
-- /PATH/OF/BUILDROOT/usr/lib(64)/tclMAJOR.MINOR/ and
|
||||
-- /PATH/OF/BUILDROOT/usr/share/tclMAJOR.MINOR/
|
||||
-- generating a line of the form:
|
||||
-- tcl(abi) = MAJOR.MINOR
|
||||
local path = rpm.expand('%1')
|
||||
local datadir = rpm.expand('%_datadir')
|
||||
local libdir = rpm.expand('%_libdir')
|
||||
for i, dir in ipairs({datadir, libdir}) do
|
||||
if path:match(dir .. '/tcl%d+%.%d+/.*') then
|
||||
local requires = path:gsub('.*' .. dir .. '/tcl(%d+%.%d+)/.*', 'tcl(abi) = %1')
|
||||
print(requires)
|
||||
break
|
||||
end
|
||||
end
|
||||
}
|
||||
@@ -1,26 +1,29 @@
|
||||
%define MAJOR 8.6
|
||||
%define MAJOR 8.6
|
||||
|
||||
Name: tcl
|
||||
Version: 8.6.12
|
||||
Release: 1
|
||||
Version: 8.6.16
|
||||
Release: 2
|
||||
Epoch: 1
|
||||
Summary: The Tool Command Language implementation
|
||||
License: BSD
|
||||
License: TCL AND GPL-3.0-or-later WITH bison-exception-2.2 AND BSD-3-Clause
|
||||
URL: https://sourceforge.net/projects/tcl/
|
||||
Source0: http://downloads.sourceforge.net/sourceforge/tcl/tcl-core%{version}-src.tar.gz
|
||||
Source0: https://downloads.sourceforge.net/sourceforge/tcl/tcl-core%{version}-src.tar.gz
|
||||
Source1: macros.tcl
|
||||
Source2: tcl.attr
|
||||
|
||||
BuildRequires: autoconf zlib-devel systemtap-sdt-devel gcc
|
||||
Provides: tcl(abi) = %{MAJOR}
|
||||
Obsoletes: tcl-tcldict <= %{version}
|
||||
Provides: tcl-tcldict = %{version}
|
||||
|
||||
Patch0: tcl-8.6.12-autopath.patch
|
||||
Patch1: tcl-8.6.12-conf.patch
|
||||
Patch0: tcl-8.6.15-autopath.patch
|
||||
Patch1: tcl-8.6.15-conf.patch
|
||||
Patch2: tcl-8.6.10-hidden.patch
|
||||
Patch3: tcl-8.6.10-tcltests-path-fix.patch
|
||||
Patch4: stay-out-of-internals-when-nice-interfaces-are-avail.patch
|
||||
Patch5: oops.patch
|
||||
Patch6: File-not-found-should-be-ignored-silently.patch
|
||||
Patch7: tcl-8.6.15-fix-install-mode.patch
|
||||
|
||||
%description
|
||||
Tcl(Tool Command Language) provides a powerful platform for creating integration applications
|
||||
@@ -50,16 +53,21 @@ The development files for tcl.
|
||||
%autosetup -n %{name}%{version} -p1
|
||||
|
||||
%build
|
||||
cd unix
|
||||
pushd unix
|
||||
autoconf
|
||||
%configure --enable-threads --enable-symbols --enable-shared --enable-dtrace
|
||||
%ifnarch loongarch64
|
||||
%make_build CFLAGS="%{optflags}" TCL_LIBRARY=%{_datadir}/%{name}%{MAJOR}
|
||||
%else
|
||||
%make_build CFLAGS="-Wl,--whole-archive -lpthread -Wl,--no-whole-archive" TCL_LIBRARY=%{_datadir}/%{name}%{MAJOR}
|
||||
%endif
|
||||
popd
|
||||
|
||||
%install
|
||||
cd unix
|
||||
pushd unix
|
||||
make INSTALL_ROOT=$RPM_BUILD_ROOT TCL_LIBRARY=%{_datadir}/%{name}%{MAJOR} install
|
||||
popd
|
||||
|
||||
cd ..
|
||||
ln -s tclsh%{MAJOR} %{buildroot}%{_bindir}/tclsh
|
||||
ln -s lib%{name}%{MAJOR}.so $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so
|
||||
|
||||
@@ -82,29 +90,25 @@ done
|
||||
sed -i -e "s|$PWD/unix|%{_libdir}|; s|$PWD|%{_includedir}/%{name}-private|" %{buildroot}/%{_libdir}/%{name}Config.sh
|
||||
rm -rf %{buildroot}/%{_datadir}/%{name}%{MAJOR}/ldAix
|
||||
|
||||
install -D -m644 %{S:1} %{buildroot}%{_rpmmacrodir}/macros.tcl
|
||||
install -D -m644 %{S:2} %{buildroot}%{_fileattrsdir}/tcl.attr
|
||||
|
||||
%check
|
||||
cd unix
|
||||
make test
|
||||
|
||||
%pre
|
||||
|
||||
%preun
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
pushd unix
|
||||
%make_build test
|
||||
popd
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc README.md changes COPYING
|
||||
%license COPYING
|
||||
%doc README.md changes
|
||||
%{_bindir}/tclsh*
|
||||
%dir %{_libdir}/%{name}%{MAJOR}
|
||||
%{_datadir}/%{name}%{MAJOR}
|
||||
%{_datadir}/%{name}8
|
||||
%{_libdir}/lib%{name}%{MAJOR}.so
|
||||
%exclude %{_datadir}/%{name}%{MAJOR}/tclAppInit.c
|
||||
%{_rpmmacrodir}/macros.tcl
|
||||
%{_fileattrsdir}/tcl.attr
|
||||
|
||||
%files devel
|
||||
%{_includedir}/*
|
||||
@@ -117,11 +121,42 @@ make test
|
||||
%{_datadir}/%{name}%{MAJOR}/tclAppInit.c
|
||||
|
||||
%files help
|
||||
%{_mandir}/man3/*
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/mann/*
|
||||
%{_mandir}/man?/*
|
||||
|
||||
%changelog
|
||||
* Sat Aug 02 2025 Funda Wang <fundawang@yeah.net> - 1:8.6.16-2
|
||||
- add tcl.attr to generate 'tcl(abi)' requires automatically
|
||||
|
||||
* Wed Dec 25 2024 Funda Wang <fundawang@yeah.net> - 1:8.6.16-1
|
||||
- update to 8.6.16
|
||||
|
||||
* Tue Nov 12 2024 Funda Wang <fundawang@yeah.net> - 1:8.6.15-3
|
||||
- fix library and excutable install mode, which will confuse new debugedit
|
||||
|
||||
* Wed Oct 16 2024 Funda Wang <fundawang@yeah.net> - 1:8.6.15-2
|
||||
- add macros.tcl for downstream packages
|
||||
|
||||
* Tue Sep 17 2024 Funda Wang <fundawang@yeah.net> - 1:8.6.15-1
|
||||
- update to 8.6.15
|
||||
|
||||
* Thu Feb 29 2024 wangqia <wangqia@uniontech.com> - 1:8.6.14-1
|
||||
- Update to version 8.6.14
|
||||
|
||||
* Wed Feb 08 2023 fuanan <fuanan3@h-partners.com> - 1:8.6.13-2
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:drop the old symbol
|
||||
|
||||
* Sun Jan 29 2023 zhangruifang2020 <zhangruifang1@h-partners.com> - 1:8.6.13-1
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:update to 8.6.13
|
||||
|
||||
* Tue Nov 15 2022 huajingyun <huajingyun@loongson.cn> - 1:8.6.12-2
|
||||
- add build flags for weak symbols on loongarch64
|
||||
|
||||
* Thu Apr 21 2022 zoulin <zoulin13@h-partners.com> - 1:8.6.12-1
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
|
||||
Reference in New Issue
Block a user