Date: Fri, 05 Aug 2005 03:10:10 -0400 From: Adam Weinberger <adamw@magnesium.net> To: vd@datamax.bg Cc: freebsd-ports@freebsd.org Subject: Re: The right way to depend on a package's extra feature Message-ID: <42F310D2.7020200@magnesium.net> In-Reply-To: <20050805070513.GA60681@sinanica.bg.datamax> References: <20050805070513.GA60681@sinanica.bg.datamax>
next in thread | previous in thread | raw e-mail | index | archive | help
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=yes' > > 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=yes via the RUN_DEPENDS technology, > only the target may be specified: RUN_DEPENDS=/file:portdir:target > needed command: make -C portdir WITH_GREAT_FEATURE=yes target > > 2. Port A may have already been installed without WITH_GREAT_FEATURE=yes > This will cause make WITH_GREAT_FEATURE=yes install in A's dir to fail > with error "already installed" > needed command: portupgrade -f -m WITH_GREAT_FEATURE=yes /var/db/pkg/A > (huh! we used portupgrade, not very nice...) > > Any suggestions? Did I miss something? I have that same problem with deskutils/gourmet. It needs a metakit built with python support, but python support is disabled by default. You can see what I've done as a kludge in deskutils/gourmet/Makefile, 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. Does this parallel your situation any? # Adam -- Adam Weinberger adamw@magnesium.net || adamw@FreeBSD.org adamw@vectors.cx || adamw@gnome.org http://www.vectors.cx
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42F310D2.7020200>