Setuptools is a fully-featured, actively-maintained, and stable library
designed to facilitate packaging Python projects, where packaging includes:
- Python package and module definitions
- Distribution package metadata
- Test hooks
- Project installation
- Platform-specific details
- Python 3 support
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py311-setuptools listed in the above command, you can pick from the names under the Packages section.
devel/py-setuptools: convert to USE_PYTHON=pep517
The previous method of building/bootstrapping setuptools via the
built-in distutils module no longer works in Python 3.12+ as it has
been removed [0]. Since USE_PYTHON=pep517 has its own bootstrapping
process, use this method to build setuptools.
This allows newer Python distributions/interpreters to land in the
tree, for the purpose of having buildable packages.
While here, remove a slew of dead code and adjust WWW
[0] https://peps.python.org/pep-0632/
PR: 271673, 274671
python: bump all USE_PYTHON=distutils consumers after RUN_DEPENDS removal
Any missed ports, feel free to bump.
Any ports that need setuptools at runtime can have the devel/py-setuptools
manually added back to RUN_DEPENDS, but understand that this practice
is deprecated; see CHANGES for details.
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
devel/py-setuptools: fix CVE-2022-40897 backporting a patch
This commit integrates one-line upstream fix for the problem:
https://github.com/pypa/setuptools/commit/43a9c9bfa6aa626ec2a22540bea28d2ca77964be.diff
Our port has not been fixed for several months making users unhappy.
It's upto the maintainer to update the port, this commit does not update it.
Bump PORTREVISION and adjust VuXML entry.
Due to the nature of the problem and fix there is no need in updating consumers.
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Mk/bsd.default-versions.mk: chase the switch to Python 3.9
Following the rules of
<https://wiki.freebsd.org/Python#Steps_to_switch_the_Python_default_version>
PR: 261703
devel/py-setuptools: update to 57.0.0 preserving old version
- Copy devel/py-setuptools to devel/py-setuptools44 (for Python 2.7 support)
- Update devel/py-setuptool to 57.0.0 (adding support for Python 3.10)
- Update Mk/Uses/python.mk to chose between py-setuptools and
py-setuptools44 based on Python version
This allows us to have latest setuptools and working Python 3.10
without breaking packages requiring Python 2 support for remaining
reports that require it.
Exp-run showed 3 ports failing to build with latest setuptools and
they were fixed.
PR: 256173
Exp-run by: antoine
Reviewed by: koobs (python)
Approved by: koobs (python)
Differential_Revision: https://reviews.freebsd.org/D30473
Mk: switch PYTHON_REL to 5 digits to support python 3.10.x
PR: 255013
Differential Revision: https://reviews.freebsd.org/D29418
Exp-run by: antoine
Approved by: wen@, no objection from python@ or portmgr@
*: Bump a few ports after the Python 3.7 to 3.8 switchover
Bump the PORTREVISION of the following ports as the concurrent symlinks
change with a new default version of Python:
* devel/py-setuptools
* lang/cython
* math/py-numpy
This is a follow-up to 6cd3db2d03cc544c5893e41dbbacd2000fcbd35a .
PR: 253815
Approved by: kai (python, maintainer)
Switch all pypi.python.org WWWs to a new PyPi home pypi.org where
they now redirect to anyway. All new urls checked to return 200,
I've fixed a couple of them in the process.
Approved by: portmgr blanket, mat
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
(Only the first 15 lines of the commit message are shown above )
Rename python setuptools ports to better match other python ports
Reviewed by: mat, sunpoet
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D9983
Comment out TEST_DEPENDS in devel/py-setuptools, this creates a dependency
loop in tinderbox and is probably the reason for lots of "finished" jobs
in redports
With hat: portmgr
Use setuptools for all Python ports.
Setuptools is the preferred method to manage Python distributions after
many changes to the packaging ecosystem over the past couple of years.
Only ports using USE_PYDISTUTILS= yes are affected by this commit, ports using
USE_PYDISTUTILS= easy_install remains the same however this usage is now
deprecated and should be converted to USE_PYDISTUTILS= yes.
Some Python distributions do not work with setuptools out of the box because
they extend the install command from distutils and not setuptools, and
so they need to be patched accordingly.
pip (which leverages setuptools) works around the issue by using eggs, however
we want to get rid of those as well, as support for "flat" installation is
(Only the first 15 lines of the commit message are shown above )
- Fix a bug in the egg-info installation code, that prevents
PYDISTUTILS_AUTOPLIST to create the correct entries for the plists
Reported by: many
Reviewed by: wg@
- Fixes: easy-install.pth contents lost on upgrade clobbering ports using it
PR: ports/118301
Submitted by: Douglas William Thrift <douglas@douglasthrift.net>
Approved by: lars.eggert@nokia.com (maintainer, timeout 3 years), gabor
(mentor)
- Make Python 2.5.1 the default Python version
- Add significantly better support in bsd.python.mk for working with
Python Eggs and the easy_install system
Tested by: pointyhat runs
Approved by: pav (portmgr)
Most work by: perky
Thanks to: pav