Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jun 2012 18:04:17 +0300
From:      Volodymyr Kostyrko <c.kworr@gmail.com>
To:        freebsd-python@freebsd.org
Subject:   preparation on moving to py-distribute
Message-ID:  <4FD8ABF1.6060607@gmail.com>

next in thread | raw e-mail | index | archive | help
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.



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