tech-pkg archive

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

Re: CVS commit: pkgsrc/devel/hs-QuickCheck



From: Thomas Klausner <wiz%NetBSD.org@localhost>
Subject: Re: CVS commit: pkgsrc/devel/hs-QuickCheck
Date: Sat, 14 Feb 2015 09:31:24 +0100

> On Sat, Feb 14, 2015 at 04:57:28AM +0000, Masatake Daimon wrote:
>> Module Name:	pkgsrc
>> Committed By:	pho
>> Date:		Sat Feb 14 04:57:28 UTC 2015
>>
>> Modified Files:
>> 	pkgsrc/devel/hs-QuickCheck: Makefile buildlink3.mk
>>
>> Log Message:
>> Forgot to add a dependency on devel/hs-transformers. Bump revision
>>
>> I badly want buildlink for Haskell packages, though it's not very easy
>> to implement...
>
> What would be needed?
>  Thomas

The current "configure" phase for Haskell packages uses the global
package DB (e.g. /usr/pkg/lib/ghc-7.6.3/package.conf.d) to resolve
Haskell library dependencies, which is problematic because a pkgsrc
package with a missing dependency declaration can be built without
failure (just like my initially imported QuickCheck) when all of these
three conditions are met:

  * The package does not have an executable, only a library.

  * HASKELL_ENABLE_SHARED_LIBRARY is set to "no", i.e. only a static
    library is built and installed.

  * Dependencies that are missing from the Makefile have actually been
    installed into the system.

The solution is to create a temporary package DB and fill it only with
Haskell packages that are explicitly declared as dependency by pkgsrc
Makefile, somehow in the "buildlink" phase, and then use it in the
"configure" phase by running "./Setup configure
--package-db=/path/to/temporary-db".

And the problem arises here. How do we generate the temporary DB? It
could be easily done if *all* of the Haskell packages' buildlink3.mk
had a boilerplate target hooked to "do-buildlink" which registers the
package to the temporary DB. But having such a boilerplate is
something we'd like to avoid...

_______________________________________________________
 - PHO -                         http://cielonegro.org/
OpenPGP public key: 1024D/1A86EF72
Fpr: 5F3E 5B5F 535C CE27 8254  4D1A 14E7 9CA7 1A86 EF72

Attachment: pgp6AuzcmSXoY.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index