aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorscheidell <scheidell@FreeBSD.org>2011-12-04 02:39:29 +0800
committerscheidell <scheidell@FreeBSD.org>2011-12-04 02:39:29 +0800
commit01fb9eebc1d62ea1a186b6ae2ab905664910fc52 (patch)
tree09493fa11f488896bcfbfcae8f0a75bc5cf0ca22
parentd59a4e3fc2e67a3bb3e3103f800c22021c28c5e5 (diff)
downloadfreebsd-ports-gnome-01fb9eebc1d62ea1a186b6ae2ab905664910fc52.tar.gz
freebsd-ports-gnome-01fb9eebc1d62ea1a186b6ae2ab905664910fc52.tar.zst
freebsd-ports-gnome-01fb9eebc1d62ea1a186b6ae2ab905664910fc52.zip
- upgrade to 1.8.13
- race condition could cause crashes - upgrade to 1.8.12 - fixed memory leak (botan pr 144) - added patch from upstream in repo for python portability issues PR: 161167 Submitted by: jreed@isc.org Approved by: maintainer (timeout), gabor (mentor) Feature safe: yes
-rw-r--r--security/botan/Makefile6
-rw-r--r--security/botan/distinfo4
-rw-r--r--security/botan/files/patch-configure.py201
3 files changed, 207 insertions, 4 deletions
diff --git a/security/botan/Makefile b/security/botan/Makefile
index a83f92805e1e..f767b2520c94 100644
--- a/security/botan/Makefile
+++ b/security/botan/Makefile
@@ -7,7 +7,7 @@
#
PORTNAME= botan
-PORTVERSION= 1.8.11
+PORTVERSION= 1.8.13
CATEGORIES= security
MASTER_SITES= http://files.randombit.net/botan/v1.8/
DISTNAME= Botan-${PORTVERSION}
@@ -57,8 +57,10 @@ CXXFLAGS+= -I${LOCALBASE}/include
CONFIGURE_ARGS+=--with-tr1-implementation=none
.endif
-.if defined(NOPORTDOCS)
post-patch:
+ ${REINPLACE_CMD} -e "s|#!/usr/bin/env python|#!${PYTHON_CMD}|" \
+ ${WRKSRC}/configure.py
+.if defined(NOPORTDOCS)
${REINPLACE_CMD} -e '/$$(MKDIR_INSTALL) $$(DOCDIR)/d' \
-e '/$$(INSTALL_CMD_DATA) $$$$i $$(DOCDIR); /d' \
${WRKSRC}/src/build-data/makefile/unix_shr.in
diff --git a/security/botan/distinfo b/security/botan/distinfo
index 5645b8764835..a8abf239e4d6 100644
--- a/security/botan/distinfo
+++ b/security/botan/distinfo
@@ -1,2 +1,2 @@
-SHA256 (Botan-1.8.11.tbz) = c3b60a2c3dfcbe7b21626e8459e5134d3cbabe45b6d94f454860b99798739ba4
-SIZE (Botan-1.8.11.tbz) = 2808114
+SHA256 (Botan-1.8.13.tbz) = 5593ce257d753c305ecf6f4d16e2f516f647bd6494f823fe9766a816ac439dba
+SIZE (Botan-1.8.13.tbz) = 2811686
diff --git a/security/botan/files/patch-configure.py b/security/botan/files/patch-configure.py
new file mode 100644
index 000000000000..c8bcef2f5e71
--- /dev/null
+++ b/security/botan/files/patch-configure.py
@@ -0,0 +1,201 @@
+--- configure.py.orig 2011-10-24 19:51:31.000000000 +0000
++++ configure.py 2011-10-24 19:52:25.000000000 +0000
+@@ -58,7 +58,7 @@
+ self.include_dir = os.path.join(self.build_dir, 'include')
+ self.full_include_dir = os.path.join(self.include_dir, 'botan')
+
+- all_files = sum([mod.add for mod in modules], [])
++ all_files = sum([list(mod.add) for mod in modules], [])
+
+ self.headers = sorted(
+ [file for file in all_files if file.endswith('.h')])
+@@ -290,7 +290,7 @@
+
+ for group in allowed_groups:
+ to_obj.__dict__[group] = []
+- for (key,val) in name_val_pairs.iteritems():
++ for (key,val) in list(name_val_pairs.items()):
+ to_obj.__dict__[key] = val
+
+ def lexed_tokens(): # Convert to an interator
+@@ -320,7 +320,7 @@
+ raise LexerError('Group "%s" not terminated' % (group),
+ lexer.lineno)
+
+- elif token in name_val_pairs.keys():
++ elif token in list(name_val_pairs.keys()):
+ to_obj.__dict__[token] = lexer.get_token()
+ else: # No match -> error
+ raise LexerError('Bad token "%s"' % (token), lexer.lineno)
+@@ -329,7 +329,7 @@
+ Convert a lex'ed map (from build-data files) from a list to a dict
+ """
+ def force_to_dict(l):
+- return dict(zip(l[::3],l[2::3]))
++ return dict(list(zip(l[::3],l[2::3])))
+
+ """
+ Represents the information about a particular module
+@@ -361,7 +361,7 @@
+ return os.path.join(os.path.split(self.lives_in)[0],
+ *filename.split(':'))
+
+- self.add = map(add_dir_name, self.add)
++ self.add = list(map(add_dir_name, self.add))
+
+ self.mp_bits = int(self.mp_bits)
+
+@@ -413,8 +413,8 @@
+ self.unaligned_ok = 0
+
+ def all_submodels(self):
+- return sorted(zip(self.submodels, self.submodels) +
+- self.submodel_aliases.items(),
++ return sorted([(k,k) for k in self.submodels] +
++ [k for k in list(self.submodel_aliases.items())],
+ key = lambda k: len(k[0]), reverse = True)
+
+ def defines(self, target_submodel, with_endian):
+@@ -574,13 +574,26 @@
+ for feat in self.target_features]
+
+ def canon_processor(archinfo, proc):
+- for ainfo in archinfo.values():
++ # First, try to search for an exact match
++ for ainfo in list(archinfo.values()):
+ if ainfo.basename == proc or proc in ainfo.aliases:
+ return (ainfo.basename, ainfo.basename)
+- else:
+- for (match,submodel) in ainfo.all_submodels():
+- if re.search(match, proc) != None:
+- return (ainfo.basename, submodel)
++
++ for (match,submodel) in ainfo.all_submodels():
++ if proc == submodel:
++ return (ainfo.basename, submodel)
++
++ # Now, try searching via regex match
++ for ainfo in list(archinfo.values()):
++ for (match,submodel) in ainfo.all_submodels():
++ if re.search(match, proc) != None:
++ return (ainfo.basename, submodel)
++
++ logging.debug('Known CPU names: ' + ' '.join(
++ sorted(sum([[ainfo.basename] + \
++ ainfo.aliases + \
++ [x for (x,_) in ainfo.all_submodels()]
++ for ainfo in list(archinfo.values())], []))))
+
+ raise Exception('Unknown or unidentifiable processor "%s"' % (proc))
+
+@@ -597,7 +610,7 @@
+ if full_proc == '':
+ full_proc = base_proc
+
+- for ainfo in archinfo.values():
++ for ainfo in list(archinfo.values()):
+ if ainfo.basename == base_proc or base_proc in ainfo.aliases:
+ for (match,submodel) in ainfo.all_submodels():
+ if re.search(match, full_proc) != None:
+@@ -626,7 +639,7 @@
+ try:
+ template = PercentSignTemplate(slurp_file(template_file))
+ return template.substitute(variables)
+- except KeyError, e:
++ except KeyError as e:
+ raise Exception('Unbound var %s in template %s' % (e, template_file))
+
+ """
+@@ -642,7 +655,7 @@
+ def link_to():
+ libs = set()
+ for module in modules:
+- for (osname,link_to) in module.libs.iteritems():
++ for (osname,link_to) in list(module.libs.items()):
+ if osname == 'all' or osname == osinfo.basename:
+ libs.add(link_to)
+ else:
+@@ -798,8 +811,7 @@
+
+ 'doc_files': makefile_list(build_config.doc_files()),
+
+- 'mod_list': '\n'.join(['%s (%s)' % (m.basename, m.realname)
+- for m in sorted(modules)]),
++ 'mod_list': '\n'.join(sorted([m.basename for m in modules])),
+ }
+
+ """
+@@ -814,7 +826,7 @@
+ def cannot_use_because(mod, reason):
+ not_using_because.setdefault(reason, []).append(mod)
+
+- for (modname, module) in modules.iteritems():
++ for (modname, module) in list(modules.items()):
+ if modname in options.disabled_modules:
+ cannot_use_because(modname, 'disabled by user')
+ elif modname in options.enabled_modules:
+@@ -862,8 +874,7 @@
+ while dependency_failure:
+ dependency_failure = False
+ for modname in to_load:
+- for deplist in map(lambda s: s.split('|'),
+- modules[modname].dependencies()):
++ for deplist in [s.split('|') for s in modules[modname].dependencies()]:
+
+ dep_met = False
+ for mod in deplist:
+@@ -1020,7 +1031,7 @@
+ # First delete the build tree, if existing
+ try:
+ shutil.rmtree(build_config.build_dir)
+- except OSError, e:
++ except OSError as e:
+ logging.debug('Error while removing build dir: %s' % (e))
+
+ for dirs in [build_config.checkobj_dir,
+@@ -1055,7 +1066,7 @@
+ sink = os.path.join(build_config.build_dir, sink)
+ templates_to_proc[source] = sink
+
+- for (template, sink) in templates_to_proc.items():
++ for (template, sink) in list(templates_to_proc.items()):
+ try:
+ f = open(sink, 'w')
+ f.write(process_template(template, template_vars))
+@@ -1128,7 +1139,7 @@
+ if options.os not in osinfo:
+
+ def find_canonical_os_name(os):
+- for (name, info) in osinfo.items():
++ for (name, info) in list(osinfo.items()):
+ if os in info.aliases:
+ return name
+ return os # not found
+@@ -1166,13 +1177,13 @@
+ matching_version = '(4\.[01234]\.)|(3\.[34]\.)|(2\.95\.[0-4])'
+
+ gcc_version = ''.join(
+- subprocess.Popen(['g++', '-v'],
++ str(subprocess.Popen(['g++', '-v'],
+ stdout=subprocess.PIPE,
+- stderr=subprocess.PIPE).communicate())
++ stderr=subprocess.PIPE).communicate()))
+
+ if re.search(matching_version, gcc_version):
+ options.dumb_gcc = True
+- except OSError, e:
++ except OSError as e:
+ logging.info('Could not execute GCC for version check')
+
+ if options.dumb_gcc is True:
+@@ -1206,8 +1217,8 @@
+ if __name__ == '__main__':
+ try:
+ main()
+- except Exception, e:
+- print >>sys.stderr, e
++ except Exception as e:
++ logging.error(str(e))
+ #import traceback
+ #traceback.print_exc(file=sys.stderr)
+ sys.exit(1)