On 2012/08/06 13:13, David Coppa wrote: > On Mon, Aug 6, 2012 at 1:04 PM, Stuart Henderson <s...@spacehopper.org> wrote: > > On 2012/08/06 12:31, David Coppa wrote: > >> On Mon, Aug 6, 2012 at 12:27 PM, Stuart Henderson <st...@openbsd.org> > >> wrote: > >> > On 2012/08/06 04:07, David Coppa wrote: > >> >> > >> >> Hi all, > >> >> > >> >> This is (again) my update for security/pcsc-lite, plus the new port > >> >> for security/ccid. > >> >> > >> >> Please have a look at them, I'd like to get these in... > >> > > >> > Are the hacks really necessary? > >> > >> Yes, It still checks for pcsc-lite using pkg-config during configure > >> stage, > > > > That looks like a normal dependency though (well actually I would do > > LIB_DEPENDS + WANTLIB on libpcsclite, even though it will be marked > > Extra, to make sure any API/ABI changes trigger a package update). > > > > ccid builds ok if you rm patch-configure_in patch-src_Makefile_in > > as long as pcsc-lite is installed. > > > >> so the circular dependency is still here portswise speaking... > > > > Only if you have RUN_DEPENDS=security/ccid in pcsc-lite, but isn't > > that what they fixed? > > > > Certainly pcscd starts up without ccid installed. It whines about > > missing lib/pcsc/drivers but that can just be created by pcsc-lite > > in post-install. > > > > The "problem" is I'd like to have security/gnupg2 to use pcsc-lite > (I've a working patch for this too). > > So what you're suggesting is: > > making pcsc-lite to not depend on ccid > having ccid depending on pcsc-lite
Yes. AIUI: - pcsc-lite provides the common library and a daemon - other software uses the pcsc-lite library - pcsc-lite talks to the hardware via a dlopen()d driver, be it ccid, openct, or some vendor-specific thing So there's an obvious parallel in database middleware. pcsc-lite is like DBI, ccid is like a DBD driver, let's call it DBD::Foo. You wouldn't hack DBD::Foo to let it build without DBI installed and then make DBI RUN_DEPENDS on DBD::Foo... > At this point I can have security/gnupg2 depending on security/ccid > instead of security/pcsc-lite... It probably makes more sense to do ccid|openct doesn't it? Where there are alternatives that's usually the way we handle such things with the database drivers. Or just let it depend on pcsc-lite and leave the installation of ccid as a documentation issue.