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 py312-gdbm listed in the above command, you can pick from the names under the Packages section.
python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc
EXT_SUFFIX, according to PEP 3149, refers to the full tag and
extension for compiled extension module objects, eg .cpython-311.so,
.cpython-313t.so, etc. We do not use the correct semantic meaning,
and this usage becomes ambiguous and confusing when tags do not
match between bytecode and compiled extension module objects.
Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's
specification of a magic tag, which consists of implementation name
and shorthand version only. This is meant for bytecode and other
files containing this tag in their filename that do not depend on
a specific Python ABI for the same version. Chase all existing
consumers.
(Only the first 15 lines of the commit message are shown above )
databases/py-gdbm: fix build with Python 3.12+
Certain internal headers are included unconditionally starting with
Python 3.12, but this should have been built with the appropriate
preprocessor macros for internal headers set anyway.
PR: 286298
Event: Kitchener-Waterloo Hackathon 202506
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>
Revert "*/py-{gdbm,sqlite3,tkinter}: switch from distutils to setuptools"
This reverts commit 7446740638e7d833fde0962e71ef440a6af3c749.
The change is not valid as setuptools have deprecated setup.py,
while distutils will be supported in existing point releases.
Python 3.12 support will require different solution.
PR: 268283
*/py-{gdbm,sqlite3,tkinter}: switch from distutils to setuptools
For python modules which come from python itself, switch from
distutils (no longer present in python 3.12) to setuptools, fixing
these mudules for python 3.12.
PR: 268283
Approved by: vishwin (python@)
Mk: switch from PYTHON_PORTVERSION to PYTHON_DISTVERSION
This brings python framework in consistense with handbook recommendations
to prefer DISTVERSION and simplifies adding prerelease versions of
python
PR: 255013
Differential Revision: https://reviews.freebsd.org/D29418
Exp-run by: antoine
Approved by: wen@, no objection from python@ or portmgr@
Update `databases/gdbm' to version 1.18.1, an important bugfix release
which restores compatibility with old databases (version 1.8) and some
later versions which were built without mmap(2) support. Due to shlib
version change, bump port revisions of the consumer ports.
PR: 233059
Exp-run by: antoine
Approved by: maintainer (johans, numerous timeouts)
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 )
Add version specified ports of separated standard Python modules for
non-default Python versions:
- Add pyXY-{sqlite3,gdbm,tkinter} ports for generating binary packages
- Improve/add pkg-message to point users to install respective packages of
separated Python standard modules
- Add COMMENT to explicitly show the Python version that package should be
used with
- Simplify version-related PYTHON_* for lang/python35
Reviewed by: koobs
Differential Revision: https://reviews.freebsd.org/D4170
Switch PYTHON_REL from a 3 digits number to a 4 digits number to handle
python 2.7.10
Differential Revision: https://reviews.freebsd.org/D2639
Reviewed by: sunpoet, mva
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
Convert the Python framework bits to USES=python.
Please use USES=python instead of USE_PYTHON.
USE_PYTHON=yes becomes USES=python
USE_PYTHON=2.7+ becomes USES=python:2.7+
USE_PYTHON_BUILD=3.3 becomes USES=python:3.3,build
...
A new PYTHON_FEATURES variable was added, which enables certain features for a
port and replaces some knobs at the same time;
PYTHON_FEATURES=distutils replaces USE_PYDISTUTILS
PYTHON_FEATURES=autoplist replaces PYDISTUTILS_AUTOPLIST
PYTHON_FEATURES=py3kplist replaces PYTHON_PY3K_PLIST_HACK
(Only the first 15 lines of the commit message are shown above )
databases/py-gdbm: Make install PREFIX-safe
Pass a PREFIX-safe Python library directory to Python --install arguments.
While I'm here:
- Re-order and sort USE(S) and PYDISTUTILS entries
- Whitespace alignment
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 )
- Install standard libraries separated as other ports to the same place
with other standard libraries (${PYTHON_LIBDIR}/lib-dynload)
- Improve consistency of the Makefile(s)
- Whitespace cleanup for the patches
- do not hardcode distfile extension for lang/python ports in bsd.python.mk
(PYTHON_DISTFILE variable)
- switch lang/python ports (and it's slaves) to tar.xz
I compared all the four pairs .tgz/.tar.xz and they have no content differences.
Discussed on: python@
Deprecate md5 in favour of sha256 checksums. md5 checksums will no longer
be generated or checked, and will be silently ignored for now. Also,
generalize the MD5_FILE macro to DISTINFO_FILO.
PR: 149657
Submitted by: rene
Approved by: portmgr
Tested on: pointyhat i386 7-exp
- Fix building with python3*
- Use checksum file under lang/python${PYTHON_SUFFIX}/,
for removal lang/python/distinfo
PR: ports/136199
Submitted by: lwhsu
Approved by: perky
- 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