How to remove erroneous deps from pkgng

Baptiste Daroussin bapt at FreeBSD.org
Mon Jul 23 20:50:38 UTC 2012


On Mon, Jul 23, 2012 at 01:31:52PM +0000, Max Brazhnikov wrote:
> On Mon, 23 Jul 2012 04:37:08 +0300 Kimmo Paasiala wrote:
> > Looking at the bsd.kde4.mk it looks like there's not much logic to
> > detect the "right" kind of dependency. It seems to use suffixes _build
> > and _run to achieve the same effect as pkgconfig:build and
> > pkgconfig:run would have. 
> Right.
> 
> > It defaults to both build and run dependency
> > if no type is specified.
> This is not correct. For example, USE_KDE4= automoc4 (without any suffix) will 
> bring BUILD only dependency on devel/automoc4. The great majority ports don't 
> need ever possibility to run depend on build tools like automoc4, but kde4.mk 
> still provides it (the only consumer if automoc4_run can be IDE, I suppose).
> 
> The way USE_KDE4 is implemented allows to minimize the use of suffixes, that's 
> the right way in my understanding.
> 
> Max
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"

Here is a plan for pkg-config, I hope it will statisfy everyone.

First we need to get rid of pkg-config, since 0.26 we can't boostrap it anymore
because it depends on glib which depends on pkg-config.

Hopefully we have a viable alternative.

What I will do is :
step 1/ introduce a new pkgconf port (https://github.com/nenolod/pkgconf) which is
100% compatible with pkg-config and considers any incompatibility as a bug.

along with this, I will introduce a new MACRO:
http://people.freebsd.org/~bapt/USE_PKGCONFIG.diff

USE_PKGCONFIG= yes or USE_PKGCONFIG= build
will bring pkgconf only has a build dependency
USE_PKGCONFIG= run

will bring pkgconf has a run dependency (some things like ruby wrapper or perl
wrapper)

USE_PKGCONFIG= both 
will bring both run and build deps.

Why a MACRO, because some ports may need en environnement variable in
CONFIGURE_ENV
PKG_CONFIG=pkgconf do work correctly.

the USE_GNOME=	pkgconfig will be automatically add USE_PKGCONFIG= both

Yeah sorry for step one will keep pkgconf in both dependencies.

This is necessary because too much ports rely on one of their deps bringing
pkgconfig, and this concerns about 4k+ ports.

All the gnome one (mostly), all the xorg one (xproto bring pkgconfig) most of
the gtk ones, most of things depending on libxml2 and curl, from what I have
seen.

step 2/ advertise the maintainers to stop using USE_GNOME= pkgconfig but rather
switch to USE_PKGCONFIG, and do it actively.

setp 3/ drop USE_GNOME= pkgconfig from bsd.gnome.mk

when switching to USE_PKGCONFIG becare full about the ports that depend on your
ports to make sure, it doesn't expect pkgconfig being brought by your port.

regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20120723/72af24f4/attachment.pgp


More information about the freebsd-ports mailing list