CVE and update status of the FreeBSD ports tree3,864 unaddressed CVEs in 671 portsAll times are CET
Port details

games/pysolfc 3.6.1

Solitaire game, written in Python and the successor of PySol

Port info

Maintainer
kai@FreeBSD.org
Packages
latest: 3.6.1
Upstream
up to date
Last update
to 3.6.1 · 2caf45d96f
Quarterly
2026Q4: 3.6.1
Formerly
games/PySolFC until 2009-03-19
WWW
https://pysolfc.sourceforge.io/
Links
cgit · VuXML

Install

Package
# pkg install pysolfc
installs 3.6.1 from latest; from quarterly (2026Q4) 3.6.1
Port
# cd /usr/ports/games/pysolfc && make install clean
# make -C /usr/ports/games/pysolfc config  # change options first
Size
59 MiB download · 81 MiB installed
Depends on
devel/gettext-runtime 1.0_1, devel/py-attrs 26.1.0, devel/py-configobj 5.0.9, devel/py-game 2.6.1_5, games/py-pysol-cards 0.24.0, graphics/py-pillow 12.3.0, lang/python312 3.12.15, x11-toolkits/py-tkinter 3.12.15_11
License
GPLv2+ and GPLv3+
Options
3 of 3 on in the package: NLS PILLOW SOUND
pkg-message
Shown after installing
Please note that only the default set of cards was installed.  If you would
like to install more cardsets, please take a look at the games/pysolfc-cardsets
port.
Shown after upgrading
Please note that the new version of PySolFC contains only a default set of
cards.  If you should miss one or more cardsets, you can set them up as
follows:

$ fetch https://github.com/shlomif/PySolFC-Cardsets/archive/refs/tags/2.0.tar.gz
$ tar xf 2.0.tar.gz
$ cp -r PySolFC-Cardsets-2.0/cardsets* ~/.PySolFC/cardsets/
Shown after upgrading
Since PySolFC 2.16 a new high resolution default display was introduced.  It
uses high resolution cardsets and scaling to offer an improved look on larger
monitors.

Please note that the new high-resolution options will not override your
currently selected options for existing users.  If you want to use the new
settings, you can delete or rename your options.cfg file.

Also note that because of these changes, upgrading your version of PySolFC
Cardsets is required even if you're using the minimal package.  If you are
installing from pkg/ports, this will be handled automatically.

If you're using the larger collection of cardsets, please use the following
steps to upgrade your cardsets:

$ mv ~/.PySolFC/cardsets ~/.PySolFC/cardsets.bak
$ fetch https://netcologne.dl.sourceforge.net/project/pysolfc/PySolFC-Cardsets/PySolFC-Cardsets-2.1/PySolFC-Cardsets-2.1.tar.bz2
$ tar xf PySolFC-Cardsets-2.1.tar.bz2
$ mkdir -p ~/.PySolFC/cardsets
$ cp -r PySolFC-Cardsets-2.1/cardset-* ~/.PySolFC/cardsets/
$ rm -r ~/.PySolFC/cardsets.bak
Shown after upgrading
Additional cardsets are now also available via the games/pysolfc-cardsets
port in the FreeBSD ports tree.

A manual installation of the additional cardsets via several steps, as
described a while ago, should therefore no longer be necessary.

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 163.6.13.6.1–
FreeBSD 153.6.13.6.1–
FreeBSD 143.6.13.6.13.6.1

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 153.6.13.6.1–
FreeBSD 143.6.13.6.13.6.1

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 3.6.1.

Fixed (0)

No VuXML entries for this package.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (60)

Kai Knoblich (kai) · 3.6.1 MFH 2026Q3 ✓
games/pysolfc: Update to 3.6.1

* The main tarball is now all lowercase, thus update the relevant bits
  and remove WRKSRC, which no longer needs to be explicitly set.

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-3.6.1/NEWS.asciidoc

