pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/python24 Fix a possibly long-standing issue, but ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/2724907cefa7
branches:  trunk
changeset: 398798:2724907cefa7
user:      dsainty <dsainty%pkgsrc.org@localhost>
date:      Wed Sep 09 05:59:37 2009 +0000

description:
Fix a possibly long-standing issue, but also possibly fallout from the db4
changes.  The "dbm" module could fail to build correctly, erroring out with:

*** WARNING: renaming "dbm" since importing it failed: build/lib.linux-i686-2.4/dbm.so: undefined symbol: dbm_firstkey

In this case, the "dbm" module has accidentally linked with "databases/gdbm",
which happens to be installed, but was never buildlinked in.  It may be
relevant that /usr/include/gdbm/ndbm.h is installed on this system.

Remove the "gdbm" test from the "dbm" module configuration, leaving the "ndbm"
support, and the fall-back "bdb" support (which will likely fall back to db4).

Bump PKGREVISION - the package would still install, but with missing
functionality.

diffstat:

 lang/python24/Makefile         |   4 ++--
 lang/python24/distinfo         |   4 ++--
 lang/python24/patches/patch-am |  26 +++++++++++++++-----------
 3 files changed, 19 insertions(+), 15 deletions(-)

diffs (113 lines):

diff -r fe3ce555f41d -r 2724907cefa7 lang/python24/Makefile
--- a/lang/python24/Makefile    Wed Sep 09 05:51:01 2009 +0000
+++ b/lang/python24/Makefile    Wed Sep 09 05:59:37 2009 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.48 2009/09/08 10:06:35 drochner Exp $
+# $NetBSD: Makefile,v 1.49 2009/09/09 05:59:37 dsainty Exp $
 
 DISTNAME=      Python-2.4.5
 PKGNAME=       python24-2.4.5
-PKGREVISION=   4
+PKGREVISION=   5
 CATEGORIES=    lang python
 MASTER_SITES=  http://www.python.org/ftp/python/2.4.5/
 EXTRACT_SUFX=  .tar.bz2
diff -r fe3ce555f41d -r 2724907cefa7 lang/python24/distinfo
--- a/lang/python24/distinfo    Wed Sep 09 05:51:01 2009 +0000
+++ b/lang/python24/distinfo    Wed Sep 09 05:59:37 2009 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.31 2008/08/07 11:20:18 drochner Exp $
+$NetBSD: distinfo,v 1.32 2009/09/09 05:59:37 dsainty Exp $
 
 SHA1 (Python-2.4.5.tar.bz2) = 6e9e1ac2b70cc10c36063a25ab5a5ddb53177107
 RMD160 (Python-2.4.5.tar.bz2) = b43f2114697be751f03ec7cfb46f8c4946a73097
@@ -15,7 +15,7 @@
 SHA1 (patch-aj) = e471737ade95423039661b475f2dd0fc27aa9dac
 SHA1 (patch-ak) = 4c6708eb29757179e6855d8fbe78cab92c5a18d5
 SHA1 (patch-al) = 10acea9003d856d2663a4b5bbecbd801eca8c0c8
-SHA1 (patch-am) = 0a240e711ecbdc5c736637e7a9f6446b40960a0d
+SHA1 (patch-am) = 4acf5857624fbb50e1ca4d570b69d02239d32b43
 SHA1 (patch-an) = 0ae5b3d547c7dbe1366c5ae6c60c11516e4550b8
 SHA1 (patch-ao) = 1ef48142acd8b591b11013b46048d9145f235843
 SHA1 (patch-ap) = 8fbfecdb80ee851db569b64201ccd94bd3552a81
diff -r fe3ce555f41d -r 2724907cefa7 lang/python24/patches/patch-am
--- a/lang/python24/patches/patch-am    Wed Sep 09 05:51:01 2009 +0000
+++ b/lang/python24/patches/patch-am    Wed Sep 09 05:59:37 2009 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-am,v 1.4 2007/06/08 14:16:16 wiz Exp $
+$NetBSD: patch-am,v 1.5 2009/09/09 05:59:38 dsainty Exp $
 
 --- setup.py.orig      2006-10-08 17:41:25.000000000 +0000
 +++ setup.py
-@@ -15,7 +15,7 @@ from distutils.command.install import in
+@@ -15,7 +15,7 @@
  from distutils.command.install_lib import install_lib
  
  # This global variable is used to hold the list of modules to be disabled.
@@ -11,7 +11,7 @@
  
  def add_dir_to_list(dirlist, dir):
      """Add the directory 'dir' to the list 'dirlist' (at the front) if
-@@ -239,9 +239,15 @@ class PyBuildExt(build_ext):
+@@ -239,9 +239,15 @@
          return sys.platform
  
      def detect_modules(self):
@@ -30,7 +30,7 @@
  
          # Add paths to popular package managers on OS X/darwin
          if sys.platform == "darwin":
-@@ -485,9 +491,7 @@ class PyBuildExt(build_ext):
+@@ -485,9 +491,7 @@
                                 depends = ['socketmodule.h']) )
          # Detect SSL support for the socket module (via _ssl)
          ssl_incs = find_file('openssl/ssl.h', inc_dirs,
@@ -41,7 +41,7 @@
                               )
          if ssl_incs is not None:
              krb5_h = find_file('krb5.h', inc_dirs,
-@@ -495,9 +499,7 @@ class PyBuildExt(build_ext):
+@@ -495,9 +499,7 @@
              if krb5_h:
                  ssl_incs += krb5_h
          ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
@@ -52,7 +52,7 @@
  
          if (ssl_incs is not None and
              ssl_libs is not None):
-@@ -515,168 +517,51 @@ class PyBuildExt(build_ext):
+@@ -515,168 +517,51 @@
          # similar functionality (but slower of course) implemented in Python.
  
          # Sleepycat Berkeley DB interface.  http://www.sleepycat.com
@@ -261,21 +261,25 @@
  
          # The standard Unix dbm module:
          if platform not in ['cygwin']:
-@@ -689,6 +574,13 @@ class PyBuildExt(build_ext):
+@@ -689,11 +574,13 @@
                  exts.append( Extension('dbm', ['dbmmodule.c'],
                                         define_macros=[('HAVE_NDBM_H',None)],
                                         libraries = ndbm_libs ) )
+-            elif (self.compiler.find_library_file(lib_dirs, 'gdbm')
+-                  and find_file("gdbm/ndbm.h", inc_dirs, []) is not None):
 +            elif find_file("ndbm.h", db_incs, []) is not None:
-+                exts.append( Extension('dbm', ['dbmmodule.c'],
+                 exts.append( Extension('dbm', ['dbmmodule.c'],
+-                                       define_macros=[('HAVE_GDBM_NDBM_H',None)],
+-                                       libraries = ['gdbm'] ) )
 +                                       library_dirs=dblib_dir,
 +                                       runtime_library_dirs=dblib_dir,
 +                                       include_dirs=db_incs,
 +                                       define_macros=[('HAVE_NDBM_H',None)],
 +                                       libraries=dblibs))
-             elif (self.compiler.find_library_file(lib_dirs, 'gdbm')
-                   and find_file("gdbm/ndbm.h", inc_dirs, []) is not None):
+             elif db_incs is not None:
                  exts.append( Extension('dbm', ['dbmmodule.c'],
-@@ -1224,8 +1116,8 @@ def main():
+                                        library_dirs=dblib_dir,
+@@ -1224,8 +1111,8 @@
            ext_modules=[Extension('struct', ['structmodule.c'])],
  
            # Scripts to install



Home | Main Index | Thread Index | Old Index