[packages/metakit] - rel 3; fix tcl/tk 8.6 build

arekm arekm at pld-linux.org
Tue Jun 3 11:24:18 CEST 2014


commit 6a98d05aa4bac5d72514698948bad635f18380cc
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Jun 3 11:24:15 2014 +0200

    - rel 3; fix tcl/tk 8.6 build

 metakit-build.patch | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 metakit.spec        |  9 +++++---
 2 files changed, 69 insertions(+), 3 deletions(-)
---
diff --git a/metakit.spec b/metakit.spec
index ea0fa1e..306b446 100644
--- a/metakit.spec
+++ b/metakit.spec
@@ -2,22 +2,23 @@ Summary:	Embeddable database
 Summary(pl.UTF-8):	Baza danych
 Name:		metakit
 Version:	2.4.9.7
-Release:	2
+Release:	3
 License:	GPL
 Group:		Libraries
 Source0:	http://www.equi4.com/pub/mk/%{name}-%{version}.tar.gz
 # Source0-md5:	17330257376eea657827ed632ea62c9e
 Patch0:		%{name}-sparc64.patch
+Patch1:		%{name}-build.patch
 URL:		http://www.equi4.com/metakit.html
 BuildRequires:	autoconf
 BuildRequires:	automake
 BuildRequires:	libstdc++-devel
 BuildRequires:	libtool
 BuildRequires:	python-devel
-BuildRequires:	tcl-devel
+BuildRequires:	tcl-devel >= %{tcl_version}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define		tcl_version	8.5
+%define		tcl_version	8.6
 
 %description
 MetaKit is an embeddable database which runs on Unix, Windows,
@@ -76,6 +77,7 @@ Moduły Tcl-a dla pakietu metakit.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 cd unix
@@ -83,6 +85,7 @@ cd unix
 %{__aclocal}
 %{__autoconf}
 %configure \
+	CXXFLAGS="%{rpmcxxflags} -DUSE_INTERP_RESULT -DUSE_INTERP_ERRORLINE" \
 	--with-tcl=%{_includedir},%{_libdir}/tcl%{tcl_version} \
 	--with-python=%{py_incdir},%{py_sitedir} \
 	--enable-shared
diff --git a/metakit-build.patch b/metakit-build.patch
new file mode 100644
index 0000000..15f77cf
--- /dev/null
+++ b/metakit-build.patch
@@ -0,0 +1,63 @@
+--- metakit-2.4.9.7/tcl/stubtcl.h~	2007-03-09 16:58:53.000000000 +0100
++++ metakit-2.4.9.7/tcl/stubtcl.h	2014-06-03 11:04:36.246677360 +0200
+@@ -1,7 +1,5 @@
+ /* Internal stub code, copied from CritLib */
+ 
+-TclStubs *tclStubsPtr;
+-TclPlatStubs *tclPlatStubsPtr;
+ struct TclIntStubs *tclIntStubsPtr;
+ struct TclIntPlatStubs *tclIntPlatStubsPtr;
+
+--- metakit-2.4.9.7/tcl/mk4tcl.cpp	2007-06-18 14:05:24.000000000 -0700
++++ metakit-2.4.9.7/tcl/mk4tcl.cpp.new	2008-10-17 18:50:50.000000000 -0700
+@@ -979,7 +979,7 @@
+   void *tag = (&view_[0])._seq; // horrific hack to get at c4_Sequence pointer
+   if (objPtr->typePtr !=  &mkPropertyType || objPtr
+     ->internalRep.twoPtrValue.ptr1 != tag) {
+-    Tcl_ObjType *oldTypePtr = objPtr->typePtr;
++    CONST86 Tcl_ObjType *oldTypePtr = objPtr->typePtr;
+ 
+     char type = 'S';
+ 
+@@ -1083,7 +1083,7 @@
+   }
+ 
+   if (objPtr->typePtr !=  &mkCursorType) {
+-    Tcl_ObjType *oldTypePtr = objPtr->typePtr;
++    CONST86 Tcl_ObjType *oldTypePtr = objPtr->typePtr;
+ 
+     const char *string = Tcl_GetStringFromObj(objPtr, 0);
+ 
+@@ -2156,7 +2156,7 @@
+         _error = TCL_OK;
+       else if (_error == TCL_ERROR) {
+         char msg[100];
+-        sprintf(msg, "\n  (\"mk::loop\" body line %d)", interp->errorLine);
++        sprintf(msg, "\n  (\"mk::loop\" body line %d)", Tcl_GetErrorLine(interp));
+         Tcl_AddObjErrorInfo(interp, msg,  - 1);
+       }
+       break;
+--- metakit-2.4.9.7/tcl/mk4too.cpp~	2009-01-24 15:37:00.000000000 +0100
++++ metakit-2.4.9.7/tcl/mk4too.cpp	2009-01-24 15:39:10.000000000 +0100
+@@ -614,7 +614,7 @@
+           _error = TCL_OK;
+         else if (_error == TCL_ERROR) {
+           char msg[100];
+-          sprintf(msg, "\n  (\"mk::loop\" body line %d)", interp->errorLine);
++          sprintf(msg, "\n  (\"mk::loop\" body line %d)", Tcl_GetErrorLine(interp));
+           Tcl_AddObjErrorInfo(interp, msg,  - 1);
+         }
+         break;
+--- metakit-2.4.9.7/tcl/stubtcl.h.org	2014-06-03 11:21:44.264915729 +0200
++++ metakit-2.4.9.7/tcl/stubtcl.h	2014-06-03 11:21:58.755407628 +0200
+@@ -28,8 +28,8 @@
+ 
+   if (tclStubsPtr->hooks != NULL) {
+     tclPlatStubsPtr = tclStubsPtr->hooks->tclPlatStubs;
+-    tclIntStubsPtr = tclStubsPtr->hooks->tclIntStubs;
+-    tclIntPlatStubsPtr = tclStubsPtr->hooks->tclIntPlatStubs;
++    tclIntStubsPtr = (TclIntStubs*)tclStubsPtr->hooks->tclIntStubs;
++    tclIntPlatStubsPtr = (TclIntPlatStubs*)tclStubsPtr->hooks->tclIntPlatStubs;
+   }
+ 
+   return 1;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/metakit.git/commitdiff/6a98d05aa4bac5d72514698948bad635f18380cc



More information about the pld-cvs-commit mailing list