[itcl] Update to 4.0.0 for Tcl 8.6
Orion Poplawski
orion at fedoraproject.org
Tue May 27 17:26:34 UTC 2014
commit 41a9286565461d58b1d6df5db578e48f14c6d3f9
Author: Orion Poplawski <orion at nwra.com>
Date: Tue May 27 11:26:33 2014 -0600
Update to 4.0.0 for Tcl 8.6
- Cleanup spec
.gitignore | 1 +
itcl-3.3-autotools.patch | 93 -------------------------------------------
itcl-3.3-func-leak.patch | 27 ------------
itcl-3.3-libdir.patch | 53 ------------------------
itcl-3.4-findinit.patch | 11 -----
itcl-3.4-libdir.patch | 65 ------------------------------
itcl-3.4-segfaultinit.patch | 25 -----------
itcl-3.4-soname.patch | 11 -----
itcl-3.4-tclbindir.patch | 18 --------
itcl-libdir.patch | 69 ++++++++++++++++++++++++++++++++
itcl-soname.patch | 12 ++++++
itcl.spec | 41 +++++++------------
sources | 2 +-
13 files changed, 98 insertions(+), 330 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e15960f..671ce3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
incrtcl-20071231cvs.tgz
+/itcl4.0.0.tar.gz
diff --git a/itcl-libdir.patch b/itcl-libdir.patch
new file mode 100644
index 0000000..ba48249
--- /dev/null
+++ b/itcl-libdir.patch
@@ -0,0 +1,69 @@
+diff -up itcl4.0.0/configure.libdir itcl4.0.0/configure
+--- itcl4.0.0/configure.libdir 2013-02-03 09:33:10.000000000 -0700
++++ itcl4.0.0/configure 2014-05-27 10:56:45.174324295 -0600
+@@ -11121,7 +11121,7 @@ echo "${ECHO_T}${TCLSH_PROG}" >&6
+ eval itcl_STUB_LIB_FLAG="-litclstub`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
+ fi
+ itcl_BUILD_LIB_SPEC="-L`pwd` ${itcl_LIB_FLAG}"
+- itcl_LIB_SPEC="-L${pkglibdir} ${itcl_LIB_FLAG}"
++ itcl_LIB_SPEC="-L${libdir} ${itcl_LIB_FLAG}"
+ itcl_BUILD_STUB_LIB_SPEC="-L`pwd` ${itcl_STUB_LIB_FLAG}"
+ itcl_STUB_LIB_SPEC="-L${pkglibdir} ${itcl_STUB_LIB_FLAG}"
+ itcl_BUILD_STUB_LIB_PATH="`pwd`/${PKG_STUB_LIB_FILE}"
+diff -up itcl4.0.0/Makefile.in.libdir itcl4.0.0/Makefile.in
+--- itcl4.0.0/Makefile.in.libdir 2013-02-03 09:33:10.000000000 -0700
++++ itcl4.0.0/Makefile.in 2014-05-27 11:15:03.154202828 -0600
+@@ -75,8 +75,8 @@ includedir = @includedir@
+ DESTDIR =
+
+ PKG_DIR = $(PACKAGE_NAME)$(PACKAGE_VERSION)
+-pkgdatadir = $(datadir)/$(PKG_DIR)
+-pkglibdir = $(libdir)/$(PKG_DIR)
++pkgdatadir = $(datadir)/tcl at TCL_VERSION@/$(PKG_DIR)
++pkglibdir = $(libdir)/tcl at TCL_VERSION@/$(PKG_DIR)
+ pkgincludedir = $(includedir)/$(PKG_DIR)
+
+ top_builddir = .
+@@ -346,15 +346,17 @@ install-lib-binaries:
+ @$(INSTALL_DATA_DIR) $(DESTDIR)$(pkglibdir)
+ @list='$(lib_BINARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+- echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \
+- $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \
+ stub=`echo $$p|sed -e "s/.*\(stub\).*/\1/"`; \
+ if test "x$$stub" = "xstub"; then \
++ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \
++ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \
+ echo " $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p"; \
+ $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p; \
+ else \
+- echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \
+- $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \
++ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p"; \
++ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libdir)/$$p; \
++ echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
++ $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
+ fi; \
+ ext=`echo $$p|sed -e "s/.*\.//"`; \
+ if test "x$$ext" = "xdll"; then \
+@@ -374,7 +376,7 @@ install-lib-binaries:
+ fi; \
+ done
+ $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir)
+- $(INSTALL_DATA) itclConfig.sh $(DESTDIR)$(pkglibdir)
++ $(INSTALL_DATA) itclConfig.sh $(DESTDIR)$(libdir)
+
+ #========================================================================
+ # Install binary executables (e.g. .exe files)
+diff -up itcl4.0.0/pkgIndex.tcl.in.libdir itcl4.0.0/pkgIndex.tcl.in
+--- itcl4.0.0/pkgIndex.tcl.in.libdir 2013-02-03 09:33:10.000000000 -0700
++++ itcl4.0.0/pkgIndex.tcl.in 2014-05-27 10:56:45.171324311 -0600
+@@ -2,5 +2,6 @@
+
+ if {![package vsatisfies [package provide Tcl] 8.6]} {return}
+
+-package ifneeded itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] itcl]
+-package ifneeded Itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] itcl]
++namespace eval ::itcl "variable library $dir"
++package ifneeded itcl @PACKAGE_VERSION@ [list load [file join $dir .. .. "@PKG_LIB_FILE@"] itcl]
++package ifneeded Itcl @PACKAGE_VERSION@ [list load [file join $dir .. .. "@PKG_LIB_FILE@"] itcl]
diff --git a/itcl-soname.patch b/itcl-soname.patch
new file mode 100644
index 0000000..1a27890
--- /dev/null
+++ b/itcl-soname.patch
@@ -0,0 +1,12 @@
+diff -up itcl4.0.0/configure.soname itcl4.0.0/configure
+--- itcl4.0.0/configure.soname 2014-05-27 10:54:12.376125607 -0600
++++ itcl4.0.0/configure 2014-05-27 10:55:56.252581044 -0600
+@@ -8608,7 +8608,7 @@ fi
+
+ # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
+ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}'
+- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
++ LDFLAGS="$LDFLAGS -Wl,--export-dynamic -Wl,-soname,\${@}"
+ if test $doRpath = yes; then
+
+ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
diff --git a/itcl.spec b/itcl.spec
index ab8f178..11998fd 100644
--- a/itcl.spec
+++ b/itcl.spec
@@ -2,25 +2,19 @@
%{!?tcl_sitearch: %define tcl_sitearch %{_libdir}/tcl%{tcl_version}}
Name: itcl
-Version: 3.4
-Release: 12%{?dist}
+Version: 4.0.0
+Release: 1%{?dist}
Summary: Object oriented extensions to Tcl and Tk
Group: Development/Libraries
License: TCL
URL: http://incrtcl.sourceforge.net/itcl/
-# cvs -d:pserver:anonymous at incrtcl.cvs.sourceforge.net:/cvsroot/incrtcl export -D 2007-12-31 -d incrtcl-20071231cvs itcl
-# tar czf incrtcl-20071231cvs.tgz ./incrtcl-20071231cvs
-Source0: incrtcl-20071231cvs.tgz
-Patch0: itcl-3.4-tclbindir.patch
-Patch1: itcl-3.4-libdir.patch
-Patch2: itcl-3.4-soname.patch
-Patch3: itcl-3.4-findinit.patch
-Patch4: itcl-3.4-segfaultinit.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Requires: tcl(abi) = 8.5
-BuildRequires: tcl-devel
+Source0: https://downloads.sourceforge.net/project/incrtcl/%5Bincr%20Tcl_Tk%5D-4-source/Itcl%20%{version}/itcl%{version}.tar.gz
+Patch1: itcl-libdir.patch
+Patch2: itcl-soname.patch
+
+Requires: tcl(abi) = 8.6
+BuildRequires: tcl-devel >= 1:8.6
%description
[incr Tcl] is Tcl extension that provides object-oriented features that are
@@ -34,19 +28,15 @@ Requires: %{name} = %{version}-%{release}
Development headers and libraries for linking against itcl.
%prep
-%setup -q -n incrtcl-20071231cvs
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
+%setup -q -n %{name}%{version}
+%patch1 -p1 -b .libdir
+%patch2 -p1 -b .soname
%build
%configure
make %{?_smp_mflags}
%install
-rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# Patch the updated location of the stub library
@@ -56,12 +46,8 @@ sed -i -e "s#%{_libdir}/%{name}%{version}#%{tcl_sitearch}/%{name}%{version}#" \
%check
make test
-%clean
-rm -rf $RPM_BUILD_ROOT
-
%files
-%defattr(-,root,root,-)
%dir %{tcl_sitearch}/%{name}%{version}
%{tcl_sitearch}/%{name}%{version}/*.tcl
%{_libdir}/*.so
@@ -69,12 +55,15 @@ rm -rf $RPM_BUILD_ROOT
%doc license.terms
%files devel
-%defattr(-,root,root,-)
%{_includedir}/*.h
%{tcl_sitearch}/%{name}%{version}/*.a
%{_libdir}/itclConfig.sh
%changelog
+* Tue May 27 2014 Orion Poplawski <orion at cora.nwra.com> - 4.0.0-1
+- Update to 4.0.0 for Tcl 8.6
+- Cleanup spec
+
* Wed May 21 2014 Jaroslav Škarvada <jskarvad at redhat.com> - 3.4-12
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
diff --git a/sources b/sources
index 4a42fe7..6f00991 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-eb86eb5a3be09e4957701f9b9d9aa635 incrtcl-20071231cvs.tgz
+c5c14b11ee4913fccaa0d9de0b7d535c itcl4.0.0.tar.gz
More information about the scm-commits
mailing list