SQLite is a library that provides a SQL-language database that
stores data in disk files without requiring a separate server
process. pysqlite provides a SQL interface compliant with the DB-API
2.0 specification described by PEP 249. This means that it should
be possible to write the first version of your applications using
SQLite for data storage. If switching to a larger database such as
PostgreSQL or Oracle is later necessary, the switch should be
relatively easy.
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-sqlite3 listed in the above command, you can pick from the names under the Packages section.
lang/python314: get port ready to ship
claim maintainership on the new port - not doing that with the
previous commit by wen@ to have a clear distinction who contributed
what.
- require archivers/zstd since it's part of the Python standard library:
https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-zstandard
- refresh Makefile.pre.in patch
- skip test_gdb without WITH_DEBUG
test_gdb has test_pretty_print, which requires debug symbols.
Skip it if WITH_DEBUG is not defined.
- drop --with-system-ffi configure option, which is no longer supported
and its behaviour is now the default
- move sqlite3 extension back into port
because the separate port fails to build
(mark the external python:-3.13)
PR: 282176
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-sqlite3: remove Python 2 support
No remaining consumers in the tree. This is to prepare for conversion
to USE_PYTHON=pep517, as none of such tooling works with Python 2.
PR: 268283
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.
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@)
databases/py-sqlite3: fix build with python 3.11
While here, add a simple smoke test which catches this kind of
problems and silence stripping.
PR: 265537
Submitted by: loader@FreeBSD.org
Approved by: maintainer timeout (2+ months)
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@
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@
Relax hardcoded paths to fix build with Python 3.8.7
Since r558913 Python 3.8 incorporates BPO-42604 [1] which changed the
shared libs naming scheme. This means "EXT_SUFFIX" is now derived from
SOABI and yields with Python 3.8 to ".cpython-38.so" instead of ".so".
The affected ports strip the libaries in the "post-install" target via
hardcoded path(s) and the build fails at the end because the new extension
is not expected at this place.
Remedy the issue by adding wildcards to these paths. This should also
prepare the ports for future Python releases, which will use the new shared
libs naming scheme.
[1] https://bugs.python.org/issue42604
PR: 252057
Reported by: John Kennedy
Reviewed by: fluffy, koobs
Approved by: koobs (python)
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 )
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
- 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
Add new port for python sqlite3 module.
This port installs a Python "standard" library version of pysqlite
which is provided by databases/py-pysqlite22 already. Because
sqlite3 module was introduced in Python 2.5, this port plays only
for 2.5 or laters.
See Also: http://docs.python.org/dev/lib/module-sqlite3.html