tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg-config-0.26 depends on glib2



On Thu, Jul 14, 2011 at 02:01:47PM -0500, Larson, Timothy E. wrote:
> > > http://www.openbsd.org/cgi-bin/man.cgi?query=pkg-config&sektion=1&form
> > > at=html
> > 
> > Look at the code.
> 
> You mean a dependency on perl isn't a good substitute for a dependency on 
> glib2?  :D
> 
> Still, with a good outline like that, it really shouldn't be hard to 
> implement in vanilla C.

Good luck.

Writing that in perl was a conscious decision.

Trimming down recursive dependencies to something *manageable* is totally
necessary, and not too easy to do without appropriate data structures.
Script languages with good text processing capabilities, and associative
dictionaries work wonders there...

Also, you need to be able to keep up with the Jones, e.g., implement new
shit the gnu guys put in pkg-config.

On the other hand, I don't see what the problem would be with having this
Perl-based: perl is not really bigger than all the essentials you need for
pkgsrc, and we're talking about *build-time dependencies*. There's nothing
that actually require pkg-config at runtime, to the best of my knowledge.

If you object to the code being perl, and you think that's impossible to
read and modify, well, read again ! perl is a modern language, you can make
things as readable as you want, *as we did*.

And hey, after all that, you can make your own decision. Please go ahead and
reinvent the wheel one more time. :-)


On another rather important point, GNU's pkg-config is *broken*. Its version
handling is thoroughly stupid, as it just jumbles numbers together and doesn't
enforce any kind of semantics.

We figured it out while implementing ours, and trying to compare
speex-1.2 vs. speex-1.2beta1 (or speex-1.2rc2, I don't remember).

Guess what ? those suffixes don't mean anything special to GNU's. But it's
still happy to accept them ! even though it will end up with
speex-1.2beta1 > speex-1.2 !!


Home | Main Index | Thread Index | Old Index