[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