Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Oct 2012 14:15:12 +0100
From:      Rainer Hurling <rhurlin@gwdg.de>
To:        Ruslan Mahmatkhanov <cvs-src@yandex.ru>
Cc:        =?ISO-8859-1?Q?Lucas_Sali=E9s_Brum?= <sistematico@gmail.com>, freebsd-ports@freebsd.org
Subject:   Re: lib name on LIB_DEPENDS
Message-ID:  <508E8160.1050407@gwdg.de>
In-Reply-To: <508E7E92.10608@yandex.ru>
References:  <CADyvD9sM0Bu8qO8a07eg_7b%2BO9iJd32pMnWupex6xqVbf6Xdzw@mail.gmail.com> <508D5370.6080404@gwdg.de> <508E35E2.6050702@yandex.ru> <508E5BC1.7000008@gwdg.de> <508E7E92.10608@yandex.ru>

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



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