Bug 186802 - [MAINTAINER] math/py-pandas: Update to 0.13.1
Summary: [MAINTAINER] math/py-pandas: Update to 0.13.1
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Ruslan Makhmatkhanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-15 21:20 UTC by John W. O'Brien
Modified: 2014-03-04 10:20 UTC (History)
0 users

See Also:


Attachments
patch-math_py-pandas-0.13.1.txt (5.59 KB, patch)
2014-02-15 21:20 UTC, John W. O'Brien
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John W. O'Brien 2014-02-15 21:20:00 UTC
Change log
==========

*   Update to 0.13.1
*   Remove lang/cython from BUILD_DEPENDS now that distfile is fixed
*   Include RUN_DEPENDS in TEST_DEPENDS
*   Add devel/py-boto to TEST_DEPENDS for completeness with pkg-message
*   Remove math/py-statsmodels from TEST_DEPENDS to break circular dependency
*   Fix regression-test target to work with non-GitHub distfile which omits
    the ci/ directory. Borrow the print_skipped.py script to do this.

QA
==

% portlint -a
WARN: Makefile: wrong dependency value for TEST_DEPENDS. TEST_DEPENDS requires 2 or 3 colon-separated tuples.
0 fatal errors and 1 warning found.

RedPorts:
    https://redports.org/buildarchive/20140215211501-13420/

Fix: Apply the attached patch.
How-To-Repeat: N/A
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-02-15 21:20:16 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-python

freebsd-python@ wants this port PRs (via the GNATS Auto Assign Tool)
Comment 2 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2014-03-03 20:02:29 UTC
Responsible Changed
From-To: freebsd-python->rm

I will take it.
Comment 3 dfilter service freebsd_committer freebsd_triage 2014-03-04 10:17:43 UTC
Author: rm
Date: Tue Mar  4 10:17:29 2014
New Revision: 347005
URL: http://svnweb.freebsd.org/changeset/ports/347005
QAT: https://qat.redports.org/buildarchive/r347005/

Log:
  math/py-pandas: update to 0.13.1
  
  - update to 0.13.1
  - remove lang/cython from BUILD_DEPENDS now that distfile is fixed
  - include RUN_DEPENDS in TEST_DEPENDS
  - add devel/py-boto to TEST_DEPENDS for completeness with pkg-message
  - remove math/py-statsmodels from TEST_DEPENDS to break circular dependency
  - Fix regression-test target to work with non-GitHub distfile which omits
    the ci/ directory. Borrow the print_skipped.py script to do this.
  
  PR:		186802
  Submitted by:	John W. O'Brien <john@saltant.com> (maintainer)

Added:
  head/math/py-pandas/files/print_skipped.py   (contents, props changed)
Modified:
  head/math/py-pandas/Makefile
  head/math/py-pandas/distinfo

Modified: head/math/py-pandas/Makefile
==============================================================================
--- head/math/py-pandas/Makefile	Tue Mar  4 10:16:51 2014	(r347004)
+++ head/math/py-pandas/Makefile	Tue Mar  4 10:17:29 2014	(r347005)
@@ -1,7 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	pandas
-PORTVERSION=	0.13.0
+PORTVERSION=	0.13.1
 CATEGORIES=	math devel python
 MASTER_SITES=	CHEESESHOP
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -11,26 +11,28 @@ COMMENT=	Flexible, high-performance data
 
 LICENSE=	BSD3CLAUSE
 
-BUILD_DEPENDS=	${PYNUMPY} \
-		cython:${PORTSDIR}/lang/cython
+BUILD_DEPENDS=	${PYNUMPY}
 RUN_DEPENDS:=	${BUILD_DEPENDS} \
 		${PYTHON_PKGNAMEPREFIX}dateutil>0:${PORTSDIR}/devel/py-dateutil \
 		${PYTHON_PKGNAMEPREFIX}pytz>0:${PORTSDIR}/devel/py-pytz \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
-TEST_DEPENDS=	nosetests:${PORTSDIR}/devel/py-nose \
+TEST_DEPENDS=	${RUN_DEPENDS} \
+		nosetests:${PORTSDIR}/devel/py-nose \
 		cython:${PORTSDIR}/lang/cython \
-		${PYTHON_PKGNAMEPREFIX}numexpr>0:${PORTSDIR}/math/py-numexpr \
+		${PYTHON_PKGNAMEPREFIX}boto>0:${PORTSDIR}/devel/py-boto \
+		${PYTHON_PKGNAMEPREFIX}lxml>0:${PORTSDIR}/devel/py-lxml \
 		${PYTHON_PKGNAMEPREFIX}tables>0:${PORTSDIR}/devel/py-tables \
-		${PYTHON_PKGNAMEPREFIX}scipy>0:${PORTSDIR}/science/py-scipy \
+		${PYTHON_PKGNAMEPREFIX}bottleneck>0:${PORTSDIR}/math/py-bottleneck \
 		${PYTHON_PKGNAMEPREFIX}matplotlib>0:${PORTSDIR}/math/py-matplotlib \
