SecBSD's official ports repository
This commit is contained in:
commit
2c0afcbbf3
64331 changed files with 5339189 additions and 0 deletions
172
databases/mongodb/36/patches/python3-site_scons_libdeps_py
Normal file
172
databases/mongodb/36/patches/python3-site_scons_libdeps_py
Normal file
|
@ -0,0 +1,172 @@
|
|||
Index: site_scons/libdeps.py
|
||||
--- site_scons/libdeps.py.orig
|
||||
+++ site_scons/libdeps.py
|
||||
@@ -61,7 +61,7 @@ syslibdeps_env_var = 'SYSLIBDEPS'
|
||||
missing_syslibdep = 'MISSING_LIBDEP_'
|
||||
|
||||
class dependency(object):
|
||||
- Public, Private, Interface = range(3)
|
||||
+ Public, Private, Interface = list(range(3))
|
||||
|
||||
def __init__(self, value, dynamic, deptype):
|
||||
self.target_node = value
|
||||
@@ -74,7 +74,7 @@ class dependency(object):
|
||||
class DependencyCycleError(SCons.Errors.UserError):
|
||||
"""Exception representing a cycle discovered in library dependencies."""
|
||||
|
||||
- def __init__(self, first_node ):
|
||||
+ def __init__(self, first_node):
|
||||
super(DependencyCycleError, self).__init__()
|
||||
self.cycle_nodes = [first_node]
|
||||
|
||||
@@ -89,8 +89,8 @@ def __get_sorted_direct_libdeps(node):
|
||||
setattr(node.attributes, "libdeps_direct_sorted", direct_sorted)
|
||||
return direct_sorted
|
||||
|
||||
-def __get_libdeps(node):
|
||||
|
||||
+def __get_libdeps(node):
|
||||
"""Given a SCons Node, return its library dependencies, topologically sorted.
|
||||
|
||||
Computes the dependencies if they're not already cached.
|
||||
@@ -122,7 +122,7 @@ def __get_libdeps(node):
|
||||
marked.add(n.target_node)
|
||||
tsorted.append(n.target_node)
|
||||
|
||||
- except DependencyCycleError, e:
|
||||
+ except DependencyCycleError as e:
|
||||
if len(e.cycle_nodes) == 1 or e.cycle_nodes[0] != e.cycle_nodes[-1]:
|
||||
e.cycle_nodes.insert(0, n.target_node)
|
||||
raise
|
||||
@@ -139,6 +139,7 @@ def __get_libdeps(node):
|
||||
|
||||
return tsorted
|
||||
|
||||
+
|
||||
def __get_syslibdeps(node):
|
||||
""" Given a SCons Node, return its system library dependencies.
|
||||
|
||||
@@ -150,11 +151,11 @@ def __get_syslibdeps(node):
|
||||
for lib in __get_libdeps(node):
|
||||
for syslib in node.get_env().Flatten(lib.get_env().get(syslibdeps_env_var, [])):
|
||||
if syslib:
|
||||
- if type(syslib) in (str, unicode) and syslib.startswith(missing_syslibdep):
|
||||
- print("Target '%s' depends on the availability of a "
|
||||
+ if type(syslib) is str and syslib.startswith(missing_syslibdep):
|
||||
+ print(("Target '%s' depends on the availability of a "
|
||||
"system provided library for '%s', "
|
||||
"but no suitable library was found during configuration." %
|
||||
- (str(node), syslib[len(missing_syslibdep):]))
|
||||
+ (str(node), syslib[len(missing_syslibdep):])))
|
||||
node.get_env().Exit(1)
|
||||
syslibdeps.append(syslib)
|
||||
setattr(node.attributes, cached_var_name, syslibdeps)
|
||||
@@ -170,18 +171,21 @@ def update_scanner(builder):
|
||||
|
||||
if old_scanner:
|
||||
path_function = old_scanner.path_function
|
||||
+
|
||||
def new_scanner(node, env, path=()):
|
||||
result = old_scanner.function(node, env, path)
|
||||
result.extend(__get_libdeps(node))
|
||||
return result
|
||||
else:
|
||||
path_function = None
|
||||
+
|
||||
def new_scanner(node, env, path=()):
|
||||
return __get_libdeps(node)
|
||||
|
||||
builder.target_scanner = SCons.Scanner.Scanner(function=new_scanner,
|
||||
- path_function=path_function)
|
||||
+ path_function=path_function)
|
||||
|
||||
+
|
||||
def get_libdeps(source, target, env, for_signature):
|
||||
"""Implementation of the special _LIBDEPS environment variable.
|
||||
|
||||
@@ -191,6 +195,7 @@ def get_libdeps(source, target, env, for_signature):
|
||||
target = env.Flatten([target])
|
||||
return __get_libdeps(target[0])
|
||||
|
||||
+
|
||||
def get_libdeps_objs(source, target, env, for_signature):
|
||||
objs = []
|
||||
for lib in get_libdeps(source, target, env, for_signature):
|
||||
@@ -198,6 +203,7 @@ def get_libdeps_objs(source, target, env, for_signatur
|
||||
objs.extend(lib.sources)
|
||||
return objs
|
||||
|
||||
+
|
||||
def get_syslibdeps(source, target, env, for_signature):
|
||||
deps = __get_syslibdeps(target[0])
|
||||
lib_link_prefix = env.subst('$LIBLINKPREFIX')
|
||||
@@ -209,7 +215,7 @@ def get_syslibdeps(source, target, env, for_signature)
|
||||
# they're believed to represent library short names, that should be prefixed with -l
|
||||
# or the compiler-specific equivalent. I.e., 'm' becomes '-lm', but 'File("m.a") is passed
|
||||
# through whole cloth.
|
||||
- if type(d) in (str, unicode):
|
||||
+ if type(d) is str:
|
||||
result.append('%s%s%s' % (lib_link_prefix, d, lib_link_suffix))
|
||||
else:
|
||||
result.append(d)
|
||||
@@ -252,8 +258,8 @@ def libdeps_emitter(target, source, env):
|
||||
prereqs.extend(dependency(l, False, dependency.Private) for l in env.get(libdeps_env_var + '_PRIVATE', []) if l)
|
||||
|
||||
for prereq in prereqs:
|
||||
- prereqWithIxes = SCons.Util.adjustixes(
|
||||
- prereq.target_node, lib_builder.get_prefix(env), lib_builder.get_suffix(env))
|
||||
+ prereqWithIxes = SCons.Util.adjustixes(prereq.target_node, lib_builder.get_prefix(env),
|
||||
+ lib_builder.get_suffix(env))
|
||||
prereq.target_node = lib_node_factory(prereqWithIxes)
|
||||
|
||||
for t in target:
|
||||
@@ -264,16 +270,16 @@ def libdeps_emitter(target, source, env):
|
||||
for dependent in env.get('LIBDEPS_DEPENDENTS', []):
|
||||
if dependent is None:
|
||||
continue
|
||||
- dependentWithIxes = SCons.Util.adjustixes(
|
||||
- dependent, lib_builder.get_prefix(env), lib_builder.get_suffix(env))
|
||||
+ dependentWithIxes = SCons.Util.adjustixes(dependent, lib_builder.get_prefix(env),
|
||||
+ lib_builder.get_suffix(env))
|
||||
dependentNode = lib_node_factory(dependentWithIxes)
|
||||
__append_direct_libdeps(dependentNode, [dependency(target[0], False, dependency.Public)])
|
||||
|
||||
for dependent in env.get('PROGDEPS_DEPENDENTS', []):
|
||||
if dependent is None:
|
||||
continue
|
||||
- dependentWithIxes = SCons.Util.adjustixes(
|
||||
- dependent, prog_builder.get_prefix(env), prog_builder.get_suffix(env))
|
||||
+ dependentWithIxes = SCons.Util.adjustixes(dependent, prog_builder.get_prefix(env),
|
||||
+ prog_builder.get_suffix(env))
|
||||
dependentNode = prog_node_factory(dependentWithIxes)
|
||||
__append_direct_libdeps(dependentNode, [dependency(target[0], False, dependency.Public)])
|
||||
|
||||
@@ -372,9 +378,11 @@ def setup_environment(env, emitting_shared=False):
|
||||
if 'init-no-global-side-effects' in env.Entry(lib).get_env().get('LIBDEPS_TAGS', []):
|
||||
result.append(str(lib))
|
||||
else:
|
||||
- result.extend(env.subst('$LINK_WHOLE_ARCHIVE_LIB_START'
|
||||
- '$TARGET'
|
||||
- '$LINK_WHOLE_ARCHIVE_LIB_END', target=lib).split())
|
||||
+ result.extend(
|
||||
+ env.subst(
|
||||
+ '$LINK_WHOLE_ARCHIVE_LIB_START'
|
||||
+ '$TARGET'
|
||||
+ '$LINK_WHOLE_ARCHIVE_LIB_END', target=lib).split())
|
||||
return result
|
||||
|
||||
env['_LIBDEPS_LIBS_WITH_TAGS'] = expand_libdeps_with_extraction_flags
|
||||
@@ -394,6 +402,7 @@ def setup_environment(env, emitting_shared=False):
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
+
|
||||
def setup_conftests(conf):
|
||||
def FindSysLibDep(context, name, libs, **kwargs):
|
||||
var = "LIBDEPS_" + name.upper() + "_SYSLIBDEP"
|
||||
@@ -406,4 +415,5 @@ def setup_conftests(conf):
|
||||
return context.Result(result)
|
||||
context.env[var] = __missing_syslib(name)
|
||||
return context.Result(result)
|
||||
+
|
||||
conf.AddTest('FindSysLibDep', FindSysLibDep)
|
Loading…
Add table
Add a link
Reference in a new issue