Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Aug 2017 05:06:10 +0000
From:      bugzilla-noreply@freebsd.org
To:        python@FreeBSD.org
Subject:   [Bug 213636] math/py-matplotlib: Fails to build with python3
Message-ID:  <bug-213636-21822-DyhypKcapE@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-213636-21822@https.bugs.freebsd.org/bugzilla/>
References:  <bug-213636-21822@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213636

--- Comment #10 from Kubilay Kocak <koobs@FreeBSD.org> ---
(In reply to rsmith from comment #9)

The word 'work' was specifically and intentionally not used, to focus just =
on
whether or not the USES=3Dpython:<version-spec> is incorrect as it relates =
to
what matplotlib is supposed to support (per upstream), not whether other
factors (default options or other issues/bugs) prevent that from being true=
 at
a certain point in time or in certain conditions (downstream).

Keep in mind that USES=3Dpython:<version-spec> is a declarative specifier (=
port
supports this/these versions), not an imperative one (use this version)

Looking back, ports r426883 (update to 1.5.3) states:

- Additionally, 1.5.3 version doesn't build with python-3.X because
  'import gtk' which the build tries fails in python3. Therefore, python:2.

Based on this and on my reading of this issue (which may be incorrect or
incomplete), this was and is an incorrect (at a minimum, imprecise) warrant
and/or method for restricting builds to 2.7.

1) If the presence (or non-presence) or a build configuration (OPTION or
OPTIONs in this case) prevents building with a particular version, then the
restriction should be limited/scoped to that build option or build options,=
 not
globally.

2) If a python package ('upstream python package' is meant here, not 'freeb=
sd
package') supports Python 2 and 3 builds, then the default configuration (r=
ead:
OPTIONS_DEFAULTS) of the port and it's dependencies should support building
with 2/3 by default.

Accordingly, and at a minimum:

1) USES=3Dpython:<version-spec> should be relaxed and be made to correctly
reflect that matplotlib supports both Python 2 & 3.=20

2) The OPTIONS_DEFAULTS of this port should be modified to work with Python=
 2
and 3 builds (if that is indeed possible).

(1) and (2) alone are probably insufficient to ensure a good user experienc=
e,
if certain combinations of OPTIONS must be enabled/disabled to produce a va=
lid
Python 3 build environment, so:

If certain options are mutually exclusive (in that some prevent Python 2 or=
 3
builds), then OPTIONS_RADIO's or conditional blocks should be added that ch=
eck
for valid/invalid options combinations and inform the user with appropriate
BROKEN/IGNORE/other methods when incompatible options/configurations are
selected.

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-213636-21822-DyhypKcapE>