[arch-commits] Commit in tk/trunk (PKGBUILD tk-xcircuit.patch)

Eric Bélanger eric at nymeria.archlinux.org
Fri Sep 20 16:49:37 UTC 2013


    Date: Friday, September 20, 2013 @ 18:49:36
  Author: eric
Revision: 194658

upgpkg: tk 8.6.1-1

Upstream update, Remove old patch

Modified:
  tk/trunk/PKGBUILD
Deleted:
  tk/trunk/tk-xcircuit.patch

-------------------+
 PKGBUILD          |   16 --
 tk-xcircuit.patch |  317 ----------------------------------------------------
 2 files changed, 5 insertions(+), 328 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-09-20 16:37:05 UTC (rev 194657)
+++ PKGBUILD	2013-09-20 16:49:36 UTC (rev 194658)
@@ -2,22 +2,16 @@
 # Maintainer: Eric Bélanger <eric at archlinux.org>
 
 pkgname=tk
-pkgver=8.6.0
-pkgrel=4
+pkgver=8.6.1
+pkgrel=1
 pkgdesc="A windowing toolkit for use with tcl"
 arch=('i686' 'x86_64')
 url="http://tcl.sourceforge.net/"
 license=('custom')
 depends=("tcl=${pkgver}" 'libxss' 'libxft')
