[arch-commits] Commit in swig/trunk (PKGBUILD swig-pyslice.patch)

Stéphane Gaudreault stephane at archlinux.org
Thu Mar 17 01:15:25 UTC 2011


    Date: Wednesday, March 16, 2011 @ 21:15:24
  Author: stephane
Revision: 115117

upgpkg: swig 2.0.2-4
Improve patch for PySlice issue

Modified:
  swig/trunk/PKGBUILD
  swig/trunk/swig-pyslice.patch

--------------------+
 PKGBUILD           |    8 +++---
 swig-pyslice.patch |   67 +++++++++++++++++++++++++++++++++------------------
 2 files changed, 48 insertions(+), 27 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-03-17 01:13:28 UTC (rev 115116)
+++ PKGBUILD	2011-03-17 01:15:24 UTC (rev 115117)
@@ -4,7 +4,7 @@
 
 pkgname=swig
 pkgver=2.0.2
-pkgrel=3
+pkgrel=4
 pkgdesc="Generate scripting interfaces to C/C++ code"
 arch=('i686' 'x86_64')
 url="http://www.swig.org/"
@@ -15,7 +15,7 @@
         swig-pyslice.patch)
 sha1sums=('1fc5a7b42ae41c51772d7268ba0f987e9514d110'
           'add71330c5d839d9a27b1ca688e6c5e31f1edb7b'
-          'a12b59f0415d3a48bad97824861ecfd316a07c3e')
+          '7248b34032db7cb84143a6cefae425b222ce43a6')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
@@ -35,6 +35,6 @@
 package() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   make DESTDIR="${pkgdir}" install
-  install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-  install -D -m644 LICENSE-UNIVERSITIES "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-UNIVERSITIES"
+  install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+  install -D -m644 LICENSE-UNIVERSITIES "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-UNIVERSITIES
 }

Modified: swig-pyslice.patch
===================================================================
--- swig-pyslice.patch	2011-03-17 01:13:28 UTC (rev 115116)
+++ swig-pyslice.patch	2011-03-17 01:15:24 UTC (rev 115117)
@@ -1,45 +1,66 @@
-diff -up swig-2.0.1/Lib/python/pycontainer.swg.rh666429 swig-2.0.1/Lib/python/pycontainer.swg
---- swig-2.0.1/Lib/python/pycontainer.swg.rh666429	2010-02-28 00:26:02.000000000 +0100
-+++ swig-2.0.1/Lib/python/pycontainer.swg	2011-01-03 13:02:29.303515695 +0100
-@@ -631,14 +631,6 @@ namespace swig
+diff -Naur swig-2.0.2.ori/Lib/python/pycontainer.swg swig-2.0.2/Lib/python/pycontainer.swg
+--- swig-2.0.2.ori/Lib/python/pycontainer.swg	2010-10-19 02:31:31.000000000 -0400
++++ swig-2.0.2/Lib/python/pycontainer.swg	2011-03-16 20:41:28.090000004 -0400
+@@ -630,6 +630,7 @@
        return x;
      }
-
--    /* typemap for slice object support */
--    %typemap(in) PySliceObject* {
--      $1 = (PySliceObject *) $input;
--    }
--    %typemap(typecheck,precedence=SWIG_TYPECHECK_POINTER) PySliceObject* {
--      $1 = PySlice_Check($input);
--    }
--
+ 
++#if !NO_PYSLICE
+     /* typemap for slice object support */
+     %typemap(in) PySliceObject* {
+       $1 = (PySliceObject *) $input;
+@@ -637,6 +638,7 @@
+     %typemap(typecheck,precedence=SWIG_TYPECHECK_POINTER) PySliceObject* {
+       $1 = PySlice_Check($input);
+     }
++#endif
+ 
      Sequence* __getslice__(difference_type i, difference_type j) throw (std::out_of_range) {
        return swig::getslice(self, i, j);
-     }
-@@ -660,7 +652,7 @@ namespace swig
-     /* Overloaded methods for Python 3 compatibility
+@@ -659,7 +661,11 @@
+     /* Overloaded methods for Python 3 compatibility 
       * (Also useful in Python 2.x)
       */
--    Sequence* __getitem__(PySliceObject *slice) throw (std::out_of_range) {
++#if NO_PYSLICE
 +    Sequence* __getitem__(PyObject *slice) throw (std::out_of_range) {
++#else
+     Sequence* __getitem__(PySliceObject *slice) throw (std::out_of_range) {
++#endif
        Py_ssize_t i, j, step;
        if( !PySlice_Check(slice) ) {
          SWIG_Error(SWIG_TypeError, "Slice object expected.");
-@@ -670,7 +662,7 @@ namespace swig
+@@ -669,7 +675,11 @@
        return swig::getslice(self, i, j);
      }
-
--    void __setitem__(PySliceObject *slice, const Sequence& v)
+ 
++#if NO_PYSLICE
 +    void __setitem__(PyObject *slice, const Sequence& v)
++#else
+     void __setitem__(PySliceObject *slice, const Sequence& v)
++#endif
        throw (std::out_of_range, std::invalid_argument) {
        Py_ssize_t i, j, step;
        if( !PySlice_Check(slice) ) {
-@@ -681,7 +673,7 @@ namespace swig
+@@ -680,7 +690,11 @@
        swig::setslice(self, i, j, v);
      }
-
--    void __delitem__(PySliceObject *slice)
+ 
++#if NO_PYSLICE
 +    void __delitem__(PyObject *slice)
++#else
+     void __delitem__(PySliceObject *slice)
++#endif
        throw (std::out_of_range) {
        Py_ssize_t i, j, step;
        if( !PySlice_Check(slice) ) {
+diff -Naur swig-2.0.2.ori/Source/Modules/python.cxx swig-2.0.2/Source/Modules/python.cxx
+--- swig-2.0.2.ori/Source/Modules/python.cxx	2011-02-20 08:47:14.000000000 -0500
++++ swig-2.0.2/Source/Modules/python.cxx	2011-03-16 20:40:01.223333338 -0400
+@@ -440,6 +440,7 @@
+     if (py3) {
+         /* force disable features that not compatible with Python 3.x */
+         classic = 0;
++        Preprocessor_define((DOH *) "NO_PYSLICE 1", 0);
+     }
+ 
+     if (cppcast) {




More information about the arch-commits mailing list