Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Aug 2005 10:36:17 +0300
From:      Vasil Dimov <vd@datamax.bg>
To:        Adam Weinberger <adamw@magnesium.net>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: The right way to depend on a package's extra feature
Message-ID:  <20050805073617.GB60681@sinanica.bg.datamax>
In-Reply-To: <42F310D2.7020200@magnesium.net>
References:  <20050805070513.GA60681@sinanica.bg.datamax> <42F310D2.7020200@magnesium.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--ADZbWkCsHQ7r3kzd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 05, 2005 at 03:10:10AM -0400, Adam Weinberger wrote:
> Vasil Dimov wrote:
> >Hi list,
> >
> >What it the right way to make a port that depends on other port, but
> >that other port must be built with some extra feature?
> >
> >For example, imagine we have port "A" that installs
> >/foo/bar/great_feature only if it is build with
> >'make WITH_GREAT_FEATURE=3Dyes'
> >
> >Then we have port "B" that happens to depend on /foo/bar/great_feature.
> >
> >You see, there are two problems here:
> >
> >1. We cannot pass WITH_GREAT_FEATURE=3Dyes via the RUN_DEPENDS technolog=
y,
> >   only the target may be specified: RUN_DEPENDS=3D/file:portdir:target
> >   needed command: make -C portdir WITH_GREAT_FEATURE=3Dyes target
> >
> >2. Port A may have already been installed without WITH_GREAT_FEATURE=3Dy=
es
> >   This will cause make WITH_GREAT_FEATURE=3Dyes install in A's dir to f=
ail
> >   with error "already installed"
> >   needed command: portupgrade -f -m WITH_GREAT_FEATURE=3Dyes /var/db/pk=
g/A
> >   (huh! we used portupgrade, not very nice...)
> >
> >Any suggestions? Did I miss something?
>=20
> I have that same problem with deskutils/gourmet. It needs a metakit=20
> built with python support, but python support is disabled by default.=20
> You can see what I've done as a kludge in deskutils/gourmet/Makefile,=20
> but the best solution would be to separate metakit into a master/slave
> port thing so you can just depend on metakit-python and be done with it.
>=20
> Does this parallel your situation any?
>=20

Yes, but I am looking for solution that:
* does not change the port we depend on (in your case metakit)
* does not devolve the flow-control to the user saying "I cannot manage
  with this situation, you have to do manually this and this".

--ADZbWkCsHQ7r3kzd
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----

iD8DBQFC8xbwFw6SP/bBpCARAlgVAKCDkHpb1V55vhGRhQLmocOMlf448gCgv8uQ
luxp66edevM/VkVZOlpRg1g=
=cYYd
-----END PGP SIGNATURE-----

--ADZbWkCsHQ7r3kzd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050805073617.GB60681>