Hi all.

I recently found Pyrseas, a piece of software that I really like to have in ports collection. It's about SQL database definitions and storing them in VCS. Anyone intrested can check http://pyrseas.readthedocs.org/en/latest/overview.html for more details.

I created a port for this one (https://redports.org/browser/kworr/databases/py-Pyrseas) just to found that after installation completes port is unusable. After roaming through internet I identified py-setuptools as source of the problem/incompatibility.

I also found that py-setuptools is long ago abandoned and active fork already exists named py-distribute.

Trying to move to py-distribute I found that:

1. Simple 'portmaster -o devel/py-distribute devel/py-setuptools' doesn't work. If you want to move to py-distribute you need to deinstall py-setuptools with all dependencies. http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/168980 filed.

2. Even if py-distribute is installed any port would depend on py-setuptools bringing it in. py-setuptools has no conflicts for py-distribute.

 3. There are ports that directly depend on py-setuptools.

If noone else can start this move now I can at least plan it and provide some starting solutions.

First. We need a clear way to force inner dependency on py-distribute for python 2.7. I think there would be nice adding one more temporary variable to setuptools support section:

 # setuptools support
 .if defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install"
-.if ${PYTHON_SUFFIX} < 30
+.if ${PYTHON_SUFFIX} < 30 && !defined (TEST_USE_PYDISTRIBUTE)
 BUILD_DEPENDS+=   ${PYEASYINSTALL_CMD}:${PORTSDIR}/devel/py-setuptools
 RUN_DEPENDS+=   ${PYEASYINSTALL_CMD}:${PORTSDIR}/devel/py-setuptools
 .else

This doesn't correlates with general variable naming in Mk, yet this is a oneliner, it correctly states that WIP and everything can blow up instantly and now anyone can add TEST_USE_PYDISTRIBUTE to /etc/make.conf to switch from py-setuptools.

I also can provide a simple patch that fixes www/trac-graphviz when building with py-distribute:

@@ -20,11 +20,9 @@
RUN_DEPENDS+= ${LOCALBASE}/lib/X11/fonts/URW/fonts.dir:${PORTSDIR}/x11-fonts/urwfonts \
                dot:${PORTSDIR}/graphics/graphviz \
                tracd:${PORTSDIR}/www/trac
-BUILD_DEPENDS+=        easy_install:${PORTSDIR}/devel/py-setuptools

 USE_PYTHON=    2.5+
-NO_BUILD=      yes
-USE_PYDISTUTILS=yes
+USE_PYDISTUTILS=easy_install
 PYDISTUTILS_PKGNAME=   graphviz
 WRKSRC=                ${WRKDIR}/${PORTNAME}plugin
 PYDISTUTILS_NOEGGINFO= yes
@@ -39,7 +37,4 @@
            -e 's|%%OSMAJOR%%|${OSREL:C/\..*$//}|' \
        ${WRKSRC}/graphviz/graphviz.py

-do-build:
-       @${DO_NADA}
-
 .include <bsd.port.mk>

c'mon guys, lets not make this a year-or-two patch like the issue with not installing egg files. I no I can be wrong so punch me someone. I just want to make an easy first step that doesn't break anything but make all further steps a bit easier. :)

--
Sphinx of black quartz judge my vow.
_______________________________________________
freebsd-python@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-python
To unsubscribe, send any mail to "freebsd-python-unsubscr...@freebsd.org"

Reply via email to