+		${PYTHON_PKGNAMEPREFIX}numexpr>0:${PORTSDIR}/math/py-numexpr \
+		${PYTHON_PKGNAMEPREFIX}scipy>0:${PORTSDIR}/science/py-scipy \
+		${PYTHON_PKGNAMEPREFIX}openpyxl>0:${PORTSDIR}/textproc/py-openpyxl \
 		${PYTHON_PKGNAMEPREFIX}xlrd>0:${PORTSDIR}/textproc/py-xlrd \
 		${PYTHON_PKGNAMEPREFIX}xlwt>0:${PORTSDIR}/textproc/py-xlwt \
-		${PYTHON_PKGNAMEPREFIX}openpyxl>0:${PORTSDIR}/textproc/py-openpyxl \
-		${PYTHON_PKGNAMEPREFIX}statsmodels>0:${PORTSDIR}/math/py-statsmodels \
-		${PYTHON_PKGNAMEPREFIX}bottleneck>0:${PORTSDIR}/math/py-bottleneck \
 		${PYTHON_PKGNAMEPREFIX}beautifulsoup>0:${PORTSDIR}/www/py-beautifulsoup \
-		${PYTHON_PKGNAMEPREFIX}html5lib>0:${PORTSDIR}/www/py-html5lib \
-		${PYTHON_PKGNAMEPREFIX}lxml>0:${PORTSDIR}/devel/py-lxml
+		${PYTHON_PKGNAMEPREFIX}html5lib>0:${PORTSDIR}/www/py-html5lib
+# Note: we cannot include math/py-statsmodels in TEST_DEPENDS because it
+# depends upon us for BUILD and RUN.
 
 SUB_FILES=	pkg-message
 
@@ -42,12 +44,16 @@ PYDISTUTILS_AUTOPLIST=	yes
 # on a headless (X11-less) host (eg: RedPorts)
 #USES=		display:regression-test
 
+XUNITFILE=	${WRKDIR}/nosetests.xml
+NOSE_ENV=	http_proxy=${HTTP_PROXY}
+NOSE_ARGS=	${PORTNAME} --exe --with-xunit --xunit-file=${XUNITFILE}
+
 regression-test: build
 	@(cd ${WRKSRC} && \
 		${PYTHON_CMD} ${PYSETUP} build_ext --inplace && \
-		${PYTHON_CMD} ci/print_versions.py \
-		ci/script.sh \
-		${PYTHON_CMD} ci/print_skipped.py \
+		${PYTHON_CMD} -c 'import pandas.util.print_versions as pv; pv.show_versions()' && \
+		( ${SETENV} ${NOSE_ENV} nosetests ${NOSE_ARGS} || ${TRUE} ) && \
+		${PYTHON_CMD} ${SCRIPTDIR}/print_skipped.py ${XUNITFILE}
 	)
 
 .include <bsd.port.mk>

Modified: head/math/py-pandas/distinfo
==============================================================================
--- head/math/py-pandas/distinfo	Tue Mar  4 10:16:51 2014	(r347004)
+++ head/math/py-pandas/distinfo	Tue Mar  4 10:17:29 2014	(r347005)
@@ -1,2 +1,2 @@
-SHA256 (pandas-0.13.0.tar.gz) = f034cd298e0d68fee24a2b0a68a9b8da41978d6f39474f908f7f352904ef7f3c
-SIZE (pandas-0.13.0.tar.gz) = 3572047
+SHA256 (pandas-0.13.1.tar.gz) = 6813746caa796550969ed98069f16627f070f6d8d60686cfb3fa0e66c2e0312b
+SIZE (pandas-0.13.1.tar.gz) = 6096890

Added: head/math/py-pandas/files/print_skipped.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/py-pandas/files/print_skipped.py	Tue Mar  4 10:17:29 2014	(r347005)
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+
+import sys
+import math
+import xml.etree.ElementTree as et
+
+
+def parse_results(filename):
+    tree = et.parse(filename)
+    root = tree.getroot()
+    skipped = []
+
+    current_class = old_class = ''
+    i = 1
+    assert i - 1 == len(skipped)
+    for el in root.findall('testcase'):
+        cn = el.attrib['classname']
+        for sk in el.findall('skipped'):
+            old_class = current_class
+            current_class = cn
+            name = '{classname}.{name}'.format(classname=current_class,
+                                               name=el.attrib['name'])
+            msg = sk.attrib['message']
+            out = ''
+            if old_class != current_class:
+                ndigits = int(math.log(i, 10) + 1)
+                out += ('-' * (len(name + msg) + 4 + ndigits) + '\n') # 4 for : + space + # + space
+            out += '#{i} {name}: {msg}'.format(i=i, name=name, msg=msg)
+            skipped.append(out)
+            i += 1
+            assert i - 1 == len(skipped)
+    assert i - 1 == len(skipped)
+    assert len(skipped) == int(root.attrib['skip'])
+    return '\n'.join(skipped)
+
+
+def main(args):
+    print('SKIPPED TESTS:')
+    print(parse_results(args.filename))
+    return 0
+
+
+def parse_args():
+    import argparse
+    parser = argparse.ArgumentParser()
+    parser.add_argument('filename', help='XUnit file to parse')
+    return parser.parse_args()
+
+
+if __name__ == '__main__':
+    sys.exit(main(parse_args()))
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2014-03-04 10:17:46 UTC
State Changed
From-To: open->closed

Committed, thank you!