MFH:		2026Q3
2caf45d96f
Kai Knoblich (kai) · 3.6.0
games/pysolfc: Update to 3.6.0

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-3.6.0/NEWS.asciidoc
c3f98a4927
Rene Ladan (rene) · 3.4.1_1
all: bump PORTREVISION after updating graphics/libyuv

Using the Tools/scripts/bump_revision.pl script
b304d8ab18
Kai Knoblich (kai) · 3.4.1
games/pysolfc: Update to 3.4.1

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-3.4.1/NEWS.asciidoc

MFH:		2025Q3
8273e5d94b
Kai Knoblich (kai) · 3.4.0
games/pysolfc: Update to 3.4.0

* Switch to the PEP517 build framework while I'm here.

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-3.4.0/NEWS.asciidoc
c0dc899ce5
Charlie Li (vishwin) · 3.2.0_1
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.
06a08e69f3
Kai Knoblich (kai) · 3.2.0
games/pysolfc: Update to 3.2.0

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-3.2.0/NEWS.asciidoc
250d2260e5
Kai Knoblich (kai) · 3.1.0
games/pysolfc: Update to 3.1.0

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-3.1.0/NEWS.asciidoc
6ed9905167
Kai Knoblich (kai) · 3.0.0
games/pysolfc: Update to 3.0.0

* Update the installation/upgrade instructions in the pkg-message
  regarding the games/pysolfc-cardsets port, which has now been in the
  FreeBSD ports tree for some time and can be installed if further
  cardsets are to be used.

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-3.0.0/NEWS.asciidoc
22d9d5b485
Kai Knoblich (kai) · 2.21.0
games/pysolfc: Update to 2.21.0

* Although it's a beta release it adds compatibility [1]
  for Pillow 10.0.

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.21.0/NEWS.asciidoc

PR:		272523 [1]
Reported by:	sven.a.jonsson@bahnhof.se [1]
MFH:		No (beta release, Pillow >= 10 not present in 2023Q3)
57a6ad3984
Rene Ladan (rene) · 2.20.1
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>
3d9a815d9c
Alexey Dokuchaev (danfe) · 2.20.1
Fix some more needless usages of UTF-8 where ASCII is sufficient

While here, drop the quotes around <beat 'em up> added in commit
fa4ecd821fadb6 as I have been convinced they are not needed here.
0cff8bfa68
Kai Knoblich (kai) · 2.20.1
games/pysolfc: Update to 2.20.1

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.20.1/NEWS.asciidoc
05c132eafa
Christian Weisgerber (naddy) · 2.20.0_2
audio/opus: bump consumers after update to 1.4
feb1fa34f5
Gerald Pfeifer (gerald) · 2.20.0_1
*: Bump PORTREVISIONs for math/mpc update to 1.3.1
8d3e020ed0
Kai Knoblich (kai) · 2.20.0
games/pysolfc: Update to 2.20

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.20.0/NEWS.asciidoc
a5bfe22b5a
Kai Knoblich (kai) · 2.18.0
games/pysolfc: Update to 2.18.0

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.18.0/NEWS.asciidoc

MFH:		No (feature release)
cdaa01eb83
Stefan Eßer (se) · 2.16.0
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)
fb16dfecae
Stefan Eßer (se) · 2.16.0
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.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
b7f05445c0
Kai Knoblich (kai) · 2.16.0
games/pysolfc: Update to 2.16.0

Changelog since 2.14.1:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.16.0/NEWS.asciidoc

MFH:		No (feature release)
6e97fc35f6
Kai Knoblich (kai) · 2.14.1
games/pysolfc: Update to 2.14.1

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.14.1/NEWS.asciidoc

MFH:		2022Q1
c72673680e
Kai Knoblich (kai) · 2.14.0
games/pysolfc: Update to 2.14.0

* Pet portclippy while I'm here.

Changelog:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.14.0/NEWS.asciidoc
5077b1ed34
Kai Knoblich (kai) · 2.12.0
games/pysolfc: Update to 2.12.0

