Am 29.10.2012 14:03 (UTC+1) schrieb Ruslan Mahmatkhanov: > Rainer Hurling wrote on 29.10.2012 14:34: >> Am 29.10.2012 08:53 (UTC+1) schrieb Ruslan Mahmatkhanov: >>> Rainer Hurling wrote on 28.10.2012 19:46: >>>> On 28.10.2012 16:12 (UTC+2), Lucas Saliés Brum wrote: >>>>> Hello all! >>>>> This is my first e-mail that list. >>>>> >>>>> I'm having problems with a new port that I'm trying to create. >>>>> http://paste.sistematico.org/14 >>>>> >>>>> # make install >>>>> ... >>>>> ===> Registering installation for py27-feedparser-5.1.2 >>>>> ===> Returning to build of cgmail-0.6.2 >>>>> Error: shared library "feedparser" does not exist >>>>> *** [lib-depends] Error code 1 >>>>> >>>>> Stop in /usr/home/lucas/apps/ports/cgmail. >>>>> >>>>> What name should I use LIB_DEPENDS= >>>>> [HERE]:${PORTSDIR}/textproc/py-feedparser ? >>>> >>>> textproc/py-feedparser does not install any library, so you need to >>>> test >>>> the presence of the python script, installed by this port: >>>> >>>> /usr/local/lib/python2.7/site-packages/feedparser.py >>>> >>>> To be path and version independent you should use something like >>>> >>>> ${PYTHON_SITELIBDIR}/feedparser.py:${PORTSDIR}/textproc/py-feedparser >>> >>> Please note that using >>> ${PYTHON_PKGNAMEPREFIX}feedparser>0:${PORTSDIR}/textproc/py-feedparser >>> >>> is preferable. >>> >> >> Thanks for this info. I wasn't sure about what is best to use in >> 'DEPENDS' lines. >> >> Do I understand it right, that '${PYTHON_PKGNAMEPREFIX}feedparser>0' >> tests directly, if the port py27-feedparser is installed and >> '${PYTHONPREFIX_SITELIBDIR}/feedparser.py would test, if the file >> 'feedparser.py' exists in the path '${PYTHONPREFIX_SITELIBDIR}'? (better >> than '${PYTHON_SITELIBDIR}'? > > Yes, you understanding it right. ${PYTHON_PKGNAMEPREFIX} will accept any > value according to what PYTHON_DEFAULT_VERSION is set in user's > environment (py27-, py26-, py32- etc). The main difference over using > PYTHON_SITELIBDIR is that it will work correctly if/when dependent port > will be switched to egg-install. In fact it works fine for both > egg-installed ports, and with distutils-installed ones. And hardcoding > dependency on some file is ugly, imho. Your package needs another > package, so why should it bother to which file in filesystem it depends? > Dropping SITELIBDIR usage is a common trend in ports tree - perl and > ruby ports do the same.
Many thanks for this detailed and understandable explanations :) I really appreciate it, Rainer >> In PH, chapter 6.14, three cases are mentioned: >> >> (1) PYTHON_PKGNAMEPREFIX >> Used as a PKGNAMEPREFIX to distinguish packages for different Python >> versions. Example: py24- >> >> (2) PYTHON_SITELIBDIR >> Location of the site-packages tree, that contains installation path of >> Python (usually LOCALBASE). The PYTHON_SITELIBDIR variable can be very >> useful when installing Python modules. >> >> (3) PYTHONPREFIX_SITELIBDIR >> The PREFIX-clean variant of PYTHON_SITELIBDIR. Always use >> %%PYTHON_SITELIBDIR%% in pkg-plist when possible. The default value of >> %%PYTHON_SITELIBDIR%% is lib/python%%PYTHON_VERSION%%/site-packages > > I'm not sure what the difference among (2) and (3). They looking the > same for me. Never used (3) and see no problem. Can't tell you more at > the moment, it needs to digging into bsd.python.mk. > _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"