summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsbd <sbd@pkgsrc.org>2011-10-31 06:50:53 +0000
committersbd <sbd@pkgsrc.org>2011-10-31 06:50:53 +0000
commit5c40bfdabd6d0209fd23d0022a4fbc2af1d1a63a (patch)
tree96fb10aeb62b081653b3936ffb63cca8a29acf7c
parentfb79eb46833f8ddb894b459541eb17030a6054e2 (diff)
downloadpkgsrc-5c40bfdabd6d0209fd23d0022a4fbc2af1d1a63a.tar.gz
Improve the gdbm_compat handling by searching any ndbm.h found for the
string 'This file is part of GDBM' and ignoring it if it dose. Thanks to obache@ for the idea.
-rw-r--r--lang/python24/distinfo4
-rw-r--r--lang/python24/patches/patch-am42
-rw-r--r--lang/python25/distinfo4
-rw-r--r--lang/python25/patches/patch-am45
-rw-r--r--lang/python26/distinfo4
-rw-r--r--lang/python26/patches/patch-am47
-rw-r--r--lang/python31/distinfo4
-rw-r--r--lang/python31/patches/patch-am71
8 files changed, 151 insertions, 70 deletions
diff --git a/lang/python24/distinfo b/lang/python24/distinfo
index ba4e5edee73..30450c695e8 100644
--- a/lang/python24/distinfo
+++ b/lang/python24/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.36 2011/10/18 21:59:17 sbd Exp $
+$NetBSD: distinfo,v 1.37 2011/10/31 06:50:53 sbd Exp $
SHA1 (Python-2.4.6.tar.bz2) = cb1972a554a458f6a26d3e047b359251865d7c96
RMD160 (Python-2.4.6.tar.bz2) = 0687989193dec2ac108142759281be7ddcf7f31e
@@ -15,7 +15,7 @@ SHA1 (patch-ai) = 6435c5a7269c14d94eab6fb9777b9d059507e7b8
SHA1 (patch-aj) = e471737ade95423039661b475f2dd0fc27aa9dac
SHA1 (patch-ak) = 4c6708eb29757179e6855d8fbe78cab92c5a18d5
SHA1 (patch-al) = 3bcbdcacc451c8a354ea2d9e9887e61edaabfa41
-SHA1 (patch-am) = 3db16b0d139c9ae113378aeb94a4cdf9828148ce
+SHA1 (patch-am) = ffa0c2c37bdcfe121d4bb10be6c76d06b77fcca6
SHA1 (patch-an) = 0ae5b3d547c7dbe1366c5ae6c60c11516e4550b8
SHA1 (patch-ao) = 1ef48142acd8b591b11013b46048d9145f235843
SHA1 (patch-ap) = 8fbfecdb80ee851db569b64201ccd94bd3552a81
diff --git a/lang/python24/patches/patch-am b/lang/python24/patches/patch-am
index e2e4671bea4..44d081f29b3 100644
--- a/lang/python24/patches/patch-am
+++ b/lang/python24/patches/patch-am
@@ -1,4 +1,4 @@
-$NetBSD: patch-am,v 1.7 2011/10/18 21:59:17 sbd Exp $
+$NetBSD: patch-am,v 1.8 2011/10/31 06:50:53 sbd Exp $
--- setup.py.orig 2006-10-08 17:41:25.000000000 +0000
+++ setup.py
@@ -52,7 +52,7 @@ $NetBSD: patch-am,v 1.7 2011/10/18 21:59:17 sbd Exp $
if (ssl_incs is not None and
ssl_libs is not None):
-@@ -515,168 +517,51 @@
+@@ -515,172 +517,79 @@
# similar functionality (but slower of course) implemented in Python.
# Sleepycat Berkeley DB interface. http://www.sleepycat.com
@@ -261,13 +261,37 @@ $NetBSD: patch-am,v 1.7 2011/10/18 21:59:17 sbd Exp $
# The standard Unix dbm module:
if platform not in ['cygwin']:
-@@ -686,16 +571,21 @@
+- if find_file("ndbm.h", inc_dirs, []) is not None:
++
++ ## Top half based on find_file
++ def find_ndbm_h(dirs):
++ ret = None
++ if sys.platform == 'darwin':
++ sysroot = macosx_sdk_root()
++ for dir in dirs:
++ f = os.path.join(dir, 'ndbm.h')
++ if sys.platform == 'darwin' and is_macosx_sdk_path(dir):
++ f = os.path.join(sysroot, dir[1:], filename)
++ if not os.path.exists(f): continue
++
++ ret = 'True'
++ input = text_file.TextFile(f)
++ while 1:
++ line = input.readline()
++ if not line: break
++ if re.search('This file is part of GDBM', line):
++ ret = None
++ break
++ input.close()
++ break
++ return ret
++
++ if find_ndbm_h(inc_dirs) is not None:
+ # Some systems have -lndbm, others don't
+ if self.compiler.find_library_file(lib_dirs, 'ndbm'):
ndbm_libs = ['ndbm']
- else:
- ndbm_libs = []
-- exts.append( Extension('dbm', ['dbmmodule.c'],
-+ if not self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
-+ exts.append( Extension('dbm', ['dbmmodule.c'],
+@@ -689,13 +598,17 @@
+ exts.append( Extension('dbm', ['dbmmodule.c'],
define_macros=[('HAVE_NDBM_H',None)],
libraries = ndbm_libs ) )
- elif (self.compiler.find_library_file(lib_dirs, 'gdbm')
@@ -291,7 +315,7 @@ $NetBSD: patch-am,v 1.7 2011/10/18 21:59:17 sbd Exp $
library_dirs=dblib_dir,
runtime_library_dirs=dblib_dir,
include_dirs=db_incs,
-@@ -1224,8 +1114,8 @@
+@@ -1224,8 +1137,8 @@
ext_modules=[Extension('struct', ['structmodule.c'])],
# Scripts to install
diff --git a/lang/python25/distinfo b/lang/python25/distinfo
index e06009c62db..6708d6d3505 100644
--- a/lang/python25/distinfo
+++ b/lang/python25/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.18 2011/10/18 21:59:18 sbd Exp $
+$NetBSD: distinfo,v 1.19 2011/10/31 06:50:54 sbd Exp $
SHA1 (Python-2.5.6.tar.bz2) = 29f6dd41bf09c5e04311b367cbb7604fa016e699
RMD160 (Python-2.5.6.tar.bz2) = 92f0a955971f187a7d50c6422168202ec551bf22
@@ -15,7 +15,7 @@ SHA1 (patch-ai) = a89bee00860910f53a23b1c670d9c091846a03c1
SHA1 (patch-aj) = a75d680a6b8b1ad3c9222dcb841f4fb10db6d16d
SHA1 (patch-ak) = 948362c15ad59abeef46971f9b870b70655a62c7
SHA1 (patch-al) = a4e28f73d8da2f83fcfbb5daec8d7c2c5bb4ff7f
-SHA1 (patch-am) = ba4a651cc5ab930c9b2abd030d6376110b5d90fa
+SHA1 (patch-am) = a6d7484812a66eb0c474085e6020357911d0a1a5
SHA1 (patch-an) = 17b4e17b3b562c29a050e9bb20447084ce82b8ab
SHA1 (patch-ao) = 9bbd5561c010e0a1ab8e0a70d27a5f77fd2089d2
SHA1 (patch-ap) = b864db92761c843a91374663bd2dbcfa57b317cf
diff --git a/lang/python25/patches/patch-am b/lang/python25/patches/patch-am
index 323b3ade935..e8a631a9718 100644
--- a/lang/python25/patches/patch-am
+++ b/lang/python25/patches/patch-am
@@ -1,4 +1,4 @@
-$NetBSD: patch-am,v 1.8 2011/10/18 21:59:18 sbd Exp $
+$NetBSD: patch-am,v 1.9 2011/10/31 06:50:54 sbd Exp $
--- setup.py.orig 2008-10-16 18:58:19.000000000 +0000
+++ setup.py
@@ -41,7 +41,7 @@ $NetBSD: patch-am,v 1.8 2011/10/18 21:59:18 sbd Exp $
if (ssl_incs is not None and
ssl_libs is not None):
-@@ -609,269 +613,51 @@ class PyBuildExt(build_ext):
+@@ -609,273 +613,79 @@ class PyBuildExt(build_ext):
# a release. Most open source OSes come with one or more
# versions of BerkeleyDB already installed.
@@ -350,14 +350,37 @@ $NetBSD: patch-am,v 1.8 2011/10/18 21:59:18 sbd Exp $
# The standard Unix dbm module:
if platform not in ['cygwin']:
-@@ -881,15 +667,13 @@ class PyBuildExt(build_ext):
- ndbm_libs = ['ndbm']
- else:
- ndbm_libs = []
-- exts.append( Extension('dbm', ['dbmmodule.c'],
+- if find_file("ndbm.h", inc_dirs, []) is not None:
++
++ ## Top half based on find_file
++ def find_ndbm_h(dirs):
++ ret = None
++ if sys.platform == 'darwin':
++ sysroot = macosx_sdk_root()
++ for dir in dirs:
++ f = os.path.join(dir, 'ndbm.h')
++ if sys.platform == 'darwin' and is_macosx_sdk_path(dir):
++ f = os.path.join(sysroot, dir[1:], filename)
++ if not os.path.exists(f): continue
+
-+ if not self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
-+ exts.append( Extension('dbm', ['dbmmodule.c'],
++ ret = 'True'
++ input = text_file.TextFile(f)
++ while 1:
++ line = input.readline()
++ if not line: break
++ if re.search('This file is part of GDBM', line):
++ ret = None
++ break
++ input.close()
++ break
++ return ret
++
++ if find_ndbm_h(inc_dirs) is not None:
+ # Some systems have -lndbm, others don't
+ if self.compiler.find_library_file(lib_dirs, 'ndbm'):
+ ndbm_libs = ['ndbm']
+@@ -884,12 +694,8 @@ class PyBuildExt(build_ext):
+ exts.append( Extension('dbm', ['dbmmodule.c'],
define_macros=[('HAVE_NDBM_H',None)],
libraries = ndbm_libs ) )
- elif (self.compiler.find_library_file(lib_dirs, 'gdbm')
@@ -371,7 +394,7 @@ $NetBSD: patch-am,v 1.8 2011/10/18 21:59:18 sbd Exp $
exts.append( Extension('dbm', ['dbmmodule.c'],
library_dirs=dblib_dir,
runtime_library_dirs=dblib_dir,
-@@ -899,9 +683,9 @@ class PyBuildExt(build_ext):
+@@ -899,9 +705,9 @@ class PyBuildExt(build_ext):
libraries=dblibs))
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
@@ -384,7 +407,7 @@ $NetBSD: patch-am,v 1.8 2011/10/18 21:59:18 sbd Exp $
# Unix-only modules
if platform not in ['mac', 'win32']:
-@@ -1536,8 +1320,8 @@ def main():
+@@ -1536,8 +1342,8 @@ def main():
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install
diff --git a/lang/python26/distinfo b/lang/python26/distinfo
index e03bfd60bcb..907711ecdee 100644
--- a/lang/python26/distinfo
+++ b/lang/python26/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.39 2011/10/18 21:59:18 sbd Exp $
+$NetBSD: distinfo,v 1.40 2011/10/31 06:50:54 sbd Exp $
SHA1 (Python-2.6.7.tar.bz2) = 5d35eb746e85fb3deaff8518448137c9b9fb6daa
RMD160 (Python-2.6.7.tar.bz2) = 513e84a7cb76ca876e3803bb03ed558bd0378063
@@ -14,7 +14,7 @@ SHA1 (patch-ad) = a997e39d16a8f0023125362b180d19ee97ab519b
SHA1 (patch-ae) = a6d578b5f12eb42fbbcc11791576d2686a4807d9
SHA1 (patch-ah) = 501d220b41e578402f3400fe88e582aa2408a147
SHA1 (patch-al) = e18800d53de022e4c24055f7d03b69af2837b089
-SHA1 (patch-am) = 740d3b3b0793d7ed152438b9dacbae457dc71076
+SHA1 (patch-am) = 154b1d4fd7b5f7767dc383867390aa55d476e824
SHA1 (patch-an) = 17b4e17b3b562c29a050e9bb20447084ce82b8ab
SHA1 (patch-ao) = 8c6a156b0f0c2a6d319658477fff348e6a0c3603
SHA1 (patch-ap) = d23a869a449ab9dc166cfa149913b20c9acad9cb
diff --git a/lang/python26/patches/patch-am b/lang/python26/patches/patch-am
index 05347373919..1327accae0a 100644
--- a/lang/python26/patches/patch-am
+++ b/lang/python26/patches/patch-am
@@ -1,4 +1,4 @@
-$NetBSD: patch-am,v 1.17 2011/10/18 21:59:18 sbd Exp $
+$NetBSD: patch-am,v 1.18 2011/10/31 06:50:54 sbd Exp $
Disabled modules for normal build:
bsddb
@@ -261,7 +261,7 @@ support building the "nis" and "crypt" modules.
# The sqlite interface
sqlite_setup_debug = False # verbose debug prints from this script?
-@@ -1094,31 +956,12 @@
+@@ -1094,35 +956,40 @@
# we do not build this one. Otherwise this build will pick up
# the more recent berkeleydb's db.h file first in the include path
# when attempting to compile and it will fail.
@@ -298,14 +298,37 @@ support building the "nis" and "crypt" modules.
# The standard Unix dbm module:
if platform not in ['cygwin']:
-@@ -1128,10 +971,12 @@
+- if find_file("ndbm.h", inc_dirs, []) is not None:
++
++ ## Top half based on find_file
++ def find_ndbm_h(dirs):
++ ret = None
++ if sys.platform == 'darwin':
++ sysroot = macosx_sdk_root()
++ for dir in dirs:
++ f = os.path.join(dir, 'ndbm.h')
++ if sys.platform == 'darwin' and is_macosx_sdk_path(dir):
++ f = os.path.join(sysroot, dir[1:], filename)
++ if not os.path.exists(f): continue
++
++ ret = 'True'
++ input = text_file.TextFile(f)
++ while 1:
++ line = input.readline()
++ if not line: break
++ if re.search('This file is part of GDBM', line):
++ ret = None
++ break
++ input.close()
++ break
++ return ret
++
++ if find_ndbm_h(inc_dirs) is not None:
+ # Some systems have -lndbm, others don't
+ if self.compiler.find_library_file(lib_dirs, 'ndbm'):
ndbm_libs = ['ndbm']
- else:
- ndbm_libs = []
-- exts.append( Extension('dbm', ['dbmmodule.c'],
-+ # Don't use gdbm_compat!
-+ if not self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
-+ exts.append( Extension('dbm', ['dbmmodule.c'],
+@@ -1131,7 +998,7 @@
+ exts.append( Extension('dbm', ['dbmmodule.c'],
define_macros=[('HAVE_NDBM_H',None)],
libraries = ndbm_libs ) )
- elif self.compiler.find_library_file(lib_dirs, 'gdbm'):
@@ -313,7 +336,7 @@ support building the "nis" and "crypt" modules.
gdbm_libs = ['gdbm']
if self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
gdbm_libs.append('gdbm_compat')
-@@ -1147,14 +990,12 @@
+@@ -1147,14 +1014,12 @@
libraries = gdbm_libs ) )
else:
missing.append('dbm')
@@ -331,7 +354,7 @@ support building the "nis" and "crypt" modules.
else:
missing.append('dbm')
-@@ -1408,6 +1248,14 @@
+@@ -1408,6 +1273,14 @@
)
libraries = []
@@ -346,7 +369,7 @@ support building the "nis" and "crypt" modules.
else: # Linux and other unices
macros = dict(
HAVE_SEM_OPEN=1,
-@@ -2026,9 +1874,9 @@
+@@ -2026,9 +1899,9 @@
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install
diff --git a/lang/python31/distinfo b/lang/python31/distinfo
index 59deba0ea67..4eb6d907f0e 100644
--- a/lang/python31/distinfo
+++ b/lang/python31/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.4 2011/10/18 21:59:18 sbd Exp $
+$NetBSD: distinfo,v 1.5 2011/10/31 06:50:54 sbd Exp $
SHA1 (Python-3.1.4.tar.bz2) = 043d0240247f289205deeb0e620d799005202b3c
RMD160 (Python-3.1.4.tar.bz2) = d537706808b00989a636418b6b6a06357b6bb94b
@@ -7,7 +7,7 @@ SHA1 (patch-aa) = ae156c486007cfd14d378dd211108d3af4b841b1
SHA1 (patch-ab) = 7d4d6aa9239f53f1ce9ecd377890d71557c58ca4
SHA1 (patch-ah) = f93c0aab7b0d5e8e9f80433dda5ed5a22861f6b9
SHA1 (patch-al) = 48e348c64cf54756cf5b10254661ac089bec3e0a
-SHA1 (patch-am) = c7861e5c3bee63efa360218a2ff4685a23b45a3e
+SHA1 (patch-am) = dcc335f48a33c23275e07fa0e8f775917c770623
SHA1 (patch-an) = 933acde107b735931d26ace4eef251000b9f07ba
SHA1 (patch-ao) = dca396744edc5c0f86c8912bf54347a630cd865b
SHA1 (patch-au) = a2cefb240d91121315d02104416324c971af6a20
diff --git a/lang/python31/patches/patch-am b/lang/python31/patches/patch-am
index 2e291d574ee..14475c61048 100644
--- a/lang/python31/patches/patch-am
+++ b/lang/python31/patches/patch-am
@@ -1,4 +1,4 @@
-$NetBSD: patch-am,v 1.3 2011/10/18 21:59:18 sbd Exp $
+$NetBSD: patch-am,v 1.4 2011/10/31 06:50:55 sbd Exp $
--- setup.py.orig 2011-06-11 15:48:52.000000000 +0000
+++ setup.py
@@ -41,36 +41,47 @@ $NetBSD: patch-am,v 1.3 2011/10/18 21:59:18 sbd Exp $
if (ssl_incs is not None and
ssl_libs is not None):
-@@ -1054,13 +1058,15 @@ class PyBuildExt(build_ext):
- ndbm_libs = ['ndbm']
- else:
- ndbm_libs = []
-- print("building dbm using ndbm")
-- dbmext = Extension('_dbm', ['_dbmmodule.c'],
-+ if not self.compiler.find_library_file(lib_dirs,
-+ 'gdbm'):
-+ print("building dbm using ndbm")
-+ dbmext = Extension('_dbm', ['_dbmmodule.c'],
- define_macros=[
- ('HAVE_NDBM_H',None),
- ],
- libraries=ndbm_libs)
-- break
+@@ -1037,6 +1041,30 @@ class PyBuildExt(build_ext):
+ dbm_order = ['gdbm']
+ # The standard Unix dbm module:
+ if platform not in ['cygwin']:
++
++ ## Top half based on find_file
++ def find_ndbm_h(dirs):
++ ret = None
++ if sys.platform == 'darwin':
++ sysroot = macosx_sdk_root()
++ for dir in dirs:
++ f = os.path.join(dir, 'ndbm.h')
++ if sys.platform == 'darwin' and is_macosx_sdk_path(dir):
++ f = os.path.join(sysroot, dir[1:], filename)
++ if not os.path.exists(f): continue
++
++ ret = 'True'
++ input = text_file.TextFile(f)
++ while 1:
++ line = input.readline()
++ if not line: break
++ if re.search('This file is part of GDBM', line):
++ ret = None
+ break
-
- elif cand == "gdbm":
- if self.compiler.find_library_file(lib_dirs, 'gdbm'):
-@@ -1085,7 +1091,8 @@ class PyBuildExt(build_ext):
- ],
- libraries = gdbm_libs)
- break
-- elif cand == "bdb":
++ input.close()
++ break
++ return ret
+
-+ if cand == "bdb" and dbmext is None:
- if db_incs is not None:
- print("building dbm using bdb")
- dbmext = Extension('_dbm', ['_dbmmodule.c'],
-@@ -1315,6 +1322,14 @@ class PyBuildExt(build_ext):
+ config_args = [arg.strip("'")
+ for arg in sysconfig.get_config_var("CONFIG_ARGS").split()]
+ dbm_args = [arg for arg in config_args
+@@ -1048,7 +1076,7 @@ class PyBuildExt(build_ext):
+ dbmext = None
+ for cand in dbm_order:
+ if cand == "ndbm":
+- if find_file("ndbm.h", inc_dirs, []) is not None:
++ if find_ndbm_h(inc_dirs) is not None:
+ # Some systems have -lndbm, others don't
+ if self.compiler.find_library_file(lib_dirs, 'ndbm'):
+ ndbm_libs = ['ndbm']
+@@ -1315,6 +1343,14 @@ class PyBuildExt(build_ext):
macros = dict()
libraries = []
@@ -85,7 +96,7 @@ $NetBSD: patch-am,v 1.3 2011/10/18 21:59:18 sbd Exp $
else: # Linux and other unices
macros = dict()
libraries = ['rt']
-@@ -1831,8 +1846,8 @@ def main():
+@@ -1831,8 +1867,8 @@ def main():
# called unless there's at least one extension module defined.
ext_modules=[Extension('_struct', ['_struct.c'])],