* Make the port less restrictive and thus distributable again by using
  a reduced collection of cardsets, which contains clearly defined
  licenses.  It's also bundled by upstream for the distributed binary
  packages of PySolFC.

* Introduce PILLOW/SOUND options which enables sound and enhanced
  graphics support.

Changelog since 2.6.2:

https://github.com/shlomif/PySolFC/blob/pysolfc-2.12.0/NEWS.asciidoc
f5fc27fb08
Kai Knoblich (kai) · 2.6.4_2
games/pysolfc: Fix runtime issues with Python 3.8+

* The deprecated function "time.clock()" has been removed in Python 3.8
  and "time.perf_counter()" should be used instead.

  Because updating to a newer version of PySolFC requires a bit more
  work, use a backport for now to remedy the runtime issues.

* Bump PORTREVISION due changed package contents.

PR:		256504
Reported by:	<sven.a.jonsson@bahnhof.se>
MFH:		2021Q2
91cf304355
Mathieu Arnold (mat) · 2.6.4_1
One more small cleanup, forgotten yesterday. Reported by:	lwhsu
cf118ccf87
Mathieu Arnold (mat) · 2.6.4_1
Remove # $FreeBSD$ from Makefiles.
305f148f48
Rene Ladan (rene) · 2.6.4_1
Follow up on graphics/py-pillow6 port removal in r559976

The graphics/py-pillow6 port was removed in r559976 as it was for
Python 2.7 only and no longer referenced in the default cases.
However it was still defined in Mk/Uses/python.mk in PY_PILLOW,
leaving a dangling reference.

Remove it from Mk/Uses/python.mk, leaving only the Python 3
version of that port, graphics/py-pillow, defined and bump the
minimal verion of Python to 3.6 for affected ports.
89b454230d
Antoine Brodin (antoine) · 2.6.4_1
Convert the tree to use PY_PILLOW

With hat:	portmgr
Originally submitted by:	kai
1bf9457272
Kai Knoblich (kai) · 2.6.4_1
graphics/py-pillow: Update to 7.0.0

* Repo-Copy the Pillow 6.2.2 release to graphics/py-pillow6 to retain
  backwards compatibility for Python 2 consumers as the Pillow 7.0.0 release
  dropped the support for Python 2.

* Apply conditional statements to use either Pillow 7.x or Pillow 6.x for
  consumers that can be built for Python 2 or newer.

* Exceptions are ports that can be built only for either Python 2 or
  Python 3.  For the first case, consumers are just assigned to the
  repo-copied graphics/py-pillow6.

* Also remove Pillow from BUILD_DEPENDS of math/py-PyWavelets as it is not
  listed in setup.py as a build dependency [1] and relax the version
  requirements of Pillow for www/py-wagtail.

Release Notes:

* https://pillow.readthedocs.io/en/latest/releasenotes/index.html

Backward Incompatible Changes (7.0.0):

* https://pillow.readthedocs.io/en/latest/releasenotes/7.0.0.html#backwards-incompatible-changes

Detailed Changelog:

* https://github.com/python-pillow/Pillow/blob/7.0.0/CHANGES.rst

PR:		243665
Submitted by:	sunpoet (patch for 7.0.0 and repo-copied version)
Reviewed by:	koobs [1], sunpoet
Approved by:	koobs (maintainer)
Differential Revision:	https://reviews.freebsd.org/D23713
74174b2661
Kai Knoblich (kai) · 2.6.4
games/pysolfc: Update to 2.6.4

Changelog:

* Fix for Freezes (with pygame >= 1.9.5)
* Fixed Three Peaks scoring

Approved by:	mentors (implicit)
bddb3cf8a8
Kai Knoblich (kai) · 2.6.3
games/pysolfc: Update to 2.6.3

While I'm here:
* Fix the symlink for "pysol01.png" by changing it from absolute to relative
  because source and target are both inside of ${PREFIX}.
* Update the WWW entry to save uneccessary redirects from HTTP to HTTPS.

Changelog since 2.4.0:

