The intbitset library provides a set implementation to store sorted unsigned
integers either 32-bits integers or an infinite range with fast set operations
implemented via bit vectors in a Python C extension for speed and reduced memory
usage.
The inbitset class emulates the Python built-in set class interface with some
additional specific methods such as its own fast dump and load marshalling
functions.
intbitset additionally support the pickle protocol, the iterator protocol and
can behave like a sequence that can be sliced. Because the integers are always
stored sorted, the first element of a non-empty set [0] is also the min()
integer and the last element [-1] is also the max() integer in the set.
When compared to the standard library set class, intbitset set operations such
as intersection, union and difference can be up to 5000 faster for dense integer
sets.
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-intbitset listed in the above command, you can pick from the names under the Packages section.
devel/py-intbitset: Switch to cython3
* While I'm here: Switch to the PEP517 buildframework as well and bump
PORTREVISION due package change.
PR: 289075
Reported by: vvd
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>
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 )
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)
devel/py-intbitset: Enable support for Python 3.7 and 3.8
* Update to a more recent commit which contains a regenerated version of
intbitset.c that was created with Cython 0.29.14 (not in Ports tree, yet).
With the regenerated code the package can now also be built with
Python 3.7 and 3.8.
PR: 233770 (related)
devel/py-intbitset: unbreak on ARM platforms
Tested with native build on BeagleBone Black (armv7, probably also builds on
armv6).
Approved by: mentors (implicit approval)
Change my maintainer email address to my new one at the FreeBSD project.
Reviewed by: miwi (mentor)
Approved by: miwi (mentor)
Differential Revision: https://reviews.freebsd.org/D19050
devel/py-intbitset: Patch out march/mtune/-O3 (Respect CFLAGS)
ports r476958 added BROKEN to non-x86 ARCH's due to:
fails to compile: the clang compiler does not support -march=core2
Ports must respect user CFLAGS, and beside this port appending its own flags,
overriding system/ports supplied CFLAGS, was also adding march/mtune flags,
the former of which was set to an x86 specific CPU.
This change patches out these flags to address the issue.
While I'm here, level up port compliance (strip shared libraries)
Approved by: portmgr (blanket, framework compliance)
MFH: 2018Q3
The intbitset library provides a set implementation to store sorted unsigned
integers either 32-bits integers or an infinite range with fast set operations
implemented via bit vectors in a Python C extension for speed and reduced memory
usage.
The inbitset class emulates the Python built-in set class interface with some
additional specific methods such as its own fast dump and load marshalling
functions.
intbitset additionally support the pickle protocol, the iterator protocol and
can behave like a sequence that can be sliced. Because the integers are always
stored sorted, the first element of a non-empty set [0] is also the min()
integer and the last element [-1] is also the max() integer in the set.
When compared to the standard library set class, intbitset set operations such
as intersection, union and difference can be up to 5000 faster for dense integer
sets.
WWW: https://github.com/inveniosoftware/intbitset/
PR: 229448
Submitted by: freebsd_ports@k-worx.org
Sponsored by: iXsystems Inc.