Hi René,

The purpose of the active_variants portgroup is to provide error messages
like the one you mentioned, after checking whether a certain variant was
used for a dependency. That's all it does. The only way I know of that you
could make opencv get installed with +qt5 in this context is to do "port
install kf5-digikam-devel +qt5" (whether that is a meaningful variant for
kf5-digikam-devel or not).

David

On Thu, Oct 27, 2016 at 3:15 AM, René J.V. Bertin <rjvber...@gmail.com>
wrote:

> Hi,
>
> Marko tells me he's been having issues with upgrading one of my KF5 ports
> that uses the active_variants portgroup to "depend" on variants of one of
> its dependencies.
>
> From our exchange:
>
> > > >> BUT that’s not all yet. Once also needs to select the +contrib
> variant,
> > > >> otherwise you have to run another loop of building this port!
> Annoying
> > > >> is
> > > >> the word. What’s the reason for this odd behaviour?
> > > >
> > > > There's little I can do about that. digiKam needs +qt5 (evidently)
> but
> > > > also +contrib. The only way to increase the chance that opencv is
> > > > installed with those variants by default is to add the variants to
> > > > digikam, but that doesn't make a lot of sense. This is due to the
> fact
> > > > that ports cannot depend on the variants of another port (unless they
> > > > have the same variant, but that's propagation, not dependance). They
> > > > can only raise an error if they detect that a dependency is installed
> > > > with the wrong variant(s).
>
> In short: digikam needs port:opencv with +qt5+contrib. I try to impose
> that using
>
> {{{
> PortGroup           active_variants 1.1
>
> depends_lib-append  port:opencv
> require_active_variants opencv qt5
> require_active_variants opencv contrib
> }}}
>
> From what I understand, Marko had opencv+qt5+contrib installed and lost
> those variants when port:opencv was upgraded.
>
> I'll leave it to him to post the exact command he used for installing or
> upgrading the kf5-digikam port which led to the variant issue, I only have
> a part of the trace:
>
> {{{
> --->  Fetching archive for opencv
> --->  Attempting to fetch opencv-3.1.0_4.darwin_15.x86_64.tbz2 from
> http://nue.de.packages.macports.org/opencv
> --->  Attempting to fetch opencv-3.1.0_4.darwin_15.x86_64.tbz2 from
> https://packages.macports.org/opencv
> --->  Attempting to fetch opencv-3.1.0_4.darwin_15.x86_64.tbz2 from
> http://lil.fr.packages.macports.org/opencv
> --->  Fetching distfiles for opencv
> --->  Verifying checksums for opencv
> --->  Extracting opencv
> --->  Applying patches to opencv
> --->  Configuring opencv
> --->  Building opencv
> --->  Staging opencv into destroot
> --->  Installing opencv @3.1.0_4
> --->  Activating opencv @3.1.0_4
> --->  Cleaning opencv
> --->  Fetching archive for kf5-digikam-devel
> Error: org.macports.archivefetch for port kf5-digikam-devel returned:
> opencv must be installed with +qt5.
> Please see the log file for port kf5-digikam-devel for details:
>     /opt/local/var/macports/logs/_Users_marko_WC_GIT_macstrop_
> kf5_kf5-digikam/kf5-digikam-devel/main.log
> }}}
>
> is there something wrong in my way of declaring the variant dependency, or
> is this to be expected?
>
> Thanks,
> René
> _______________________________________________
> macports-dev mailing list
> macports-dev@lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/macports-dev
>
_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to