Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2019 20:07:39 +0000 (UTC)
From:      Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r490175 - in head/devel: . py-jaraco.context py-jaraco.context/files
Message-ID:  <201901132007.x0DK7dlL000681@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sunpoet
Date: Sun Jan 13 20:07:39 2019
New Revision: 490175
URL: https://svnweb.freebsd.org/changeset/ports/490175

Log:
  Add py-jaraco.context 2.0
  
  jaraco.context provides context managers.
  
  WWW: https://github.com/jaraco/jaraco.context

Added:
  head/devel/py-jaraco.context/
  head/devel/py-jaraco.context/Makefile   (contents, props changed)
  head/devel/py-jaraco.context/distinfo   (contents, props changed)
  head/devel/py-jaraco.context/files/
  head/devel/py-jaraco.context/files/patch-jaraco-context.py   (contents, props changed)
  head/devel/py-jaraco.context/pkg-descr   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Sun Jan 13 19:36:50 2019	(r490174)
+++ head/devel/Makefile	Sun Jan 13 20:07:39 2019	(r490175)
@@ -4611,6 +4611,7 @@
     SUBDIR += py-itypes
     SUBDIR += py-jaraco
     SUBDIR += py-jaraco.classes
+    SUBDIR += py-jaraco.context
     SUBDIR += py-jaraco.functools
     SUBDIR += py-jaraco.itertools
     SUBDIR += py-jaraco.logging

