FreshPorts / freshports

The website part of FreshPorts
http://www.freshports.org/
BSD 2-Clause "Simplified" License
70 stars 24 forks source link

Cater for ports with multiple values in WWW: #434

Closed dlangille closed 1 year ago

dlangille commented 1 year ago

Code is mostly about exceptions. It seems we have 426 exceptions, out of 31328 entries. I noticed it with https://www.freshports.org/ftp/curl/ which has:

https://curl.se/%20%20https://github.com/curl/curl

I'd be happy for some to construct code to break stuff up like that.

That's code for 1.35% of ports.

dlangille commented 1 year ago

The data:

freshports.devgit=# select category || '/' || name as port, homepage from ports_active where homepage ilike 'http%http%' order by port;
                      port                      |                                                           homepage                                                            
------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------
 accessibility/rubygem-atk                      | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 archivers/c-blosc2                             | https://www.blosc.org/  https://github.com/Blosc/c-blosc2
 archivers/zstd                                 | https://facebook.github.io/zstd/  https://github.com/facebook/zstd
 astro/tclgeomap                                | https://web.archive.org/web/20130807000308/http://www.tkgeomap.org/
 astro/tkgeomap                                 | https://web.archive.org/web/20130807000308/http://www.tkgeomap.org/
 audio/sdl2_sound                               | https://icculus.org/SDL_sound/  https://github.com/icculus/SDL_sound
 benchmarks/httperf                             | https://github.com/httperf/httperf
 converters/osm2pgsql                           | https://osm2pgsql.org/  https://wiki.openstreetmap.org/wiki/Osm2pgsql  https://github.com/openstreetmap/osm2pgsql
 databases/pecl-couchbase                       | https://pecl.php.net/package/couchbase  https://github.com/couchbase/couchbase-php-client
 databases/rocksdb                              | https://rocksdb.org/  https://github.com/facebook/rocksdb
 databases/rubygem-activemodel60                | https://github.com/rails/rails/tree/main/activemodel  https://rubyonrails.org/
 databases/rubygem-activemodel61                | https://github.com/rails/rails/tree/main/activemodel  https://rubyonrails.org/
 databases/rubygem-activemodel70                | https://github.com/rails/rails/tree/main/activemodel  https://rubyonrails.org/
 databases/rubygem-activerecord60               | https://github.com/rails/rails/tree/main/activerecord  https://rubyonrails.org/
 databases/rubygem-activerecord61               | https://github.com/rails/rails/tree/main/activerecord  https://rubyonrails.org/
 databases/rubygem-activerecord70               | https://github.com/rails/rails/tree/main/activerecord  https://rubyonrails.org/
 deskutils/when                                 | https://www.lightandmatter.com/when/when.html  https://bitbucket.org/ben-crowell/when
 devel/aws-c-http                               | https://github.com/awslabs/aws-c-http
 devel/cpan-upload-http                         | https://metacpan.org/release/BRADFITZ/cpan-upload-http-2.4
 devel/cppcheck                                 | https://cppcheck.sourceforge.io/  https://github.com/danmar/cppcheck
 devel/cvschk                                   | http://web.archive.org/web/20121006163548/http://cvs.sslug.dk/cvs2html/
 devel/cvsgraph                                 | https://web.archive.org/web/20181111235708/http://www.akhphd.au.dk/~bertho/cvsgraph/
 devel/grpc                                     | https://grpc.io/  https://github.com/grpc/grpc
 devel/ois                                      | https://wgois.github.io/OIS/  https://github.com/wgois/OIS
 devel/osc                                      | https://en.opensuse.org/openSUSE:OSC  https://github.com/openSUSE/osc
 devel/p5-DateTime-Format-HTTP                  | https://metacpan.org/release/DateTime-Format-HTTP
 devel/p5-Test-Fake-HTTPD                       | https://metacpan.org/release/Test-Fake-HTTPD
 devel/pecl-mustache                            | https://pecl.php.net/package/mustache  https://github.com/jbboehr/php-mustache
 devel/phpunit10                                | https://phpunit.de/  https://github.com/sebastianbergmann/phpunit
 devel/phpunit9                                 | https://phpunit.de/  https://github.com/sebastianbergmann/phpunit
 devel/py-asttokens                             | https://pypi.org/project/asttokens/  https://github.com/gristlabs/asttokens
 devel/py-dulwich020                            | https://www.dulwich.io/  https://github.com/jelmer/dulwich
 devel/py-flake8                                | https://pypi.org/project/flake8/  https://github.com/PyCQA/flake8
 devel/py-flake8-builtins                       | https://pypi.org/project/flake8-builtins/  https://github.com/gforcada/flake8-builtins
 devel/py-flake8-docstrings                     | https://pypi.org/project/flake8-docstrings/  https://github.com/pycqa/flake8-docstrings
 devel/py-flake8-import-order                   | https://pypi.org/project/flake8-import-order/  https://github.com/PyCQA/flake8-import-order
 devel/py-flake8-quotes                         | https://pypi.org/project/flake8-quotes/  https://github.com/zheller/flake8-quotes/
 devel/py-geventhttpclient                      | https://github.com/geventhttpclient/geventhttpclient
 devel/py-http-prompt                           | https://github.com/httpie/http-prompt
 devel/py-lxml                                  | https://lxml.de/  https://github.com/lxml/lxml
 devel/py-mypy                                  | http://www.mypy-lang.org/  https://github.com/python/mypy
 devel/py-objgraph                              | https://mg.pov.lt/objgraph/  https://pypi.org/project/objgraph/  https://github.com/mgedmin/objgraph
 devel/py-poetry                                | https://python-poetry.org/  https://github.com/python-poetry/poetry
 devel/py-pycodestyle                           | https://pycodestyle.readthedocs.io/en/latest/  https://pypi.org/project/pycodestyle/  https://github.com/pycqa/pycodestyle
 devel/py-pydocstyle                            | https://www.pydocstyle.org/  https://pypi.org/project/pydocstyle/  https://github.com/PyCQA/pydocstyle/
 devel/py-pytest-aiohttp                        | https://github.com/aio-libs/pytest-aiohttp
 devel/py-pytest-canonical-data                 | https://pypi.org/project/pytest-canonical-data/  https://github.com/shuternay/pytest-canonical-data
 devel/py-pytest-datadir                        | https://pypi.org/project/pytest-datadir/  https://github.com/gabrielcnr/pytest-datadir
 devel/py-pytest-httpbin                        | https://github.com/kevin1024/pytest-httpbin
 devel/py-pytest-httpserver                     | https://github.com/csernazs/pytest-httpserver
 devel/py-pytest-regtest                        | https://gitlab.com/uweschmitt/pytest-regtest  https://pypi.org/project/pytest-regtest/
 devel/py-pytest-trio                           | https://pypi.org/project/pytest-trio/  https://github.com/python-trio/pytest-trio
 devel/py-qt6-qscintilla2                       | https://riverbankcomputing.com/software/pyqt  https://www.riverbankcomputing.com/software/qscintilla
 devel/py-sexpdata                              | https://pypi.org/project/sexpdata/  https://github.com/jd-boyd/sexpdata
 devel/py-tartiflette-aiohttp                   | https://github.com/tartiflette/tartiflette-aiohttp
 devel/py-unittest2pytest                       | https://pypi.org/project/unittest2pytest/  https://github.com/pytest-dev/unittest2pytest
 devel/py-xarray                                | https://xarray.dev/  https://github.com/pydata/xarray
 devel/py-yattag                                | https://www.yattag.org/  https://github.com/leforestier/yattag
 devel/rubygem-actionview60                     | https://github.com/rails/rails/tree/main/actionview  https://rubyonrails.org/
 devel/rubygem-actionview61                     | https://github.com/rails/rails/tree/main/actionview  https://rubyonrails.org/
 devel/rubygem-actionview70                     | https://github.com/rails/rails/tree/main/actionview  https://rubyonrails.org/
 devel/rubygem-activejob60                      | https://github.com/rails/rails/tree/main/activejob  https://rubyonrails.org/
 devel/rubygem-activejob61                      | https://github.com/rails/rails/tree/main/activejob  https://rubyonrails.org/
 devel/rubygem-activejob70                      | https://github.com/rails/rails/tree/main/activejob  https://rubyonrails.org/
 devel/rubygem-activesupport60                  | https://github.com/rails/rails/tree/main/activesupport  https://rubyonrails.org/
 devel/rubygem-activesupport61                  | https://github.com/rails/rails/tree/main/activesupport  https://rubyonrails.org/
 devel/rubygem-activesupport70                  | https://github.com/rails/rails/tree/main/activesupport  https://rubyonrails.org/
 devel/rubygem-cairo-gobject                    | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 devel/rubygem-gio2                             | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 devel/rubygem-glib2                            | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 devel/rubygem-gobject-introspection            | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 devel/rubygem-http_accept_language             | https://github.com/iain/http_accept_language/
 devel/rubygem-rack-mini-profiler               | https://miniprofiler.com/  https://github.com/MiniProfiler/rack-mini-profiler
 devel/stxxl                                    | https://stxxl.org/  https://github.com/stxxl/stxxl
 devel/xxl                                      | https://web.archive.org/web/20120106082715/http://www.zork.org/xxl/
 dns/libidn2                                    | https://www.gnu.org/software/libidn/#libidn2  https://gitlab.com/libidn/libidn2
 dns/pear-Net_DNS2                              | https://pear.php.net/package/Net_DNS2  https://github.com/mikepultz/netdns2
 dns/public_suffix_list                         | https://publicsuffix.org/  https://github.com/publicsuffix/list
 emulators/vba                                  | https://web.archive.org/web/20110718045837/http://vba.ngemu.com/
 emulators/xsystem35                            | https://web.archive.org/web/20121222144009/http://8ne.sakura.ne.jp:20008/chika/unitbase/xsys35/
 emulators/xzx                                  | https://web.archive.org/web/20150211123250/http://erik-kunze.de/xzx/
 ftp/curl                                       | https://curl.se/  https://github.com/curl/curl
 ftp/wmget                                      | https://web.archive.org/web/20160322141200/http://amtrickey.net/wmget/
 ftp/yafc                                       | https://web.archive.org/web/20180422134425/http://www.yafc-ftp.com/
 games/DDNet                                    | https://ddnet.tw/  https://github.com/ddnet/ddnet
 games/abbayedesmorts                           | https://locomalito.com/abbaye_des_morts.php  https://github.com/nevat/abbayedesmorts-gpl
 games/agame                                    | https://web.archive.org/web/20190410210052/http://zevv.nl/play/code/game/
 games/allacrost                                | https://web.archive.org/web/20201126135328/http://allacrost.org/
 games/billardgl                                | https://web.archive.org/web/20180527220530/http://www.billardgl.de/index-en.html  https://sourceforge.net/projects/billardgl/
 games/blackshadeselite                         | https://web.archive.org/web/20170521213338/http://home.gna.org/blackshadeselite/
 games/brainparty                               | https://web.archive.org/web/20170722185419/http://www.tuxradar.com/brainparty  https://launchpad.net/brainparty
 games/freebee                                  | https://freebee.fun/  https://github.com/freebee-game/console-client
 games/freedroidrpg                             | https://www.freedroid.org/  https://codeberg.org/freedroid/freedroid-src
 games/funnyboat                                | https://github.com/AMDmi3/funnyboat  https://funnyboat.sourceforge.net/
 games/gnujump                                  | https://jump.gnu.sinusoid.es/index.php?title=Main_Page  https://github.com/arximboldi/gnujump
 games/holotz-castle                            | https://web.archive.org/web/20130606213511/http://mainreactor.net/
 games/hyperrogue                               | https://roguetemple.com/z/hyper/  https://github.com/zenorogue/hyperrogue
 games/ivan                                     | https://attnam.com/  http://ivan.sourceforge.net/  https://github.com/Attnam/ivan
 games/jigzo                                    | https://web.archive.org/web/20110102231249/http://www.resorama.com/jigzo
 games/njam                                     | https://web.archive.org/web/20190405231140/http://njam.sourceforge.net/
 games/openbubbles                              | https://web.archive.org/web/20101126190910/http://www.freewebs.com/lasindi/openbubbles/
 games/pentobi                                  | https://pentobi.sourceforge.io/  https://github.com/enz/pentobi
 games/powder-toy                               | https://powdertoy.co.uk/  https://github.com/The-Powder-Toy/The-Powder-Toy
 games/powder-toy-devel                         | https://powdertoy.co.uk/  https://github.com/The-Powder-Toy/The-Powder-Toy
 games/rocksndiamonds-data                      | https://web.archive.org/web/20140110211740/http://www.bd-fans.com/RnD.html
 games/sdl-sopwith                              | https://github.com/fragglet/sdl-sopwith  https://sdl-sopwith.sourceforge.net/
 games/stratagus                                | https://stratagus.com/stratagus.html  https://github.com/Wargus/stratagus
 games/teeworlds                                | https://www.teeworlds.com/  https://github.com/teeworlds/teeworlds
 games/trimines                                 | https://web.archive.org/web/20120308223312/https://www.freewebs.com/trimines/
 games/wargus                                   | https://stratagus.com/  https://github.com/Wargus/wargus
 games/warmux                                   | https://web.archive.org/web/20170513192248/http://gna.org/projects/warmux/
 games/wop                                      | https://web.archive.org/web/20141218154118/http://wormsofprey.org/
 games/xtgyoretsu                               | https://saahriktu.org/games.html  https://github.com/Penguinum/xtgyoretsu-forked
 graphics/Hermes                                | http://web.archive.org/web/20061005045333/http://www.clanlib.org/hermes/
 graphics/gdal                                  | https://gdal.org/  https://github.com/OSGeo/gdal
 graphics/geos                                  | https://libgeos.org/  https://github.com/libgeos/geos
 graphics/jpeginfo                              | https://www.kokkonen.net/tjko/projects.html  https://github.com/tjko/jpeginfo
 graphics/py-gdal                               | https://gdal.org/  https://github.com/OSGeo/gdal
 graphics/py-pyglet                             | https://pypi.org/project/pyglet/  https://github.com/pyglet/pyglet
 graphics/py-pyglet1                            | https://pypi.org/project/pyglet/  https://github.com/pyglet/pyglet
 graphics/py-pyx                                | https://pyx-project.org/  https://github.com/pyx-project/pyx
 graphics/rubygem-clutter                       | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 graphics/rubygem-clutter-gdk                   | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 graphics/rubygem-clutter-gtk                   | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 graphics/rubygem-gdk_pixbuf2                   | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 graphics/rubygem-rsvg2                         | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 japanese/less                                  | http://web.archive.org/web/20070220213232/http://www25.big.or.jp/~jam/less
 java/apache-commons-httpclient                 | https://hc.apache.org/httpclient-3.x/
 java/sqlitejdbc                                | http://web.archive.org/web/20120721075310/http://www.zentus.com/sqlitejdbc/
 lang/cython                                    | https://cython.org/  https://github.com/cython/cython
 mail/rubygem-actionmailbox60                   | https://github.com/rails/rails/tree/main/actionmailbox  https://rubyonrails.org/
 mail/rubygem-actionmailbox61                   | https://github.com/rails/rails/tree/main/actionmailbox  https://rubyonrails.org/
 mail/rubygem-actionmailbox70                   | https://github.com/rails/rails/tree/main/actionmailbox  https://rubyonrails.org/
 mail/rubygem-actionmailer60                    | https://github.com/rails/rails/tree/main/actionmailer  https://rubyonrails.org/
 mail/rubygem-actionmailer61                    | https://github.com/rails/rails/tree/main/actionmailer  https://rubyonrails.org/
 mail/rubygem-actionmailer70                    | https://github.com/rails/rails/tree/main/actionmailer  https://rubyonrails.org/
 misc/biblical-curse                            | https://web.archive.org/web/20071226004947/http://shipoffools.com/curses/index.html
 misc/granulate                                 | https://web.archive.org/web/20021208171222/http://exe2bin.com/granulate/
 misc/pciids                                    | https://pci-ids.ucw.cz/  https://github.com/pciutils/pciids
 misc/pecl-timezonedb                           | https://pecl.php.net/package/timezonedb  https://github.com/php/pecl-datetime-timezonedb
 multimedia/bsdbktr_tvtune                      | https://web.archive.org/web/20050207003754/http://topfx.com/dist/bsdbktr_tvtune/
 multimedia/dvdauthor                           | https://dvdauthor.sourceforge.net/ https://github.com/ldo/dvdauthor
 multimedia/libmediainfo                        | https://mediaarea.net/en/MediaInfo  https://github.com/MediaArea/MediaInfoLib
 multimedia/libzen                              | https://mediaarea.net/en/MediaInfo  https://github.com/MediaArea/ZenLib
 multimedia/mediainfo                           | https://mediaarea.net/en/MediaInfo  https://github.com/MediaArea/MediaInfo
 multimedia/rubygem-clutter-gstreamer           | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 multimedia/rubygem-gstreamer                   | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 net-mgmt/ipv6calc                              | https://www.deepspace6.net/projects/ipv6calc.html  https://github.com/pbiering/ipv6calc
 net/http_ping                                  | https://www.acme.com/software/http_ping/
 net/httping                                    | https://github.com/folkertvanheusden/HTTPing
 net/httpry                                     | https://dumpsterventures.com/jason/httpry/
 net/ldapbrowser                                | https://web.archive.org/web/20081218031210/http://www.mcs.anl.gov/~gawor/ldap/
 net/p5-Acme-HTTP                               | https://metacpan.org/release/Acme-HTTP
 net/p5-Net-HTTP                                | https://metacpan.org/release/Net-HTTP
 net/p5-Net-HTTP-Spore                          | https://metacpan.org/release/Net-HTTP-Spore
 net/p5-Net-HTTP-Spore-Middleware-Header        | https://metacpan.org/release/Net-HTTP-Spore-Middleware-Header
 net/p5-Net-HTTPS-Any                           | https://metacpan.org/release/Net-HTTPS-Any
 net/p5-Net-HTTPS-NB                            | https://metacpan.org/release/Net-HTTPS-NB
 net/pear-Net_Sieve                             | https://pear.php.net/package/Net_Sieve  https://github.com/pear/Net_Sieve
 net/py-aiohttp-socks                           | https://pypi.org/project/aiohttp-socks/
 net/py-httpstat                                | https://github.com/reorx/httpstat
 net/py-ndg-httpsclient                         | https://pypi.org/project/ndg-httpsclient/
 net/rubygem-activestorage60                    | https://github.com/rails/rails/tree/main/activestorage  https://rubyonrails.org/
 net/rubygem-activestorage61                    | https://github.com/rails/rails/tree/main/activestorage  https://rubyonrails.org/
 net/rubygem-activestorage70                    | https://github.com/rails/rails/tree/main/activestorage  https://rubyonrails.org/
 net/rubygem-http-parser                        | https://github.com/cotag/http-parser
 net/rubygem-http_parser.rb                     | https://github.com/tmm1/http_parser.rb
 net/rubygem-httpauth                           | https://github.com/Manfred/HTTPauth
 net/rubygem-right_http_connection              | https://github.com/rightscale/right_http_connection
 net/tcpwatch                                   | https://web.archive.org/web/20111102010334/http://hathawaymix.org/Software/TCPWatch/
 net/tintin++                                   | https://tintin.mudhalla.net/  https://github.com/scandum/tintin
 net/uhttpmock                                  | https://gitlab.com/groups/uhttpmock
 net/vnstat                                     | https://humdi.net/vnstat/  https://github.com/vergoh/vnstat
 security/p5-Authen-Simple-HTTP                 | https://metacpan.org/release/Authen-Simple-HTTP
 security/pear-Auth_HTTP                        | https://pear.php.net/package/Auth_HTTP
 security/py-flask-httpauth                     | https://github.com/miguelgrinberg/flask-httpauth/
 security/py-google-auth-httplib2               | https://github.com/googleapis/google-auth-library-python-httplib2
 sysutils/enteruser                             | https://web.archive.org/web/20041211013021/http://www.daemonnews.org/199908/enteruser.html
 sysutils/fusefs-httpdirfs                      | https://github.com/fangfufu/httpdirfs
 sysutils/fusefs-httpfs                         | http://httpfs.sourceforge.net/
 sysutils/rubygem-httplog                       | https://github.com/trusche/httplog
 textproc/difftastic                            | https://difftastic.wilfred.me.uk/  https://github.com/Wilfred/difftastic
 textproc/p5-Net-Groonga-HTTP                   | https://metacpan.org/release/Net-Groonga-HTTP
 textproc/py-morse3                             | https://pypi.org/project/morse3/  https://github.com/Aayush9029/encodeDecode
 textproc/py-sphinxcontrib-httpdomain           | https://github.com/sphinx-contrib/httpdomain
 textproc/rubygem-actiontext60                  | https://github.com/rails/rails/tree/main/actiontext  https://rubyonrails.org/
 textproc/rubygem-actiontext61                  | https://github.com/rails/rails/tree/main/actiontext  https://rubyonrails.org/
 textproc/rubygem-actiontext70                  | https://github.com/rails/rails/tree/main/actiontext  https://rubyonrails.org/
 textproc/uncrustify                            | https://uncrustify.sourceforge.net/  https://github.com/uncrustify/uncrustify
 www/R-cran-httpuv                              | https://cran.r-project.org/web/packages/httpuv/
 www/apache24                                   | https://httpd.apache.org/
 www/bozohttpd                                  | http://www.eterna.com.au/bozohttpd/
 www/cpp-httplib                                | https://github.com/yhirose/cpp-httplib
 www/darkhttpd                                  | https://unix4lyfe.org/darkhttpd/
 www/dot-http                                   | https://github.com/bayne/dot-http
 www/htdigest                                   | https://httpd.apache.org/
 www/http-parser                                | https://github.com/nodejs/http-parser
 www/http_get                                   | https://www.acme.com/software/http_get/
 www/http_load                                  | https://www.acme.com/software/http_load/
 www/http_post                                  | https://www.acme.com/software/http_post/
 www/httpasyncclient                            | https://hc.apache.org/httpcomponents-asyncclient-4.1.x/
 www/httpclient                                 | https://hc.apache.org/httpcomponents-client-4.5.x/
 www/httpcore                                   | https://hc.apache.org/httpcomponents-core-4.4.x/
 www/httptunnel                                 | https://github.com/larsbrinkhoff/httptunnel/
 www/libmicrohttpd                              | https://www.gnu.org/software/libmicrohttpd/
 www/libnghttp2                                 | https://nghttp2.org/
 www/libnghttp3                                 | https://github.com/ngtcp2/nghttp3
 www/lighttpd                                   | https://www.lighttpd.net/
 www/lighttpd-mod_h264_streaming                | http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Lighttpd-Version2
 www/llhttp                                     | https://llhttp.org/
 www/lua-resty-http                             | https://github.com/ledgetech/lua-resty-http
 www/micro_httpd                                | https://www.acme.com/software/micro_httpd/
 www/mini_httpd                                 | https://www.acme.com/software/mini_httpd/
 www/mod_fcgid                                  | https://httpd.apache.org/mod_fcgid/
 www/mod_log_sql                                | http://www.outoforder.cc/projects/httpd/mod_log_sql/
 www/mod_umask                                  | http://www.outoforder.cc/projects/httpd/mod_umask/
 www/multiwatch                                 | https://redmine.lighttpd.net/projects/multiwatch/wiki
 www/nghttp2                                    | https://nghttp2.org/
 www/node                                       | https://nodejs.org/  https://github.com/nodejs/node
 www/node18                                     | https://nodejs.org/  https://github.com/nodejs/node
 www/node19                                     | https://nodejs.org/  https://github.com/nodejs/node
 www/npm                                        | https://www.npmjs.com/package/npm  https://github.com/npm/cli
 www/npm-node14                                 | https://www.npmjs.com/package/npm  https://github.com/npm/cli
 www/npm-node16                                 | https://www.npmjs.com/package/npm  https://github.com/npm/cli
 www/npm-node18                                 | https://www.npmjs.com/package/npm  https://github.com/npm/cli
 www/npm-node19                                 | https://www.npmjs.com/package/npm  https://github.com/npm/cli
 www/obhttpd                                    | https://github.com/koue/httpd
 www/p5-AnyEvent-HTTP                           | https://metacpan.org/release/AnyEvent-HTTP
 www/p5-AnyEvent-HTTP-LWP-UserAgent             | https://metacpan.org/release/AnyEvent-HTTP-LWP-UserAgent
 www/p5-AnyEvent-HTTPD                          | https://metacpan.org/release/AnyEvent-HTTPD
 www/p5-AnyEvent-ReverseHTTP                    | https://metacpan.org/release/AnyEvent-ReverseHTTP
 www/p5-Catalyst-Authentication-Credential-HTTP | https://metacpan.org/release/Catalyst-Authentication-Credential-HTTP
 www/p5-Catalyst-Engine-HTTP-Prefork            | https://metacpan.org/release/Catalyst-Engine-HTTP-Prefork
 www/p5-HTTP-AnyUA                              | https://metacpan.org/release/HTTP-AnyUA
 www/p5-HTTP-Async                              | https://metacpan.org/release/HTTP-Async
 www/p5-HTTP-Body                               | https://metacpan.org/release/HTTP-Body
 www/p5-HTTP-BrowserDetect                      | https://metacpan.org/release/HTTP-BrowserDetect
 www/p5-HTTP-Cache-Transparent                  | https://metacpan.org/release/HTTP-Cache-Transparent
 www/p5-HTTP-CookieJar                          | https://metacpan.org/release/HTTP-CookieJar
 www/p5-HTTP-Cookies                            | https://metacpan.org/release/HTTP-Cookies
 www/p5-HTTP-Cookies-Mozilla                    | https://metacpan.org/release/HTTP-Cookies-Mozilla
 www/p5-HTTP-Cookies-iCab                       | https://metacpan.org/release/HTTP-Cookies-iCab
 www/p5-HTTP-Cookies-w3m                        | https://metacpan.org/release/HTTP-Cookies-w3m
 www/p5-HTTP-DAV                                | https://metacpan.org/release/HTTP-DAV
 www/p5-HTTP-Daemon                             | https://metacpan.org/release/HTTP-Daemon
 www/p5-HTTP-Daemon-SSL                         | https://metacpan.org/release/HTTP-Daemon-SSL
 www/p5-HTTP-Date                               | https://metacpan.org/release/HTTP-Date
 www/p5-HTTP-Engine                             | https://metacpan.org/release/HTTP-Engine
 www/p5-HTTP-Engine-Middleware                  | https://metacpan.org/release/HTTP-Engine-Middleware
 www/p5-HTTP-Entity-Parser                      | https://search.mcpan.org/dist/HTTP-Entity-Parser/
 www/p5-HTTP-Exception                          | https://metacpan.org/release/HTTP-Exception
 www/p5-HTTP-HeaderParser-XS                    | https://metacpan.org/release/HTTP-HeaderParser-XS
 www/p5-HTTP-Headers-ActionPack                 | https://metacpan.org/pod/HTTP::Headers::ActionPack
 www/p5-HTTP-Headers-Fast                       | https://metacpan.org/release/HTTP-Headers-Fast
 www/p5-HTTP-Link-Parser                        | https://metacpan.org/release/HTTP-Link-Parser
 www/p5-HTTP-Lite                               | https://metacpan.org/release/HTTP-Lite
 www/p5-HTTP-MHTTP                              | https://metacpan.org/release/HTTP-MHTTP
 www/p5-HTTP-Message                            | https://metacpan.org/release/HTTP-Message
 www/p5-HTTP-MobileAgent                        | https://metacpan.org/release/HTTP-MobileAgent
 www/p5-HTTP-MobileAgent-Plugin-Charset         | https://metacpan.org/release/HTTP-MobileAgent-Plugin-Charset
 www/p5-HTTP-MobileAgent-Plugin-Locator         | https://metacpan.org/release/HTTP-MobileAgent-Plugin-Locator
 www/p5-HTTP-MultiPartParser                    | https://search.mcpan.org/dist/HTTP-MultiPartParser/
 www/p5-HTTP-Negotiate                          | https://metacpan.org/release/HTTP-Negotiate
 www/p5-HTTP-OAI                                | https://metacpan.org/dist/HTTP-OAI
 www/p5-HTTP-Parser                             | https://metacpan.org/release/HTTP-Parser
 www/p5-HTTP-Parser-XS                          | https://metacpan.org/release/HTTP-Parser-XS
 www/p5-HTTP-Proxy                              | https://metacpan.org/release/HTTP-Proxy
 www/p5-HTTP-ProxyPAC                           | https://metacpan.org/release/HTTP-ProxyPAC
 www/p5-HTTP-Recorder                           | https://metacpan.org/release/HTTP-Recorder
 www/p5-HTTP-Request-AsCGI                      | https://metacpan.org/release/HTTP-Request-AsCGI
 www/p5-HTTP-Request-Params                     | https://metacpan.org/release/HTTP-Request-Params
 www/p5-HTTP-Response-Encoding                  | https://metacpan.org/release/HTTP-Response-Encoding
 www/p5-HTTP-Router                             | https://metacpan.org/release/HTTP-Router
 www/p5-HTTP-Server-Simple                      | https://metacpan.org/release/HTTP-Server-Simple
 www/p5-HTTP-Server-Simple-Authen               | https://metacpan.org/release/HTTP-Server-Simple-Authen
 www/p5-HTTP-Server-Simple-PSGI                 | https://metacpan.org/release/HTTP-Server-Simple-PSGI
 www/p5-HTTP-Server-Simple-Recorder             | https://metacpan.org/release/HTTP-Server-Simple-Recorder
 www/p5-HTTP-Server-Simple-Static               | https://metacpan.org/release/HTTP-Server-Simple-Static
 www/p5-HTTP-Session                            | https://metacpan.org/release/HTTP-Session
 www/p5-HTTP-Session-State-MobileAgentID        | https://metacpan.org/release/HTTP-Session-State-MobileAgentID
 www/p5-HTTP-Session-Store-DBI                  | https://metacpan.org/release/HTTP-Session-Store-DBI
 www/p5-HTTP-Session2                           | https://metacpan.org/release/HTTP-Session2
 www/p5-HTTP-Simple                             | https://metacpan.org/release/HTTP-Simple
 www/p5-HTTP-SimpleLinkChecker                  | https://metacpan.org/release/HTTP-SimpleLinkChecker
 www/p5-HTTP-Size                               | https://metacpan.org/release/HTTP-Size
 www/p5-HTTP-Thin                               | https://metacpan.org/release/HTTP-Thin
 www/p5-HTTP-Throwable                          | https://metacpan.org/release/HTTP-Throwable
 www/p5-HTTP-Tiny                               | https://metacpan.org/release/HTTP-Tiny
 www/p5-HTTP-Tiny-Multipart                     | https://metacpan.org/release/HTTP-Tiny-Multipart
 www/p5-HTTP-Tiny-SPDY                          | https://metacpan.org/release/HTTP-Tiny-SPDY
 www/p5-HTTP-Tiny-UA                            | https://metacpan.org/release/HTTP-Tiny-UA
 www/p5-HTTP-Tiny-UNIX                          | https://metacpan.org/dist/HTTP-Tiny-UNIX
 www/p5-HTTP-XSCookies                          | https://metacpan.org/release/HTTP-XSCookies
 www/p5-HTTPD-Log-Filter                        | https://metacpan.org/release/HTTPD-Log-Filter
 www/p5-HTTPD-User-Manage                       | https://metacpan.org/release/HTTPD-User-Manage
 www/p5-LWP-Protocol-http10                     | https://metacpan.org/release/LWP-Protocol-http10
 www/p5-LWP-Protocol-https                      | https://metacpan.org/release/LWP-Protocol-https
 www/p5-LWPx-TimedHTTP                          | https://metacpan.org/release/LWPx-TimedHTTP
 www/p5-Net-Async-HTTP                          | https://metacpan.org/release/Net-Async-HTTP
 www/p5-POE-Component-Client-HTTP               | https://metacpan.org/release/POE-Component-Client-HTTP
 www/p5-POE-Component-Server-HTTP               | https://metacpan.org/release/POE-Component-Server-HTTP
 www/p5-POE-Component-Server-HTTPServer         | https://metacpan.org/release/POE-Component-Server-HTTPServer
 www/p5-POE-Component-Server-SimpleHTTP         | https://metacpan.org/release/POE-Component-Server-SimpleHTTP
 www/p5-POE-Filter-HTTP-Parser                  | https://metacpan.org/release/POE-Filter-HTTP-Parser
 www/p5-Parse-HTTP-UserAgent                    | https://metacpan.org/release/Parse-HTTP-UserAgent
 www/p5-Plack-Handler-AnyEvent-HTTPD            | https://metacpan.org/release/Plack-Handler-AnyEvent-HTTPD
 www/p5-Plack-Handler-AnyEvent-ReverseHTTP      | https://metacpan.org/release/Plack-Handler-AnyEvent-ReverseHTTP
 www/p5-Plack-Server-ReverseHTTP                | https://metacpan.org/release/MIYAGAWA/Plack-Server-ReverseHTTP-0.02
 www/p5-Protocol-HTTP2                          | https://metacpan.org/release/Protocol-HTTP2
 www/p5-SOAP-Transport-HTTP-Plack               | https://metacpan.org/release/SOAP-Transport-HTTP-Plack
 www/p5-Test-HTTP                               | https://metacpan.org/release/Test-HTTP
 www/p5-Test-HTTP-LocalServer                   | https://metacpan.org/release/Test-HTTP-LocalServer
 www/p5-Test-HTTP-Server-Simple                 | https://metacpan.org/release/Test-HTTP-Server-Simple
 www/pear-HTTP                                  | https://pear.php.net/package/HTTP
 www/pear-HTTP_Client                           | https://pear.php.net/package/HTTP_Client
 www/pear-HTTP_Download                         | https://pear.php.net/package/HTTP_Download
 www/pear-HTTP_FloodControl                     | https://pear.php.net/package/HTTP_FloodControl
 www/pear-HTTP_Header                           | https://pear.php.net/package/HTTP_Header
 www/pear-HTTP_Request                          | https://pear.php.net/package/HTTP_Request
 www/pear-HTTP_Request2                         | https://pear.php.net/package/HTTP_Request2
 www/pear-HTTP_Server                           | https://pear.php.net/package/HTTP_Server
 www/pear-HTTP_Session2                         | https://pear.php.net/package/HTTP_Session2
 www/pear-HTTP_Upload                           | https://pear.php.net/package/HTTP_Upload
 www/pear-HTTP_WebDAV_Client                    | https://pear.php.net/package/HTTP_WebDAV_Client
 www/pear-HTTP_WebDAV_Server                    | https://pear.php.net/package/HTTP_WebDAV_Server
 www/pecl-http                                  | https://pecl.php.net/package/pecl_http
 www/py-aiohttp                                 | https://github.com/aio-libs/aiohttp
 www/py-aiohttp-middlewares                     | https://github.com/playpauseandstop/aiohttp-middlewares
 www/py-aiohttp-session                         | https://github.com/aio-libs/aiohttp-session
 www/py-aiohttp-wsgi                            | https://github.com/etianen/aiohttp-wsgi
 www/py-aiohttp_cors                            | https://github.com/aio-libs/aiohttp-cors
 www/py-forcediphttpsadapter                    | https://github.com/Roadmaster/forcediphttpsadapter
 www/py-http-parser                             | https://github.com/benoitc/http-parser/
 www/py-httpbin                                 | https://github.com/postmanlabs/httpbin
 www/py-httpcore                                | https://github.com/encode/httpcore
 www/py-httpie                                  | https://github.com/httpie/httpie
 www/py-httplib2                                | https://github.com/httplib2/httplib2
 www/py-httpretty                               | https://github.com/gabrielfalcao/HTTPretty
 www/py-httptools                               | https://github.com/MagicStack/httptools
 www/py-httpx                                   | https://github.com/encode/httpx
 www/py-httpx-gssapi                            | https://github.com/pythongssapi/httpx-gssapi
 www/py-httpx-oauth                             | https://github.com/frankie567/httpx-oauth
 www/py-httpx-socks                             | https://github.com/romis2012/httpx-socks
 www/py-httpx013                                | https://github.com/encode/httpx
 www/py-multidict                               | https://pypi.org/project/multidict/  https://github.com/aio-libs/multidict
 www/py-requests-toolbelt                       | https://toolbelt.readthedocs.io/  https://github.com/requests/toolbelt
 www/py-werkzeug                                | https://palletsprojects.com/p/werkzeug/  https://github.com/pallets/werkzeug
 www/qhttpengine                                | https://github.com/nitroshare/qhttpengine
 www/rubygem-actioncable60                      | https://github.com/rails/rails/tree/main/actioncable  https://rubyonrails.org/
 www/rubygem-actioncable61                      | https://github.com/rails/rails/tree/main/actioncable  https://rubyonrails.org/
 www/rubygem-actioncable70                      | https://github.com/rails/rails/tree/main/actioncable  https://rubyonrails.org/
 www/rubygem-actionpack60                       | https://github.com/rails/rails/tree/main/actionpack  https://rubyonrails.org/
 www/rubygem-actionpack61                       | https://github.com/rails/rails/tree/main/actionpack  https://rubyonrails.org/
 www/rubygem-actionpack70                       | https://github.com/rails/rails/tree/main/actionpack  https://rubyonrails.org/
 www/rubygem-async-http                         | https://github.com/socketry/async-http
 www/rubygem-em-http-request                    | https://github.com/igrigorik/em-http-request
 www/rubygem-eventmachine_httpserver            | https://github.com/eventmachine/evma_httpserver
 www/rubygem-faraday-em_http                    | https://github.com/lostisland/faraday-em_http
 www/rubygem-faraday-http-cache                 | https://github.com/sourcelevel/faraday-http-cache
 www/rubygem-faraday-httpclient                 | https://github.com/lostisland/faraday-httpclient
 www/rubygem-faraday-httpclient1                | https://github.com/lostisland/faraday-httpclient
 www/rubygem-faraday-net_http                   | https://github.com/lostisland/faraday-net_http
 www/rubygem-faraday-net_http1                  | https://github.com/lostisland/faraday-net_http
 www/rubygem-faraday-net_http_persistent        | https://github.com/lostisland/faraday-net_http_persistent
 www/rubygem-faraday-net_http_persistent1       | https://github.com/lostisland/faraday-net_http_persistent
 www/rubygem-html2haml                          | https://haml.info/  https://github.com/haml/html2haml
 www/rubygem-http                               | https://github.com/httprb/http
 www/rubygem-http-accept                        | https://github.com/socketry/http-accept
 www/rubygem-http-cookie                        | https://github.com/sparklemotion/http-cookie
 www/rubygem-http-form_data                     | https://github.com/httprb/form_data
 www/rubygem-http3                              | https://github.com/httprb/http
 www/rubygem-http4                              | https://github.com/httprb/http
 www/rubygem-http_router                        | https://github.com/joshbuddy/http_router
 www/rubygem-httparty                           | https://johnnunemaker.com/httparty/
 www/rubygem-httpclient                         | https://github.com/nahi/httpclient
 www/rubygem-httpi                              | https://github.com/savonrb/httpi
 www/rubygem-llhttp-ffi                         | https://github.com/metabahn/llhttp/tree/main/ffi
 www/rubygem-net-http                           | https://github.com/ruby/net-http
 www/rubygem-net-http-digest_auth               | https://github.com/drbrain/net-http-digest_auth
 www/rubygem-net-http-persistent                | https://github.com/drbrain/net-http-persistent
 www/rubygem-net-http-persistent2               | https://github.com/drbrain/net-http-persistent
 www/rubygem-net-http-pipeline                  | https://docs.seattlerb.org/net-http-pipeline/
 www/rubygem-ntlm-http                          | https://rubygems.org/gems/ntlm-http
 www/rubygem-protocol-http                      | https://github.com/socketry/protocol-http
 www/rubygem-protocol-http1                     | https://github.com/socketry/protocol-http1
 www/rubygem-protocol-http2                     | https://github.com/socketry/protocol-http2
 www/rubygem-rails60                            | https://github.com/rails/rails  https://rubyonrails.org/
 www/rubygem-rails61                            | https://github.com/rails/rails  https://rubyonrails.org/
 www/rubygem-rails70                            | https://github.com/rails/rails  https://rubyonrails.org/
 www/rubygem-railties60                         | https://github.com/rails/rails/tree/master/railties  https://rubyonrails.org/
 www/rubygem-railties61                         | https://github.com/rails/rails/tree/master/railties  https://rubyonrails.org/
 www/rubygem-railties70                         | https://github.com/rails/rails/tree/master/railties  https://rubyonrails.org/
 www/slowhttptest                               | https://github.com/shekyan/slowhttptest
 www/smb_auth                                   | http://web.archive.org/web/20050320094310/http://www.hacom.nl/~richard/software/smb_auth.html
 www/spawn-fcgi                                 | https://redmine.lighttpd.net/projects/spawn-fcgi
 www/tclhttpd                                   | https://www.tcl.tk/software/tclhttpd/
 www/thttpd                                     | https://www.acme.com/software/thttpd/
 www/zerowait-httpd                             | https://www.0w.ru/httpd/
 x11-fonts/noto-hk                              | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-jp                              | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-kr                              | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-sans-hk                         | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-sans-jp                         | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-sans-kr                         | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-sans-sc                         | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-sans-tc                         | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-sc                              | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-serif-hk                        | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-serif-jp                        | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-serif-kr                        | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-serif-sc                        | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-serif-tc                        | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-fonts/noto-tc                              | https://www.google.com/get/noto/  https://github.com/googlefonts/noto-cjk
 x11-toolkits/gtkglext                          | https://sourceforge.net/projects/gtkglext/  https://gitlab.gnome.org/Archive/gtkglext
 x11-toolkits/mygui                             | http://mygui.info/  https://github.com/MyGUI/mygui
 x11-toolkits/rubygem-gdk3                      | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-gdk4                      | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-gtk3                      | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-gtk4                      | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-gtksourceview3            | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-gtksourceview4            | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-pango                     | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-poppler                   | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-toolkits/rubygem-vte3                      | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
 x11-wm/piewm                                   | https://web.archive.org/web/20160409071502if_/http://www.crynwr.com/piewm/index.html~
 x11/rubygem-gnome                              | https://ruby-gnome.github.io/  https://github.com/ruby-gnome/ruby-gnome
(426 rows)
dlangille commented 1 year ago

This code might do:

foreach (preg_split('/\s+/', $homepage, -1, PREG_SPLIT_NO_EMPTY) as $page) {
    echo "'" . trim($page) . "'\n";
}

re: https://stackoverflow.com/questions/23206953/split-string-by-white-space

dlangille commented 1 year ago

Looks OK here: https://dev.freshports.org/ftp/curl/

dlangille commented 1 year ago

Added new FAQ entry, because it wasn't there before: https://dev.freshports.org/faq.php#home