Commit graph

7 commits

Author SHA1 Message Date
Kubilay Kocak
99f578691b converters/py-rencode: Fails to configure if cython is installed
ports r482774 removed USE_PYTHON=cython, likely due to it (cython) not
being explicitly declared as a dependency in setup.py:*_requires.

However, setup.py conditionally builds with cython if it is installed, but
the 1.0.6 source distribution (sdist) does not contain a .pyx file to build
with.

This leads to a configure/build error when cython is installed:

  ValueError: 'rencode/rencode.pyx' doesn't match any files

Upstream commit 5c928f14567fabc9efb8bbb8ac5e0eef03c61541 [1] via issue
#25 [2] adds the required .pyx file to the sdist, which technically
addresses the "build with cython from the sdist" issue, but does not
fundamentally resolve the higher-level question: why build with cython when
a C source pre-processed by cython has already been produced for, and is
contained in, the source distribution.

A cython build (and the dependency on cython) does not appear to be
necessary, nor intended [3][4], nor recommended [5], even after #25 is
released, for sdist consumers.

The conditional code to build with cython should not be included in
setup.py, at least not as a default case, or without an explicit request
by the user to use cython, as an optional build method, for sdist consumers
(most downstream packagers and setuptools/pip users [6]).

This change removes the conditional check for Cython, leaving the standard
setuptools build_ext (with the packaged .c) file, as the build method.

While I'm here:

 - Canonicalise COMMENT (match seutp.py:description)
 - Add test target with post-patch target to make the tests dir a module
   usable by a setup.py test (via test_suite directive) target.
 - Honour CFLAGS: Remove forced (appended) -O3 arg from setup.py

[1] 5c928f1456
[2] https://github.com/aresch/rencode/pull/25
[3] setup.py: "Error: sdist requires cython module to generate `.c` file."
[4] dev-requirements.txt:Cython
[5] https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html#distributing-cython-modules
[6] https://github.com/aresch/rencode/issues/11

PR:		233561
Reported by:	John Hein <z7dr6ut7gs snkmail com>
Approved by:	koobs (python)
2018-11-28 05:51:49 +00:00
Sunpoet Po-Chuan Hsieh
a0edce2545 Update to 1.0.6
- Add LICENSE_FILE

Changes:	https://github.com/aresch/rencode/releases
2018-10-22 19:09:56 +00:00
Mathieu Arnold
551be3c723 Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored.  They will
  automatically get flavors (py27, py34, py35, py36) depending on what
  versions they support.

  There is also a USE_PYTHON=flavors for ports that do not use distutils
  but need FLAVORS to be set.  A USE_PYTHON=noflavors can be set if
  using distutils but flavors are not wanted.

  A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
  added to cope with Python ports that did not have the Python
  PKGNAMEPREFIX but are flavored.

  USES=python now also exports a PY_FLAVOR variable that contains the
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
2017-11-30 15:50:30 +00:00
Sunpoet Po-Chuan Hsieh
e9ba4c5727 Update to 1.0.5
- Update MASTER_SITES
- Strip shared library

Changes:	https://github.com/aresch/rencode/releases
2017-05-18 16:04:02 +00:00
Mathieu Arnold
7f4572eae4 Remove ${PORTSDIR}/ from dependencies, Mk and categories a, b, and c.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 13:29:15 +00:00
Jung-uk Kim
959d1cf9a6 Assign maintainership to python@.
Requested by:	koobs
2015-06-11 04:40:14 +00:00
Jung-uk Kim
bd8572b5a0 The rencode module is similar to bencode from the BitTorrent project.
For complex, heterogeneous data structures with many small elements,
r-encodings take up significantly less space than b-encodings.

This version of rencode is a complete rewrite in Cython to attempt to
increase the performance over the pure Python module written by Petru
Paler, Connelly Barnes et al.  Later, it was forked, enhanced, and
bundled with Deluge.  Now, it is re-packaged and distributed by Xpra.

WWW: https://github.com/aresch/rencode
2015-06-10 17:03:39 +00:00