Added: head/devel/py-jaraco.context/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/py-jaraco.context/Makefile	Sun Jan 13 20:07:39 2019	(r490175)
@@ -0,0 +1,43 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	jaraco.context
+PORTVERSION=	2.0
+CATEGORIES=	devel python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Context managers by jaraco
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools_scm>=1.15.0:devel/py-setuptools_scm@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}jaraco>=0:devel/py-jaraco@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent distutils
+
+NO_ARCH=	yes
+
+post-patch:
+	@${REINPLACE_CMD} -e '/jaraco.apt/d; /yg.lockfile/d' ${WRKSRC}/setup.cfg ${WRKSRC}/jaraco.context.egg-info/requires.txt
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 3000
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}contextlib2>=0:devel/py-contextlib2@${PY_FLAVOR}
+.endif
+
+POST_PLIST=	trim-jaraco-namespace
+
+post-install:
+	@${RM} ${STAGEDIR}${PYTHON_SITELIBDIR}/jaraco/__init__.py*
+	-@${RM} ${STAGEDIR}${PYTHON_SITELIBDIR}/jaraco/__pycache__/__init__.*
+	-@${RMDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/jaraco/__pycache__
+
+trim-jaraco-namespace:
+	@${REINPLACE_CMD} '/jaraco\/__init__\./d; /jaraco\/__pycache__\/__init__\./d' ${TMPPLIST}
+
+.include <bsd.port.post.mk>

Added: head/devel/py-jaraco.context/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/py-jaraco.context/distinfo	Sun Jan 13 20:07:39 2019	(r490175)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1546769646
+SHA256 (jaraco.context-2.0.tar.gz) = dc71afa2f0d6829234272a26aade99856db8b26d01ee6edb2b5027570c12b0d1
+SIZE (jaraco.context-2.0.tar.gz) = 11231

Added: head/devel/py-jaraco.context/files/patch-jaraco-context.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/py-jaraco.context/files/patch-jaraco-context.py	Sun Jan 13 20:07:39 2019	(r490175)
@@ -0,0 +1,110 @@
+--- jaraco/context.py.orig	2019-01-01 15:43:21 UTC
++++ jaraco/context.py
+@@ -13,9 +13,6 @@ try:
+ except Exception:
+ 	import contextlib as contextlib2
+ 
+-import jaraco.apt
+-import yg.lockfile
+-
+ 
+ __metaclass__ = type
+ 
+@@ -58,46 +55,6 @@ def data_lines_from_file(filename):
+ 	return filter(None, strip_comments(file_lines_if_exists(filename)))
+ 
+ 
+-def run():
+-	"""
+-	Run a command in the context of the system dependencies.
+-	"""
+-	parser = argparse.ArgumentParser()
+-	parser.add_argument(
+-		'--deps-def',
+-		default=data_lines_from_file("system deps.txt")
+-		+ data_lines_from_file("build deps.txt"),
+-		help="A file specifying the dependencies (one per line)",
+-		type=data_lines_from_file, dest="spec_deps")
+-	parser.add_argument(
+-		'--dep', action="append", default=[],
+-		help="A specific dependency (multiple allowed)", dest="deps")
+-	parser.add_argument(
+-		'command', type=shlex.split,
+-		default=shlex.split("python2.7 setup.py test"),
+-		help="Command to invoke in the context of the dependencies")
+-	parser.add_argument(
+-		'--do-not-remove', default=False, action="store_true",
+-		help="Keep any installed packages")
+-	parser.add_argument(
+-		'--aggressively-remove', default=False,
+-		action="store_true",
+-		help="When removing packages, also remove those automatically installed"
+-		" as dependencies")
+-	parser.add_argument(
+-		'-l', '--log-level', default=logging.INFO,
+-		type=log_level, help="Set log level (DEBUG, INFO, WARNING, ERROR)")
+-	args = parser.parse_args()
+-	logging.basicConfig(level=args.log_level)
+-	context = dependency_context(
+-		args.spec_deps + args.deps,
+-		aggressively_remove=args.aggressively_remove)
+-	with context as to_remove:
+-		if args.do_not_remove:
+-			del to_remove[:]
+-		raise SystemExit(subprocess.Popen(args.command).wait())
+-
+-
+ def log_level(level_string):
+ 	"""
+ 	Return a log level for a string
+@@ -106,50 +63,6 @@ def log_level(level_string):
+ 
+ 
+ @contextlib.contextmanager
+-def dependency_context(package_names, aggressively_remove=False):
+-	"""
+-	Install the supplied packages and yield. Finally, remove all packages
+-	that were installed.
+-	Currently assumes 'aptitude' is available.
+-	"""
+-	installed_packages = []
+-	log = logging.getLogger(__name__)
+-	try:
+-		if not package_names:
+-			logging.debug('No packages requested')
+-		if package_names:
+-			lock = yg.lockfile.FileLock(
+-				'/tmp/.pkg-context-lock',
+-				timeout=30 * 60)
+-			log.info('Acquiring lock to perform install')
+-			lock.acquire()
+-			log.info('Installing ' + ', '.join(package_names))
+-			output = subprocess.check_output(
+-				['sudo', 'aptitude', 'install', '-y'] + package_names,
+-				stderr=subprocess.STDOUT,
+-			)
+-			log.debug('Aptitude output:\n%s', output)
+-			installed_packages = jaraco.apt.parse_new_packages(
+-				output,
+-				include_automatic=aggressively_remove)
+-			if not installed_packages:
+-				lock.release()
+-			log.info('Installed ' + ', '.join(installed_packages))
+-		yield installed_packages
+-	except subprocess.CalledProcessError:
+-		log.error("Error occurred installing packages")
+-		raise
+-	finally:
+-		if installed_packages:
+-			log.info('Removing ' + ','.join(installed_packages))
+-			subprocess.check_call(
+-				['sudo', 'aptitude', 'remove', '-y'] + installed_packages,
+-				stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+-			)
+-			lock.release()
+-
+-
+-@contextlib.contextmanager
+ def pushd(dir):
+ 	orig = os.getcwd()
+ 	os.chdir(dir)

Added: head/devel/py-jaraco.context/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/py-jaraco.context/pkg-descr	Sun Jan 13 20:07:39 2019	(r490175)
@@ -0,0 +1,3 @@
+jaraco.context provides context managers.
+
+WWW: https://github.com/jaraco/jaraco.context



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901132007.x0DK7dlL000681>