[Bug 237952] mail/notmuch: port still has build dependency python27

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue May 21 01:05:47 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237952

Kubilay Kocak <koobs at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |timur at FreeBSD.org
           See Also|                            |https://bugs.freebsd.org/bu
                   |                            |gzilla/show_bug.cgi?id=2237
                   |                            |61

--- Comment #4 from Kubilay Kocak <koobs at FreeBSD.org> ---
The talloc port is currently set to limit Python support to 2.7, which was
added in ports r454556 ("Fix too broad Python specification, cut down to 2.7
explicitly.) where it previously declared 2.7+, but why is was too broad is not
detailed.

Looking for previous issues in Bugzilla, it appears bug 223761 was the
originator of limiting it to 2.x.

Building talloc after removing only the 2.7 restriction, results in a build
error as follows:

===>  Configuring for talloc-2.1.14
Traceback (most recent call last):
  File "buildtools/bin/waf", line 75, in <module>
    import Scripting
  File
"/wrkdirs/usr/ports/devel/talloc/work/talloc-2.1.14/third_party/waf/wafadmin/Scripting.py",
line 146
    except Utils.WafError, e:
                         ^
SyntaxError: invalid syntax

See Also: https://trac.macports.org/ticket/30617 (and my other google results)

The port also uses USES=waf (but does *not* specify WAF_CMD), which contains
the following:

.if !${USES:Mpython*}
python_ARGS=    2.7,build
.include "${USESDIR}/python.mk"
.endif

Upstream says Python 2 and 3 are supported [1], so I don't know why this is
limited to 2.7 either.

The bundled waf script (WRKSRC/buildtools/bin) is "./waf --version waf 1.5.19
(9709M)"

waf moved to Python 3 syntax by defaultin:

NEW IN WAF 1.6.0
----------------

General:
* Python 3 syntax by default (runs unmodified for 2.6, 2.7, 3.0 and 3.1)


There is an additional section after USES is set in the port:

# XXX: This is a gross hack to make port use both Python 2.7+ and 3.3+
# This is not officially supported, use at your own risk
.if defined(WITH_SAMBA4_PYTHON3) && ${WITH_SAMBA4_PYTHON3:M3\.[0-9]}
<snip>

which allows the user to specify those variables and add 'additional' python
version support via ./configure:

--extra-python=PYTHON
build selected libraries for the specified additional version of Python
(example: --extra-python=/usr/bin/python3)

[1] https://gitlab.com/ita1024/waf/  "Python compatibility: cPython 2.5 to 3.x,
Jython 2.5, IronPython, and Pypy"

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list