Re: Problems dealing with ports use of pkgconf

2013-11-02 Thread Kevin Oberman
On Fri, Nov 1, 2013 at 1:57 AM, Tijl Coosemans t...@freebsd.org wrote:

 On Wed, 30 Oct 2013 11:46:30 -0700 Kevin Oberman wrote:
  I have run into a dilemma in regards to the use of pkgconf in ports. Here
  is what has bitten me:
  To allow sftp to get files, multimedia/vlc uses libssh2. libssh2, in
 turn,
  uses openssl or the GNU crypto library.
  If i have installed securith/openssl, all is well, but I don't want of
 need
  the security/openssl port.
  If I have not installed openssl from ports, vlc fails! Here is why:
 
  libssh2 creates a .pc file to allow other packages to know whether it
 uses
  openssl or libgcrypt. this is a nice thing, but it makes the common
  assumption that openssl is only there if the package has been installed.
 I
  believe that is is the case for Linux.  Not so for FreeBSD. vlc uses
  pkgconf to check on whether all required libraries are installed for
  libssh2. I finds that libssh2 requires libssl:
  Requires.private: libssl,libcrypto
  It then checks to see if these are installed. Since libssl is not
  installed, it bails on the error. (I believe that it shoudl be Required:
  rather than Requires.private:, but that has no impact on the problem.
 
  Since FreeBSD ports have already checked the dependencies before
 building a
  port, I think such checks should be removed from ports, but I'm not
  familiar enough with the real-world implications of this to know if it is
  the right way to go. If it is, I'll can submit a patch for vlc. I
 suspect,
  after reading the developers comments, that libssh2 developers will not
  want to remove their recent changes in this area.

 This line:

 Requires.private: libssl,libcrypto

 Would have to be changed into:

 Libs.private: -lssl -lcrypto

 See http://people.freedesktop.org/~dbn/pkg-config-guide.html

 (Maintainer CCed)


Tijl,

Thanks so much. After reading  the documentation at freedesktop.org, I was
still rather unclear on some details. The friendly presentation in that
link is much clearer, especially the choice between plain and private
forms which was a bit fuzzy to me.

Now to this specific issue. It appears that this is specific to non-Linux
ports. With Linux it is safe to assume that libssl and libcrypto both
support .pc files, making  Requires.private appropriate. Since the base
system libssl and libcrypto are not packages on FreeBSD, converting libssh2
(and other ports that use pkg-config and these libraries, if any), the
ports should probably be modified to switch the .pc files created to use
the Libs[.private] form. It is probably not something that will be accepted
by upstreams, but I guess we could try.

Does this make sense? Am I actually stating to grasp this stuff?
-- 
R. Kevin Oberman, Network Engineer
E-mail: rkober...@gmail.com
___
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


Re: Problems dealing with ports use of pkgconf

2013-11-02 Thread Tijl Coosemans
On Sat, 2 Nov 2013 12:05:12 -0700 Kevin Oberman wrote:
 On Fri, Nov 1, 2013 at 1:57 AM, Tijl Coosemans t...@freebsd.org wrote:
 On Wed, 30 Oct 2013 11:46:30 -0700 Kevin Oberman wrote:
 I have run into a dilemma in regards to the use of pkgconf in ports. Here
 is what has bitten me:
 To allow sftp to get files, multimedia/vlc uses libssh2. libssh2, in
 turn, uses openssl or the GNU crypto library.
 If i have installed securith/openssl, all is well, but I don't want of
 need the security/openssl port.
 If I have not installed openssl from ports, vlc fails! Here is why:

 libssh2 creates a .pc file to allow other packages to know whether it
 uses openssl or libgcrypt. this is a nice thing, but it makes the
 common assumption that openssl is only there if the package has been
 installed.
 I believe that is is the case for Linux.  Not so for FreeBSD. vlc uses
 pkgconf to check on whether all required libraries are installed for
 libssh2. I finds that libssh2 requires libssl:
 Requires.private: libssl,libcrypto
 It then checks to see if these are installed. Since libssl is not
 installed, it bails on the error. (I believe that it shoudl be
 Required: rather than Requires.private:, but that has no impact on
 the problem.

 Since FreeBSD ports have already checked the dependencies before
 building a port, I think such checks should be removed from ports, but
 I'm not familiar enough with the real-world implications of this to
 know if it is the right way to go. If it is, I'll can submit a patch
 for vlc. I suspect, after reading the developers comments, that
 libssh2 developers will not want to remove their recent changes in
 this area.

 This line:

 Requires.private: libssl,libcrypto

 Would have to be changed into:

 Libs.private: -lssl -lcrypto

 See http://people.freedesktop.org/~dbn/pkg-config-guide.html

 (Maintainer CCed)
 
 Tijl,
 
 Thanks so much. After reading  the documentation at freedesktop.org, I was
 still rather unclear on some details. The friendly presentation in that
 link is much clearer, especially the choice between plain and private
 forms which was a bit fuzzy to me.
 
 Now to this specific issue. It appears that this is specific to non-Linux
 ports. With Linux it is safe to assume that libssl and libcrypto both
 support .pc files, making  Requires.private appropriate. Since the base
 system libssl and libcrypto are not packages on FreeBSD, converting libssh2
 (and other ports that use pkg-config and these libraries, if any), the
 ports should probably be modified to switch the .pc files created to use
 the Libs[.private] form. It is probably not something that will be accepted
 by upstreams, but I guess we could try.
 
 Does this make sense? Am I actually stating to grasp this stuff?

Yes.  But we also have an openssl port which does provide .pc files.
Libs.private should work for both base system and ports openssl though.
___
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


Re: Problems dealing with ports use of pkgconf

2013-11-01 Thread Tijl Coosemans
On Wed, 30 Oct 2013 11:46:30 -0700 Kevin Oberman wrote:
 I have run into a dilemma in regards to the use of pkgconf in ports. Here
 is what has bitten me:
 To allow sftp to get files, multimedia/vlc uses libssh2. libssh2, in turn,
 uses openssl or the GNU crypto library.
 If i have installed securith/openssl, all is well, but I don't want of need
 the security/openssl port.
 If I have not installed openssl from ports, vlc fails! Here is why:
 
 libssh2 creates a .pc file to allow other packages to know whether it uses
 openssl or libgcrypt. this is a nice thing, but it makes the common
 assumption that openssl is only there if the package has been installed. I
 believe that is is the case for Linux.  Not so for FreeBSD. vlc uses
 pkgconf to check on whether all required libraries are installed for
 libssh2. I finds that libssh2 requires libssl:
 Requires.private: libssl,libcrypto
 It then checks to see if these are installed. Since libssl is not
 installed, it bails on the error. (I believe that it shoudl be Required:
 rather than Requires.private:, but that has no impact on the problem.
 
 Since FreeBSD ports have already checked the dependencies before building a
 port, I think such checks should be removed from ports, but I'm not
 familiar enough with the real-world implications of this to know if it is
 the right way to go. If it is, I'll can submit a patch for vlc. I suspect,
 after reading the developers comments, that libssh2 developers will not
 want to remove their recent changes in this area.

This line:

Requires.private: libssl,libcrypto

Would have to be changed into:

Libs.private: -lssl -lcrypto

See http://people.freedesktop.org/~dbn/pkg-config-guide.html

(Maintainer CCed)
___
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


Problems dealing with ports use of pkgconf

2013-10-30 Thread Kevin Oberman
I have run into a dilemma in regards to the use of pkgconf in ports. Here
is what has bitten me:
To allow sftp to get files, multimedia/vlc uses libssh2. libssh2, in turn,
uses openssl or the GNU crypto library.
If i have installed securith/openssl, all is well, but I don't want of need
the security/openssl port.
If I have not installed openssl from ports, vlc fails! Here is why:

libssh2 creates a .pc file to allow other packages to know whether it uses
openssl or libgcrypt. this is a nice thing, but it makes the common
assumption that openssl is only there if the package has been installed. I
believe that is is the case for Linux.  Not so for FreeBSD. vlc uses
pkgconf to check on whether all required libraries are installed for
libssh2. I finds that libssh2 requires libssl:
Requires.private: libssl,libcrypto
It then checks to see if these are installed. Since libssl is not
installed, it bails on the error. (I believe that it shoudl be Required:
rather than Requires.private:, but that has no impact on the problem.

Since FreeBSD ports have already checked the dependencies before building a
port, I think such checks should be removed from ports, but I'm not
familiar enough with the real-world implications of this to know if it is
the right way to go. If it is, I'll can submit a patch for vlc. I suspect,
after reading the developers comments, that libssh2 developers will not
want to remove their recent changes in this area.
-- 
R. Kevin Oberman, Network Engineer
E-mail: rkober...@gmail.com
___
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