heapdict implements the MutableMapping ABC, meaning it works pretty much like a
regular Python dict. It's designed to be used as a priority queue, where items
are added and consumed as follows:
hd = heapdict()
hd[obj1] = priority1
hd[obj2] = priority2
# ...
(obj, priority) = hd.popitem()
Compared to an ordinary dict, a heapdict has the following differences:
- popitem():
Remove and return the (key, priority) pair with the lowest priority, instead
of a random object.
- peekitem():
Return the (key, priority) pair with the lowest priority, without removing it.
Unlike the Python standard library's heapq module, the heapdict supports
efficiently changing the priority of an existing object (often called "decrease-
key" in textbooks). Altering the priority is important for many algorithms such
as Dijkstra's Algorithm and A*.
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 py39-heapdict listed in the above command, you can pick from the names under the Packages section.
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 )
devel: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* <jkoshy@FreeBSD.org>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron H. K. Diep <ahkdiep@gmail.com>
* Aaron Hurt <ahurt@anbcs.com>
* Abel Chow <abel_chow@yahoo.com>
* Adam McLaurin
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
Add py-heapdict 1.0.1
heapdict implements the MutableMapping ABC, meaning it works pretty much like a
regular Python dict. It's designed to be used as a priority queue, where items
are added and consumed as follows:
hd = heapdict()
hd[obj1] = priority1
hd[obj2] = priority2
# ...
(obj, priority) = hd.popitem()
Compared to an ordinary dict, a heapdict has the following differences:
- popitem():
Remove and return the (key, priority) pair with the lowest priority, instead
of a random object.
- peekitem():
Return the (key, priority) pair with the lowest priority, without removing it.
Unlike the Python standard library's heapq module, the heapdict supports
efficiently changing the priority of an existing object (often called "decrease-
key" in textbooks). Altering the priority is important for many algorithms such
as Dijkstra's Algorithm and A*.
WWW: https://github.com/DanielStutzbach/heapdict