Skip site navigation (1)Skip section navigation (2)
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>