Accepting request 23117 from KDE:Qt

Copy from KDE:Qt/python-sip based on submit request 23117 from user dirkmueller

OBS-URL: https://build.opensuse.org/request/show/23117
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-sip?expand=0&rev=24
This commit is contained in:
OBS User autobuild 2009-10-26 16:07:15 +00:00 committed by Git OBS Bridge
parent 286dbf6a58
commit 0731f6b1ac
5 changed files with 28 additions and 84 deletions

View File

@ -1,76 +0,0 @@
--- sip-4.8.2/siplib/siplib.c 2009-07-27 15:26:11.000000000 +0200
+++ sip-4.8.3-snapshot-20090729/siplib/siplib.c 2009-07-30 04:30:41.000000000 +0200
@@ -6052,14 +6052,49 @@ int sip_api_get_state(PyObject *transfer
/*
+ * This is set by sip_api_find_type() before calling bsearch() on the types
+ * table for the module. This is a hack that works around the problem of
+ * unresolved externally defined types.
+ */
+static sipExportedModuleDef *module_searched;
+
+
+/*
* The bsearch() helper function for searching the types table.
*/
static int compareTypeDef(const void *key, const void *el)
{
const char *s1 = (const char *)key;
- const char *s2 = sipTypeName(*(const sipTypeDef **)el);
+ const char *s2 = NULL;
+ const sipTypeDef *td;
char ch1, ch2;
+ /* Allow for unresolved externally defined types. */
+ td = *(const sipTypeDef **)el;
+
+ if (td != NULL)
+ s2 = sipTypeName(td);
+ else
+ {
+ sipExternalTypeDef *etd = module_searched->em_external;
+
+ assert(etd != NULL);
+
+ /* Find which external type it is. */
+ while (etd->et_nr >= 0)
+ {
+ const sipTypeDef **tdp = &module_searched->em_types[etd->et_nr];
+
+ if (tdp == (const sipTypeDef **)el)
+ {
+ s2 = etd->et_name;
+ break;
+ }
+ }
+
+ assert(s2 != NULL);
+ }
+
/*
* Compare while ignoring spaces so that we don't impose a rigorous naming
* standard. This only really affects template-based mapped types.
@@ -6092,12 +6127,21 @@ static const sipTypeDef *sip_api_find_ty
{
sipTypeDef **tdp;
+ /* The backdoor to the comparison helper. */
+ module_searched = em;
+
tdp = (sipTypeDef **)bsearch((const void *)type,
(const void *)em->em_types, em->em_nrtypes,
sizeof (sipTypeDef *), compareTypeDef);
if (tdp != NULL)
+ {
+ /*
+ * Note that this will be NULL for unresolved externally defined
+ * types.
+ */
return *tdp;
+ }
}
return NULL;

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Sat Oct 24 12:26:45 CEST 2009 - dmueller@suse.de
- update to 4.9.1:
* A bug fix release.
-------------------------------------------------------------------
Mon Sep 28 19:02:31 CEST 2009 - dmueller@suse.de
- update to 4.9:
* support for __iter__ and __next__
* the %API directive
* the /API/ annotation
* sipIsAPIEnabled() has been added to the C API
* sip.getapi() and sip.setapi() have been added to the Python API
* sip.ispyowned() has been added to the Python API
* mapped types can now act as a namespace for enums and static methods
* the /Array/ annotation can now be applied to classes and mapped types
* the /NoArgParser/ annotation can now be applied to methods as well as functions
* the --arch flag was added to configure.py to specify which MacOS/X architectures are built
* SIP is now also licensed under the GPL v2 and v3.
-------------------------------------------------------------------
Mon Aug 31 12:55:45 UTC 2009 - beineri@opensuse.org

View File

@ -1,5 +1,5 @@
#
# spec file for package python-sip (Version 4.8.2)
# spec file for package python-sip (Version 4.9.1)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -23,14 +23,13 @@ BuildRequires: c++_compiler python python-devel
License: GPL v2 or later
Group: Development/Libraries/Python
Summary: SIP tool to use python sip bindings
Version: 4.8.2
Release: 3
Version: 4.9.1
Release: 1
%define rversion %version
Url: http://www.riverbankcomputing.com/software/sip/intro
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: sip-%{rversion}.tar.bz2
Patch0: disable-rpaths.diff
Patch1: fix-unresolved-external-types.diff
Patch2: fix-linking.diff
Patch3: fix-linking25.diff
%py_requires
@ -72,7 +71,6 @@ Authors:
%prep
%setup -q -n sip-%{rversion}
%patch0
%patch1 -p1
%if %suse_version >1100
%patch2
%else

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8b92a10a1c1baa3ad60feacacaa5e07140de2ccd3935c36e4be7d6b54bb43304
size 450013

3
sip-4.9.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b552702a11749b40ce04178559962187a67182182625ced3e12d31511960ad80
size 494356