-source=(http://downloads.sourceforge.net/sourceforge/tcl/tk${pkgver}-src.tar.gz tk-xcircuit.patch)
-sha1sums=('c42e160285e2d26eae8c2a1e6c6f86db4fa7663b'
-          'e0e75044d4e33533b0114d3c142b40b7280c364f')
+source=(http://downloads.sourceforge.net/sourceforge/tcl/tk${pkgver}-src.tar.gz)
+sha1sums=('ecfcc20833c04d6890b14a7920a04d16f2123a51')
 
-prepare() {
-  cd tk${pkgver}
-  patch -p0 -i "${srcdir}/tk-xcircuit.patch"
-}
-
 build() {
   cd tk${pkgver}/unix
   [[ $CARCH == "x86_64" ]] && BIT="--enable-64bit"
@@ -33,7 +27,7 @@
 package() {
   cd tk${pkgver}/unix
   make INSTALL_ROOT="${pkgdir}" install install-private-headers
-  ln -sf wish8.6 "${pkgdir}/usr/bin/wish"
+  ln -sf wish${pkgver%.*} "${pkgdir}/usr/bin/wish"
   ln -sf libtk${pkgver%.*}.so "${pkgdir}/usr/lib/libtk.so"
   install -Dm644 license.terms "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 

Deleted: tk-xcircuit.patch
===================================================================
--- tk-xcircuit.patch	2013-09-20 16:37:05 UTC (rev 194657)
+++ tk-xcircuit.patch	2013-09-20 16:49:36 UTC (rev 194658)
@@ -1,317 +0,0 @@
-Index: generic/tkConfig.c
-==================================================================
---- generic/tkConfig.c
-+++ generic/tkConfig.c
-@@ -29,11 +29,16 @@
- /*
-  * The following definition is an AssocData key used to keep track of all of
-  * the option tables that have been created for an interpreter.
-  */
- 
--#define OPTION_HASH_KEY "TkOptionTable"
-+typedef struct ThreadSpecificData {
-+    int initialized;		/* 0 means table below needs initializing. */
-+    Tcl_HashTable hashTable;
-+} ThreadSpecificData;
-+static Tcl_ThreadDataKey dataKey;
-+
- 
- /*
-  * The following two structures are used along with Tk_OptionSpec structures
-  * to manage configuration options. Tk_OptionSpec is static templates that are
-  * compiled into the code of a widget or other object manager. However, to
-@@ -98,12 +103,10 @@
- 				 * templates, this points to the table
- 				 * corresponding to the next template in the
- 				 * chain. */
-     int numOptions;		/* The number of items in the options array
- 				 * below. */
--    int refCount2; /* Reference counter for controlling the freeing
--                    * of the memory occupied by this OptionTable */
-     Option options[1];		/* Information about the individual options in
- 				 * the table. This must be the last field in
- 				 * the structure: the actual size of the array
- 				 * will be numOptions, not 1. */
- } OptionTable;
-@@ -113,12 +116,10 @@
-  */
- 
- static int		DoObjConfig(Tcl_Interp *interp, char *recordPtr,
- 			    Option *optionPtr, Tcl_Obj *valuePtr,
- 			    Tk_Window tkwin, Tk_SavedOption *savePtr);
--static void		DestroyOptionHashTable(ClientData clientData,
--			    Tcl_Interp *interp);
- static void		FreeResources(Option *optionPtr, Tcl_Obj *objPtr,
- 			    char *internalPtr, Tk_Window tkwin);
- static Tcl_Obj *	GetConfigList(char *recordPtr,
- 			    Option *optionPtr, Tk_Window tkwin);
- static Tcl_Obj *	GetObjectForOption(char *recordPtr,
-@@ -168,42 +169,38 @@
- 				 * in which this table will be used. */
-     const Tk_OptionSpec *templatePtr)
- 				/* Static information about the configuration
- 				 * options. */
- {
--    Tcl_HashTable *hashTablePtr;
-     Tcl_HashEntry *hashEntryPtr;
-     int newEntry;
-     OptionTable *tablePtr;
-     const Tk_OptionSpec *specPtr, *specPtr2;
-     Option *optionPtr;
-     int numOptions, i;
-+    ThreadSpecificData *tsdPtr =
-+	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
- 
-     /*
--     * We use an AssocData value in the interpreter to keep a hash table of
--     * all the option tables we've created for this application. This is used
--     * for two purposes. First, it allows us to share the tables (e.g. in
--     * several chains) and second, we use the deletion callback for the
--     * AssocData to delete all the option tables when the interpreter is
--     * deleted. The code below finds the hash table or creates a new one if it
-+     * We use an TSD in the thread to keep a hash table of
-+     * all the option tables we've created for this application. This is
-+     * used for allowing us to share the tables (e.g. in several chains).
-+     * The code below finds the hash table or creates a new one if it
-      * doesn't already exist.
-      */
- 
--    hashTablePtr = Tcl_GetAssocData(interp, OPTION_HASH_KEY, NULL);
--    if (hashTablePtr == NULL) {
--	hashTablePtr = ckalloc(sizeof(Tcl_HashTable));
--	Tcl_InitHashTable(hashTablePtr, TCL_ONE_WORD_KEYS);
--	Tcl_SetAssocData(interp, OPTION_HASH_KEY, DestroyOptionHashTable,
--		hashTablePtr);
-+    if (!tsdPtr->initialized) {
-+	Tcl_InitHashTable(&tsdPtr->hashTable, TCL_ONE_WORD_KEYS);
-+	tsdPtr->initialized = 1;
-     }
- 
-     /*
-      * See if a table has already been created for this template. If so, just
-      * reuse the existing table.
-      */
- 
--    hashEntryPtr = Tcl_CreateHashEntry(hashTablePtr, (char *) templatePtr,
-+    hashEntryPtr = Tcl_CreateHashEntry(&tsdPtr->hashTable, (char *) templatePtr,
- 	    &newEntry);
-     if (!newEntry) {
- 	tablePtr = Tcl_GetHashValue(hashEntryPtr);
- 	tablePtr->refCount++;
- 	return (Tk_OptionTable) tablePtr;
-@@ -218,11 +215,10 @@
-     for (specPtr = templatePtr; specPtr->type != TK_OPTION_END; specPtr++) {
- 	numOptions++;
-     }
-     tablePtr = ckalloc(sizeof(OptionTable) + (numOptions * sizeof(Option)));
-     tablePtr->refCount = 1;
--    tablePtr->refCount2 = 1;
-     tablePtr->hashEntryPtr = hashEntryPtr;
-     tablePtr->nextPtr = NULL;
-     tablePtr->numOptions = numOptions;
- 
-     /*
-@@ -332,13 +328,20 @@
-     Tk_OptionTable optionTable)	/* The option table to delete. */
- {
-     OptionTable *tablePtr = (OptionTable *) optionTable;
-     Option *optionPtr;
-     int count;
-+    ThreadSpecificData *tsdPtr =
-+	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
- 
--    tablePtr->refCount--;
--    if (tablePtr->refCount > 0) {
-+    if (tablePtr->refCount > 1) {
-+	tablePtr->refCount--;
-+	return;
-+    }
-+
-+    if (!tsdPtr->initialized || !Tcl_FindHashEntry(&tsdPtr->hashTable,
-+	    tablePtr->hashEntryPtr)) {
- 	return;
-     }
- 
-     if (tablePtr->nextPtr != NULL) {
- 	Tk_DeleteOptionTable((Tk_OptionTable) tablePtr->nextPtr);
-@@ -354,66 +357,11 @@
- 		&& (optionPtr->extra.monoColorPtr != NULL)) {
- 	    Tcl_DecrRefCount(optionPtr->extra.monoColorPtr);
- 	}
-     }
-     Tcl_DeleteHashEntry(tablePtr->hashEntryPtr);
--    tablePtr->refCount2--;
--    if (tablePtr->refCount2 <= 0) {
--	ckfree(tablePtr);
--    }
--}
--

--/*
-- *----------------------------------------------------------------------
-- *
-- * DestroyOptionHashTable --
-- *
-- *	This function is the deletion callback associated with the AssocData
-- *	entry created by Tk_CreateOptionTable. It is invoked when an
-- *	interpreter is deleted, and deletes all of the option tables
-- *	associated with that interpreter.
-- *
-- * Results:
-- *	None.
-- *
-- * Side effects:
-- *	The option hash table is destroyed along with all of the OptionTable
-- *	structures that it refers to.
-- *
-- *----------------------------------------------------------------------
-- */
--
--static void
--DestroyOptionHashTable(
--    ClientData clientData,	/* The hash table we are destroying */
--    Tcl_Interp *interp)		/* The interpreter we are destroying */
--{
--    Tcl_HashTable *hashTablePtr = clientData;
--    Tcl_HashSearch search;
--    Tcl_HashEntry *hashEntryPtr;
--
--    for (hashEntryPtr = Tcl_FirstHashEntry(hashTablePtr, &search);
--	    hashEntryPtr != NULL;
--	    hashEntryPtr = Tcl_NextHashEntry(&search)) {
--	OptionTable *tablePtr = Tcl_GetHashValue(hashEntryPtr);
--
--	/*
--	 * The following statements do two tricky things:
--	 * 1. They ensure that the option table is deleted, even if there are
--	 *    outstanding references to it.
--	 * 2. They ensure that Tk_DeleteOptionTable doesn't delete other
--	 *    tables chained from this one; we'll do it when we come across
--	 *    the hash table entry for the chained table (in fact, the chained
--	 *    table may already have been deleted).
--	 */
--
--	tablePtr->refCount = 1;
--	tablePtr->nextPtr = NULL;
--	Tk_DeleteOptionTable((Tk_OptionTable) tablePtr);
--    }
--    Tcl_DeleteHashTable(hashTablePtr);
--    ckfree(hashTablePtr);
-+    ckfree(tablePtr);
- }
- 

- /*
-  *--------------------------------------------------------------
-  *
-@@ -1149,11 +1097,11 @@
- 	objPtr->typePtr->freeIntRepProc(objPtr);
-     }
-     objPtr->internalRep.twoPtrValue.ptr1 = (void *) tablePtr;
-     objPtr->internalRep.twoPtrValue.ptr2 = (void *) bestPtr;
-     objPtr->typePtr = &optionObjType;
--    tablePtr->refCount2++;
-+    tablePtr->refCount++;
-     return bestPtr;
- 
-   error:
-     if (interp != NULL) {
- 	Tcl_SetObjResult(interp, Tcl_ObjPrintf(
-@@ -1222,16 +1170,13 @@
- 
- static void
- FreeOptionInternalRep(
-     register Tcl_Obj *objPtr)	/* Object whose internal rep to free. */
- {
--    register OptionTable *tablePtr = (OptionTable *) objPtr->internalRep.twoPtrValue.ptr1;
-+    register Tk_OptionTable tablePtr = (Tk_OptionTable) objPtr->internalRep.twoPtrValue.ptr1;
- 
--    tablePtr->refCount2--;
--    if (tablePtr->refCount2 <= 0) {
--	ckfree(tablePtr);
--    }
-+    Tk_DeleteOptionTable(tablePtr);
-     objPtr->typePtr = NULL;
-     objPtr->internalRep.twoPtrValue.ptr1 = NULL;
-     objPtr->internalRep.twoPtrValue.ptr2 = NULL;
- }
- 

-@@ -2111,27 +2056,27 @@
-     Tk_OptionTable table)	/* Table about which information is to be
- 				 * returned. May not necessarily exist in the
- 				 * interpreter anymore. */
- {
-     OptionTable *tablePtr = (OptionTable *) table;
--    Tcl_HashTable *hashTablePtr;
-     Tcl_HashEntry *hashEntryPtr;
-     Tcl_HashSearch search;
-     Tcl_Obj *objPtr;
-+    ThreadSpecificData *tsdPtr =
-+	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
- 
-     objPtr = Tcl_NewObj();
--    hashTablePtr = Tcl_GetAssocData(interp, OPTION_HASH_KEY, NULL);
--    if (hashTablePtr == NULL) {
-+    if (!tablePtr || !tsdPtr->initialized) {
- 	return objPtr;
-     }
- 
-     /*
-      * Scan all the tables for this interpreter to make sure that the one we
-      * want still is valid.
-      */
- 
--    for (hashEntryPtr = Tcl_FirstHashEntry(hashTablePtr, &search);
-+    for (hashEntryPtr = Tcl_FirstHashEntry(&tsdPtr->hashTable, &search);
- 	    hashEntryPtr != NULL;
- 	    hashEntryPtr = Tcl_NextHashEntry(&search)) {
- 	if (tablePtr == (OptionTable *) Tcl_GetHashValue(hashEntryPtr)) {
- 	    for ( ; tablePtr != NULL; tablePtr = tablePtr->nextPtr) {
- 		Tcl_ListObjAppendElement(NULL, objPtr,
-
-Index: generic/tkTest.c
-==================================================================
---- generic/tkTest.c
-+++ generic/tkTest.c
-@@ -801,10 +801,11 @@
- 		sizeof(char *), "table", 0, &index) != TCL_OK) {
- 	    return TCL_ERROR;
- 	}
- 	if (tables[index] != NULL) {
- 	    Tk_DeleteOptionTable(tables[index]);
-+	    tables[index] = NULL;
- 	}
- 	break;
- 
-     case INFO:
- 	if (objc != 3) {
-
-Index: tests/config.test
-==================================================================
---- tests/config.test
-+++ tests/config.test
-@@ -96,11 +96,11 @@
-     testobjconfig chain2 .b
-     testobjconfig chain1 .a
-     testobjconfig info chain2
- } -cleanup {
-     killTables
--} -result {1 4 -three 2 2 -one}
-+} -result {2 4 -three 2 2 -one}
- test config-1.8 {Tk_CreateOptionTable - chained tables} -constraints {
-     testobjconfig
- } -body {
-     testobjconfig chain1 .a
-     testobjconfig chain2 .b
-@@ -132,11 +132,11 @@
-     lappend x [testobjconfig info chain2] [testobjconfig info chain1]
-     testobjconfig delete chain2
-     lappend x [testobjconfig info chain2] [testobjconfig info chain1]
- } -cleanup {
-     killTables
--} -result {{1 4 -three 2 2 -one} {2 2 -one} {} {1 2 -one}}
-+} -result {{} {2 2 -one} {} {2 2 -one}}
- 
- # No tests for DestroyOptionHashTable; couldn't figure out how to test.
- 
- test config-3.1 {Tk_InitOptions - priority of chained tables} -constraints {
-     testobjconfig
-




More information about the arch-commits mailing list