* Compatibility with Pillow 6.x
* Restore the "Save games geometry" feature
* Added a NEWS.asciidoc file
* Forbid illegal moves in Spider and some other variants
* Support for solving Golf using a solver
* Fixed a bug with cards that couldn't be moved or selected
* Ability to run the test suite without Python 2.x and/or pygtk
* Code cleanups

https://github.com/shlomif/PySolFC/blob/pysolfc-2.6.3/NEWS.asciidoc

Approved by:	mentors (implicit)
bac29828b5
Kai Knoblich (kai) · 2.4.0
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
6a4a5116bf
Steve Wills (swills) · 2.4.0
games/pysolfc: Update to 2.4.0

PR:		229275
Submitted by:	Kai <freebsd_ports@k-worx.org> (maintainer)
997d39b6cc
Wen Heping (wen) · 2.2.0
- Update to 2.2.0 - Pass maintainership to submitter - Add all LICENSE

PR:		227830
Submitted by:	freebsd_ports@k-worx.org
c1fc25af8c
Antoine Brodin (antoine) · 2.0_7
- Add explicit FLAVOR to a few dependencies - Remove FLAVOR from py-docutils dependency in comms/uhd, in this case   it needs the rst2html command, not the docutils module - Mark some ports as not compatible with python3
38308bbce8
Mathieu Arnold (mat) · 2.0_7
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
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
551be3c723
Dmitry Marakasov (amdmi3) · 2.0_7
- Fix LICENSE - Add LICENSE_FILE - Cosmetic fixes - Fix WWW:
26747cd312
Martin Wilke (miwi) · 2.0_7
- Fix Shebangs
efe3f7d37b
Rene Ladan (rene) · 2.0_6
Reset mva@'s ports, he handed in his ports bit.
e132ea6fc3
Mathieu Arnold (mat) · 2.0_6
${RM} already has -f.

PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
eabbfd75e3
Mathieu Arnold (mat) · 2.0_6
Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.

With hat:	portmgr
Sponsored by:	Absolight
4e1b79a0a6
Pawel Pekala (pawel) · 2.0_6
- Remove deprecated @dirrm - Add NO_ARCH - Convert to options helpers

Approved by:	portmgr blanket
e867a35291
William Grzybowski (wg) · 2.0_6
games/pysolfc: switch from py-imaging to py-pillow

- USES python

With hat:	python
Approved by:	portmgr (bdrewery, implicit)
75a9a4adb2
Marcus von Appen (mva) · 2.0_5
- Rename PYTHON_FEATURES to USE_PYTHON to comply to USE_PERL5 and to avoid a   conflict in behaviour with the read-only COMPILER_FEATURES knob - Fix the deprecated USE_PYTHON_BUILD and USE_PYTHON_RUN behaviour, which   usually should be mutually exclusive, but some ports include both knobs

Phabric:		D581
Recommended by:	danfe@, makc@
Reviewed by:	danfe, wg, antoine
Approved by:	portmgr
With hat:		python@
a382bbffeb
Marcus von Appen (mva) · 2.0_5
- Convert my ports to USES=python
0ed44f8feb
Adam Weinberger (adamw) · 2.0_5
Convert some more USE_BZIP2 to USES=tar:bzip2

Approved by:	portmgr (not really, but touches unstaged ports)
aeac01a4bb
Marcus von Appen (mva) · 2.0_5
- Enable stagedir support - Use PYDISTUTILS_AUTOPLIST
9a94fc9cf0
Dmitry Marakasov (amdmi3) · 2.0_5
- Remove manual creation and removal of share/applications, as it's now in the mtree (games category)

Approved by:	portmgr (bdrewery)
c87a56b351
Baptiste Daroussin (bapt) · 2.0_5
Add NO_STAGE all over the place in preparation for the staging support (cat: games)
c84e1cd8e6
Alex Kozlov (ak) · 2.0_5
- Convert USE_GETTEXT to USES (part 3)

Approved by:	portmgr (bapt)
e159824929