[avogadro/f14/master: 5/6] Sync from devel:
Kevin Kofler
kkofler at fedoraproject.org
Tue Nov 23 20:58:02 UTC 2010
commit 1c10639f708e2c314a71a3010ea1d8bfb2a9421c
Author: Kevin Kofler <Kevin at tigcc.ticalc.org>
Date: Tue Nov 23 21:57:41 2010 +0100
Sync from devel:
* Tue Nov 23 2010 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.0.1-10
- fix crash with current SIP and Python 2.7 (#642248)
* Wed Sep 29 2010 jkeating - 1.0.1-9
- Rebuilt for gcc bug 634757
* Tue Sep 14 2010 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.0.1-8
- fix FTBFS with SIP 4.11 (Gentoo#335644)
* Thu Sep 09 2010 Rex Dieter <rdieter at fedoraproject.org> - 1.0.1-7
- rebuild(sip)
avogadro-1.0.1-pycapsule.patch | 23 +++++++++++++++++++++++
avogadro-1.0.1-sip411.patch | 34 ++++++++++++++++++++++++++++++++++
avogadro.spec | 21 +++++++++++++++++++--
3 files changed, 76 insertions(+), 2 deletions(-)
---
diff --git a/avogadro-1.0.1-pycapsule.patch b/avogadro-1.0.1-pycapsule.patch
new file mode 100644
index 0000000..de4e2ca
--- /dev/null
+++ b/avogadro-1.0.1-pycapsule.patch
@@ -0,0 +1,23 @@
+--- avogadro-1.0.1/libavogadro/src/python/sip.cpp 2010-05-02 17:31:22.000000000 +0100
++++ avogadro-1.0.1-pycapsule/libavogadro/src/python/sip.cpp 2010-11-23 19:00:09.000000000 +0000
+@@ -62,12 +62,20 @@ bool init_sip_api()
+ return false;
+ }
+
++#ifdef SIP_USE_PYCAPSULE
++ if (!PyCapsule_IsValid(sip_capi_obj.ptr(), "sip._C_API")) {
++#else
+ if (!PyCObject_Check(sip_capi_obj.ptr())) {
++#endif
+ std::cout << "The _C_API object in the sip python module is invalid." << std::endl;
+ return false;
+ }
+
++#ifdef SIP_USE_PYCAPSULE
++ sip_API = reinterpret_cast<const sipAPIDef*>(PyCapsule_GetPointer(sip_capi_obj.ptr(), "sip._C_API"));
++#else
+ sip_API = reinterpret_cast<const sipAPIDef*>(PyCObject_AsVoidPtr(sip_capi_obj.ptr()));
++#endif
+
+ return true;
+ }
diff --git a/avogadro-1.0.1-sip411.patch b/avogadro-1.0.1-sip411.patch
new file mode 100644
index 0000000..0cd1e5b
--- /dev/null
+++ b/avogadro-1.0.1-sip411.patch
@@ -0,0 +1,34 @@
+diff -ur avogadro-1.0.1/cmake/modules/PythonDeps.cmake avogadro-1.0.1-sip411/cmake/modules/PythonDeps.cmake
+--- avogadro-1.0.1/cmake/modules/PythonDeps.cmake 2010-05-02 18:31:22.000000000 +0200
++++ avogadro-1.0.1-sip411/cmake/modules/PythonDeps.cmake 2010-09-14 19:11:50.000000000 +0200
+@@ -59,10 +59,13 @@
+ if (EXISTS ${PYTHON_INCLUDE_PATH}/sip.h)
+ message(STATUS "Found sip.h header...")
+ execute_process(COMMAND sip -V OUTPUT_VARIABLE SIP_VERSION)
+- if (${SIP_VERSION} VERSION_GREATER "4.8")
++ if (NOT ${SIP_VERSION} VERSION_LESS "4.11")
++ message(STATUS "using sip version 4.11 or above...")
++ add_definitions( -DSIP_4_11 -DSIP_4_8 )
++ elseif (NOT ${SIP_VERSION} VERSION_LESS "4.8")
+ message(STATUS "using sip version 4.8 or above...")
+ add_definitions( -DSIP_4_8 )
+- endif (${SIP_VERSION} VERSION_GREATER "4.8")
++ endif (NOT ${SIP_VERSION} VERSION_LESS "4.11")
+ else (EXISTS ${PYTHON_INCLUDE_PATH}/sip.h)
+ message(STATUS "sip.h header NOT found - Python support disabled")
+ # message(STATUS "debian/ubuntu: install the python-sip4-dev package.")
+diff -ur avogadro-1.0.1/libavogadro/src/python/sip.cpp avogadro-1.0.1-sip411/libavogadro/src/python/sip.cpp
+--- avogadro-1.0.1/libavogadro/src/python/sip.cpp 2010-05-02 18:31:22.000000000 +0200
++++ avogadro-1.0.1-sip411/libavogadro/src/python/sip.cpp 2010-09-14 19:13:31.000000000 +0200
+@@ -204,7 +204,11 @@
+ sipWrapper *wrapper = reinterpret_cast<sipWrapper*>(obj_ptr);
+ #endif
+ // return the C++ pointer
++#ifdef SIP_4_11
++ return sip_API->api_get_address(wrapper);
++#else
+ return wrapper->u.cppPtr;
++#endif
+ }
+
+ QClass_converters()
diff --git a/avogadro.spec b/avogadro.spec
index 2914ad2..ce559e5 100644
--- a/avogadro.spec
+++ b/avogadro.spec
@@ -5,13 +5,19 @@
Name: avogadro
Version: 1.0.1
-Release: 6%{?dist}.1
+Release: 10%{?dist}
Summary: An advanced molecular editor for chemical purposes
Group: Applications/Editors
License: GPLv2
URL: http://avogadro.openmolecules.net/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
+# fix FTBFS with SIP 4.11 (Gentoo#335644)
+# patch submitted: http://bugs.gentoo.org/attachment.cgi?id=247308 (upstream is
+# CCed on the Gentoo bug)
+Patch0: avogadro-1.0.1-sip411.patch
+# fix crash with current SIP and Python 2.7 (#642248)
+Patch1: avogadro-1.0.1-pycapsule.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: cmake >= 2.6.0
@@ -59,6 +65,8 @@ Avogadros libraries.
%prep
%setup -q
+%patch0 -p1 -b .sip411
+%patch1 -p1 -b .pycapsule
# nuke unpatched copy, use working version included in cmake instead -- Rex
rm -f cmake/modules/FindPythonLibs.cmake
@@ -138,9 +146,18 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Wed Sep 29 2010 jkeating - 1.0.1-6.1
+* Tue Nov 23 2010 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.0.1-10
+- fix crash with current SIP and Python 2.7 (#642248)
+
+* Wed Sep 29 2010 jkeating - 1.0.1-9
- Rebuilt for gcc bug 634757
+* Tue Sep 14 2010 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.0.1-8
+- fix FTBFS with SIP 4.11 (Gentoo#335644)
+
+* Thu Sep 09 2010 Rex Dieter <rdieter at fedoraproject.org> - 1.0.1-7
+- rebuild(sip)
+
* Sun Aug 22 2010 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.0.1-6
- -devel: Requires: glew-devel python-devel boost-devel
More information about the scm-commits
mailing list