Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
drop old quirks
To:
ports <ports@openbsd.org>
Date:
Tue, 11 Aug 2026 09:59:43 +0100

Download raw body.

Thread
I think we can probably drop quirks for handling direct updates from
7.0/7.1 at this point, any oks/objections?

(there are quite a few py->py3, so after this I'm considering cleaning
up the relevant PLISTs for conflict/pkgpath markers).

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/quirks/Makefile,v
diff -u -p -r1.1809 Makefile
--- Makefile	8 Aug 2026 20:04:47 -0000	1.1809
+++ Makefile	11 Aug 2026 08:52:57 -0000
@@ -3,7 +3,7 @@ CATEGORIES =	devel databases
 DISTFILES =
 
 # API.rev
-PKGNAME =	quirks-7.216
+PKGNAME =	quirks-7.217
 PKG_ARCH =	*
 MAINTAINER =	Marc Espie <espie@openbsd.org>
 
Index: files/Quirks.pm
===================================================================
RCS file: /cvs/ports/devel/quirks/files/Quirks.pm,v
diff -u -p -r1.1823 Quirks.pm
--- files/Quirks.pm	8 Aug 2026 20:04:47 -0000	1.1823
+++ files/Quirks.pm	11 Aug 2026 08:52:57 -0000
@@ -64,269 +64,6 @@ my $base_exceptions = {
 };
 
 my $stem_extensions = {
-# 7.0
-	'weboob' => 'woob',
-	'py-talloc' => 'py3-talloc',
-	'py-tdb' => 'py3-tdb',
-	'bijiben' => 'gnome-notes',
-	'connections' => 'gnome-connections',
-	'py-socketio-client' => 'py3-socketio-client',
-	'py-cycler' => 'py3-cycler',
-	'py-pyRFC3339' => 'py3-pyRFC3339',
-	'py-libarchive-c' => 'py3-libarchive-c',
-	'py-minimalmodbus' => 'py3-minimalmodbus',
-	'baresip-gtk2' => 'baresip-gtk',
-	'py-xlib' => 'py3-xlib',
-	'py-neovim' => 'py3-neovim',
-	'py-click-log' => 'py3-click-log',
-	'py-click-plugins' => 'py3-click-plugins',
-	'py-click-threading' => 'py3-click-threading',
-	'py-spark-parser' => 'py3-spark-parser',
-	'py-xdis' => 'py3-xdis',
-	'py-uncompyle6' => 'py3-uncompyle6',
-	'py-click' => 'py3-click',
-	'py-pyinotify' => 'py3-pyinotify',
-	'py-virtualdisplay' => 'py3-virtualdisplay',
-	'py-meld3' => 'py3-meld3',
-	'py-cryptography_vectors' => 'py3-cryptography_vectors',
-	'py-boto' => 'py3-boto3',
-	'py3-boto' => 'py3-boto3',
-	'py-paramiko' => 'py3-paramiko',
-	'py-nxos' => 'py3-nxos',
-	'py-scp' => 'py3-scp',
-	'py-bcrypt' => 'py3-bcrypt',
-	'py-iso8601' => 'py3-iso8601',
-	'py-asn1crypto' => 'py3-asn1crypto',
-	'py-asn1' => 'py3-asn1',
-	'py-snmp' => 'py3-snmp',
-	'py-PyNaCl' => 'py3-PyNaCl',
-	'py-websocket-client' => 'py3-websocket-client',
-	'libmesode' => 'libstrophe',
-	'py-stem' => 'py3-stem',
-# 7.1
-	'py-jsonschema' => 'py3-jsonschema',
-	'py-CherryPy' => 'py3-CherryPy',
-	'py-IP' => 'py3-IP',
-	'py-PySMT' => 'py3-PySMT',
-	'py-aes' => 'py3-aes',
-	'py-affine' => 'py3-affine',
-	'py-beaker' => 'py3-beaker',
-	'py-betamax' => 'py3-betamax',
-	'py-bleach' => 'py3-bleach',
-	'py-bottle' => 'py3-bottle',
-	'py-cached-property' => 'py3-cached-property',
-	'py-cheroot' => 'py3-cheroot',
-	'py-cookies' => 'py3-cookies',
-	'py-country' => 'py3-country',
-	'py-coveralls' => 'py3-coveralls',
-	'py-curl' => 'py3-curl',
-	'py-eapi' => 'py3-eapi',
-	'py-fasteners' => 'py3-fasteners',
-	'py-feedgenerator' => 'py3-feedgenerator',
-	'py-fields' => 'py3-fields',
-	'py-formencode' => 'py3-formencode',
-	'py-ftpdlib' => 'py3-ftpdlib',
-	'py-graphviz' => 'py3-graphviz',
-	'py-html5lib' => 'py3-html5lib',
-	'py-httplib2' => 'py3-httplib2',
-	'py-icalendar' => 'py3-icalendar',
-	'py-jinja2' => 'py3-jinja2',
-	'py-mako' => 'py3-mako',
-	'py-mistune' => 'py3-mistune',
-	'py-mpmath' => 'py3-mpmath',
-	'py-netaddr' => 'py3-netaddr',
-	'py-netifaces' => 'py3-netifaces',
-	'py-num2words' => 'py3-num2words',
-	'py-objgraph' => 'py3-objgraph',
-	'py-paho-mqtt' => 'py3-paho-mqtt',
-	'py-parsedatetime' => 'py3-parsedatetime',
-	'py-path.py' => 'py3-path.py',
-	'py-pcapy' => 'py3-pcapy',
-	'py-pf' => 'py3-pf',
-	'py-pgpdump' => 'py3-pgpdump',
-	'py-polib' => 'py3-polib',
-	'py-portend' => 'py3-portend',
-	'py-potr' => 'py3-potr',
-	'py-prettytable' => 'py3-prettytable',
-	'py-pyaml' => 'py3-pyaml',
-	'py-pykwalify' => 'py3-pykwalify',
-	'py-radix' => 'py3-radix',
-	'py-redis' => 'py3-redis',
-	'py-repoze-lru' => 'py3-repoze-lru',
-	'py-repoze-profile' => 'py3-repoze-profile',
-	'py-repoze-who' => 'py3-repoze-who',
-	'py-requests-aws4auth' => 'py3-requests-aws4auth',
-	'py-requests-futures' => 'py3-requests-futures',
-	'py-requests-mock' => 'py3-requests-mock',
-	'py-requests-toolbelt' => 'py3-requests-toolbelt',
-	'py-rrdtool' => 'py3-rrdtool',
-	'py-ruamel.yaml' => 'py3-ruamel.yaml',
-	'py-scrypt' => 'py3-scrypt',
-	'py-selenium' => 'py3-selenium',
-	'py-simplesoap' => 'py3-simplesoap',
-	'py-soupsieve' => 'py3-soupsieve',
-	'py-spdx' => 'py3-spdx',
-	'py-spdx-lookup' => 'py3-spdx-lookup',
-	'py-tempita' => 'py3-tempita',
-	'py-unidecode' => 'py3-unidecode',
-	'py-uritemplate' => 'py3-uritemplate',
-	'py-vobject' => 'py3-vobject',
-	'py-waitress' => 'py3-waitress',
-	'py-webencodings' => 'py3-webencodings',
-	'py-xmltodict' => 'py3-xmltodict',
-	'py-jaraco-functools' => 'py3-jaraco-functools',
-	'py-logilab-common' => 'py3-logilab-common',
-	'py-memcached' => 'py3-memcached',
-	'py-tempora' => 'py3-tempora',
-	'py-redland' => 'py3-redland',
-	'py-GitPython' => 'py3-GitPython',
-	'py-ICU' => 'py3-ICU',
-	'py-MarkupSafe' => 'py3-MarkupSafe',
-	'py-PEG2' => 'py3-PEG2',
-	'py-PyPDF2' => 'py3-PyPDF2',
-	'py-ana' => 'py3-ana',
-	'py-anytree' => 'py3-anytree',
-	'py-appdirs' => 'py3-appdirs',
-	'py-argcomplete' => 'py3-argcomplete',
-	'py-argh' => 'py3-argh',
-	'py-audio' => 'py3-audio',
-	'py-axolotl-curve25519' => 'py3-axolotl-curve25519',
-	'py-backcall' => 'py3-backcall',
-	'py-biplist' => 'py3-biplist',
-	'py-bitstring' => 'py3-bitstring',
-	'py-blessings' => 'py3-blessings',
-	'py-blist' => 'py3-blist',
-	'py-bsddb3' => 'py3-bsddb3',
-	'py-cairocffi' => 'py3-cairocffi',
-	'py-cffi' => 'py3-cffi',
-	'py-characteristic' => 'py3-characteristic',
-	'py-cheetah' => 'py3-cheetah',
-	'py-clint' => 'py3-clint',
-	'py-colored' => 'py3-colored',
-	'py-configobj' => 'py3-configobj',
-	'py-cooldict' => 'py3-cooldict',
-	'py-cssutils' => 'py3-cssutils',
-	'py-cstruct' => 'py3-cstruct',
-	'py-cymruwhois' => 'py3-cymruwhois',
-	'py-daemonize' => 'py3-daemonize',
-	'py-decorator' => 'py3-decorator',
-	'py-defusedxml' => 'py3-defusedxml',
-	'py-demjson' => 'py3-demjson',
-	'py-dicttoxml' => 'py3-dicttoxml',
-	'py-discid' => 'py3-discid',
-	'py-dispatcher' => 'py3-dispatcher',
-	'py-dnslib' => 'py3-dnslib',
-	'py-docopt' => 'py3-docopt',
-	'py-easyprocess' => 'py3-easyprocess',
-	'py-entrypoints' => 'py3-entrypoints',
-	'py-filebytes' => 'py3-filebytes',
-	'py-filelock' => 'py3-filelock',
-	'py-flaky' => 'py3-flaky',
-	'py-flexmock' => 'py3-flexmock',
-	'py-frozendict' => 'py3-frozendict',
-	'py-gitdb' => 'py3-gitdb',
-	'py-greenlet' => 'py3-greenlet',
-	'py-ipython_genutils' => 'py3-ipython_genutils',
-	'py-iso3166' => 'py3-iso3166',
-	'py-iso639' => 'py3-iso639',
-	'py-isodate' => 'py3-isodate',
-	'py-isort' => 'py3-isort',
-	'py-jellyfish' => 'py3-jellyfish',
-	'py-jmespath' => 'py3-jmespath',
-	'py-magic' => 'py3-magic',
-	'py-markdown' => 'py3-markdown',
-	'py-mccabe' => 'py3-mccabe',
-	'py-minimock' => 'py3-minimock',
-	'py-mox3' => 'py3-mox3',
-	'py-msgpack' => 'py3-msgpack',
-	'py-munch' => 'py3-munch',
-	'py-nose-warnings-filters' => 'py3-nose-warnings-filters',
-	'py-nosexcover' => 'py3-nosexcover',
-	'py-odbc' => 'py3-odbc',
-	'py-olefile' => 'py3-olefile',
-	'py-pandocfilters' => 'py3-pandocfilters',
-	'py-parallel' => 'py3-parallel',
-	'py-pathspec' => 'py3-pathspec',
-	'py-pbkdf2' => 'py3-pbkdf2',
-	'py-peewee' => 'py3-peewee',
-	'py-phonenumbers' => 'py3-phonenumbers',
-	'py-pickleshare' => 'py3-pickleshare',
-	'py-progress' => 'py3-progress',
-	'py-progressbar' => 'py3-progressbar',
-	'py-pyprof2calltree' => 'py3-pyprof2calltree',
-	'py-pyte' => 'py3-pyte',
-	'py-rencode' => 'py3-rencode',
-	'py-robotframework' => 'py3-robotframework',
-	'py-rfc6555' => 'py3-rfc6555',
-	'py-send2trash' => 'py3-send2trash',
-	'py-setuptools_scm_git_archive' => 'py3-setuptools_scm_git_archive',
-	'py-setuptools_trial' => 'py3-setuptools_trial',
-	'py-sh' => 'py3-sh',
-	'py-simpleeval' => 'py3-simpleeval',
-	'py-simplegeneric' => 'py3-simplegeneric',
-	'py-smmap' => 'py3-smmap',
-	'py-socks' => 'py3-socks',
-	'py-sql' => 'py3-sql',
-	'py-stdnum' => 'py3-stdnum',
-	'py-straight.plugin' => 'py3-straight.plugin',
-	'py-test-expect' => 'py3-test-expect',
-	'py-test-forked' => 'py3-test-forked',
-	'py-test-relaxed' => 'py3-test-relaxed',
-	'py-test-subtesthack' => 'py3-test-subtesthack',
-	'py-testpath' => 'py3-testpath',
-	'py-tld' => 'py3-tld',
-	'py-tox' => 'py3-tox',
-	'py-uv' => 'py3-uv',
-	'py-vcversioner' => 'py3-vcversioner',
-	'py-voluptuous' => 'py3-voluptuous',
-	'py-wrapt' => 'py3-wrapt',
-	'py-wstools' => 'py3-wstools',
-	'py-xcbgen' => 'py3-xcbgen',
-	'py-xlsxwriter' => 'py3-xlsxwriter',
-	'py-yamllint' => 'py3-yamllint',
-	'py-yapf' => 'py3-yapf',
-	'py-sqlalchemy' => 'py3-sqlalchemy',
-	'py-flup' => 'py3-flup',
-	'py-feedparser' => 'py3-feedparser',
-	'apertium-af-nl' => 'apertium-afr-nld',
-	'apertium-ca-it' => 'apertium-cat-ita',
-	'apertium-en-ca' => 'apertium-eng-cat',
-	'apertium-es-ast' => 'apertium-spa-ast',
-	'apertium-es-ca' => 'apertium-spa-cat',
-	'apertium-id-ms' => 'apertium-ind-zlm',
-	'apertium-is-en' => 'apertium-isl-eng',
-	'apertium-is-sv' => 'apertium-isl-swe',
-	'apertium-mk-bg' => 'apertium-mkd-bul',
-	'apertium-mk-en' => 'apertium-mkd-eng',
-	'apertium-pt-ca' => 'apertium-por-cat',
-	'pinentry-gtk2' => 'pinentry-gnome3',
-	'sxiv' => 'nsxiv',
-	'geoclue' => 'geoclue2',
-	'py-extras' => 'py3-extras',
-	'py-fixtures' => 'py3-fixtures',
-	'py-pbr' => 'py3-pbr',
-	'py-testtools' => 'py3-testtools',
-	'py-pyusb' => 'py3-pyusb',
-	'py-atomicwrites' => 'py3-atomicwrites',
-	'py-attrs' => 'py3-attrs',
-	'py-coverage' => 'py3-coverage',
-	'py-dateutil' => 'py3-dateutil',
-	'py-freezegun' => 'py3-freezegun',
-	'py-hypothesis' => 'py3-hypothesis',
-	'py-more-itertools' => 'py3-more-itertools',
-	'py-pluggy' => 'py3-pluggy',
-	'py-py' => 'py3-py',
-	'py-test' => 'py3-test',
-	'py-test-benchmark' => 'py3-test-benchmark',
-	'py-test-cov' => 'py3-test-cov',
-	'py-test-mock' => 'py3-test-mock',
-	'py-test-runner' => 'py3-test-runner',
-	'py-setuptools_scm' => 'py3-setuptools_scm',
-	'ssvnc-viewer' => 'tigervnc',
-	'py-tz' => 'py3-tz',
-	'py-pretend' => 'py3-pretend',
-	'py-mock' => 'py3-mock',
-	'gmic-qt-krita' => 'krita-gmic-plugin',
 # 7.2
 	'tracker-miners' => 'tracker3-miners',
 	'tracker' => 'tracker3',
@@ -553,215 +290,6 @@ sub setup_obsolete_reason
 # want to put regexps as well in there (see the terraform or hs entries
 # for instance)
 setup_obsolete_reason(
-# 7.0
-	3 => qr{^ruby26-},
-	3 => 'mailpile',
-	7 => 'p5-Geo-GDAL',
-	3 => 'gnome-latex',
-	3 => 'p5-Puppet-Tidy',
-	6 => 'kf5-icons-baloo',
-	3 => 'canto',
-	6 => 'py-mini-amf',
-	6 => 'py3-mini-amf',
-	9 => 'qucs-s',
-	3 => 'qt4',
-	3 => 'qt4-examples',
-	3 => 'qt4-html',
-	3 => 'qt4-mysql',
-	3 => 'qt4-postgresql',
-	3 => 'qt4-sqlite2',
-	3 => 'qt4-tds',
-	1 => 'antlr3',
-	6 => 'enigmail',
-	6 => 'enigmail-seamonkey',
-	4 => 'google-compute-engine',
-	3 => 'bzr',
-	3 => 'bzr-svn',
-	6 => 'libvstr',
-# 7.1
-	0 => 'cue',
-	13 => 'py-SOAPpy',
-	13 => 'py-ao',
-	13 => 'py-backports-abc',
-	13 => 'py-backports-functools-lru-cache',
-	13 => 'py-backports-lzma',
-	13 => 'py-backports-shutil-get-terminal-size',
-	13 => 'py-backports-ssl-match-hostname',
-	13 => 'py-binplist',
-	13 => 'py-bytecodeassembler',
-	13 => 'py-cddb',
-	13 => 'py-editdist',
-	13 => 'py-efilter',
-	13 => 'py-faulthandler',
-	13 => 'py-fpconst',
-	13 => 'py-functools32',
-	13 => 'py-gdata',
-	13 => 'py-guppy',
-	13 => 'py-hachoir-core',
-	13 => 'py-hachoir-metadata',
-	13 => 'py-hachoir-parser',
-	13 => 'py-jonpy',
-	13 => 'py-jsonrpclib',
-	13 => 'py-lzo',
-	13 => 'py-milter',
-	13 => 'py-monotonic',
-	13 => 'py-mox',
-	13 => 'py-mxDateTime',
-	13 => 'py-pdf',
-	13 => 'py-pyro',
-	13 => 'py-pysha3',
-	13 => 'py-python2-pythondialog',
-	13 => 'py-recaptcha-client',
-	13 => 'py-ruamel.ordereddict',
-	13 => 'py-singledispatch',
-	13 => 'py-storm',
-	13 => 'py-subprocess32',
-	13 => 'py-sybase',
-	13 => 'py-symboltype',
-	13 => 'py-xmlrunner',
-	13 => 'py-xmpppy',
-	13 => 'py-yenc',
-	13 => 'py-zsi',
-	3 => 'tilecache',
-	13 => 'py-configparser',
-	13 => 'py-decoratortools',
-	13 => 'py-paste',
-	13 => 'py-paste-deploy',
-	13 => 'py-paste-script',
-	13 => 'py-selectors2',
-	13 => 'py-wsgiutils',
-	13 => 'py-xml',
-	13 => 'py-backports',
-	3 => 'ORBit2',
-	3 => 'libbonobo',
-	3 => 'libgnome',
-	3 => 'mono-gnome',
-	3 => 'libbonoboui',
-	3 => 'libgnomeui',
-	3 => 'gtetrinet',
-	3 => 'gtetrinet-themes',
-	3 => 'grhino',
-	3 => 'gbrainy',
-	3 => 'gnome-vfs2',
-	3 => 'gnome-mime-data',
-	3 => 'libIDL',
-	3 => 'chemical-mime-data',
-	3 => 'gmfsk',
-	13 => 'gmapcatcher',
-	3 => 'childsplay',
-	6 => 'py-texscythe',
-	6 => 'py-sqlalchemy-migrate',
-	6 => 'py3-sqlalchemy-migrate',
-	13 => 'rawdog',
-	13 => 'charm',
-	0 => 'ktsuss',
-	11 => 'apertium-ht-en',
-	7 => 'pear-Auth',
-	7 => 'pear-Auth-HTTP',
-	7 => 'pear-Auth-SASL',
-	7 => 'pear-Cache',
-	7 => 'pear-Config',
-	7 => 'pear-Console-Table',
-	7 => 'pear-Date',
-	7 => 'pear-Date-Holidays',
-	7 => 'pear-Date-Holidays_Australia',
-	7 => 'pear-Date-Holidays_Austria',
-	7 => 'pear-Date-Holidays_Brazil',
-	7 => 'pear-Date-Holidays_Chile',
-	7 => 'pear-Date-Holidays_Croatia',
-	7 => 'pear-Date-Holidays_Czech',
-	7 => 'pear-Date-Holidays_Denmark',
-	7 => 'pear-Date-Holidays_Discordian',
-	7 => 'pear-Date-Holidays_EnglandWales',
-	7 => 'pear-Date-Holidays_Finland',
-	7 => 'pear-Date-Holidays_France',
-	7 => 'pear-Date-Holidays_Germany',
-	7 => 'pear-Date-Holidays_Iceland',
-	7 => 'pear-Date-Holidays_Ireland',
-	7 => 'pear-Date-Holidays_Italy',
-	7 => 'pear-Date-Holidays_Japan',
-	7 => 'pear-Date-Holidays_Netherlands',
-	7 => 'pear-Date-Holidays_Norway',
-	7 => 'pear-Date-Holidays_PHPdotNet',
-	7 => 'pear-Date-Holidays_Portugal',
-	7 => 'pear-Date-Holidays_Romania',
-	7 => 'pear-Date-Holidays_Russia',
-	7 => 'pear-Date-Holidays_SanMarino',
-	7 => 'pear-Date-Holidays_Serbia',
-	7 => 'pear-Date-Holidays_Slovenia',
-	7 => 'pear-Date-Holidays_Spain',
-	7 => 'pear-Date-Holidays_Sweden',
-	7 => 'pear-Date-Holidays_Turkey',
-	7 => 'pear-Date-Holidays_UNO',
-	7 => 'pear-Date-Holidays_USA',
-	7 => 'pear-Date-Holidays_Ukraine',
-	7 => 'pear-Date-Holidays_Venezuela',
-	7 => 'pear-File',
-	7 => 'pear-File-Find',
-	7 => 'pear-HTML-Page2',
-	7 => 'pear-HTML-Select',
-	7 => 'pear-HTML-Template_IT',
-	7 => 'pear-HTTP',
-	7 => 'pear-HTTP-Request',
-	7 => 'pear-HTTP-WebDAV-Server',
-	7 => 'pear-Log',
-	7 => 'pear-MIME-Type',
-	7 => 'pear-Mail',
-	7 => 'pear-Mail-Mime',
-	7 => 'pear-Mail-mimeDecode',
-	7 => 'pear-Net-DNS',
-	7 => 'pear-Net-DNS2',
-	7 => 'pear-Net-IDNA2',
-	7 => 'pear-Net-IMAP',
-	7 => 'pear-Net-IPv4',
-	7 => 'pear-Net-IPv6',
-	7 => 'pear-Net-LDAP',
-	7 => 'pear-Net-LDAP2',
-	7 => 'pear-Net-SMTP',
-	7 => 'pear-Net-Sieve',
-	7 => 'pear-Net-Socket',
-	7 => 'pear-Net-URL',
-	7 => 'pear-Net-URL2',
-	7 => 'pear-Net-URL_Mapper',
-	7 => 'pear-SOAP',
-	7 => 'pear-Services-Weather',
-	7 => 'pear-Services-oEmbed',
-	7 => 'pear-System-Command',
-	7 => 'pear-Validate',
-	7 => 'pear-XML-Parser',
-	7 => 'pear-XML-RSS',
-	7 => 'pear-XML-Serializer',
-	7 => 'pear-XML-Tree',
-	3 => 'luacrypto',
-	13 => 'skytools',
-	13 => 'pgloader',
-	7 => 'php-markdown',
-	7 => 'php-predis',
-	5 => 'virtuoso',
-	3 => 'upobsd',
-	4 => 'waagent',
-	3 => 'slim',
-	3 => 'slim-themes',
-	5 => 'ocaml-biniou',
-	5 => 'ocaml-easy-format',
-	5 => 'libdsm',
-	8 => 'direvent',
-	3 => 'climm',
-	13 => 'spe',
-	13 => 'py-Checker',
-	3 => 'ssvnc',
-	11 => 'netshot',
-	13 => 'py-contextlib2',
-	13 => 'py-linecache2',
-	13 => 'py-traceback2',
-	13 => 'py-unittest2',
-	13 => 'py-pathlib',
-	13 => 'py-pathlib2',
-	6 => 'py3-pathlib',
-	6 => 'py3-pathlib2',
-	13 => 'py-ipaddress',
-	13 => 'py-scandir',
-	3 => 'd-feet',
 # 7.2
 	3 => qr{^ruby27-},
 	3 => 'gnome-documents',
@@ -1109,12 +637,6 @@ setup_obsolete_reason(
 # these should be pkgnames, there was some hope that pkg_add might later
 # be able to act on these directly.
 my $obsolete_suggestion = {
-# 7.0
-	'gotweb' => 'gotwebd',
-	'compton' => 'picom',
-	'qucs-s' => [qw(xschem kicad)],
-# 7.1
-	'tilecache' => 'mapproxy',
 # 7.2
 	'exa' => 'eza',
 	'go-bootstrap' => 'go',
@@ -1152,7 +674,6 @@ my $obsolete_message = {
 	5 => "outdated and/or no longer required by other ports",
 	6 => "no longer useful",
 	7 => "removed in favor of using the language's package manager",
-	8 => "crashes in many different ways at runtime",
 	9 => "not working correctly",
 	10 => "other OS suggested, or see https://docs.gotosocial.org/en/latest/advanced/builds/nowasm/",
 	11 => "no longer packageable",