Skip to content

Commit

Permalink
Cleanup and prepare v0.23.0
Browse files Browse the repository at this point in the history
Refactor `Build.PL` to use CPAN Spec v2 syntax to more effectively
declare recommended dependencies. Then improve the GitHub workflows to
properly test everything by installing those dependencies, so all tests
run (aside from spelling). Add testing for Perl 5.38.

Update copyright years and fix or remove broken links from the Markdown
files used to generate static pages.

Add an example serving a mirror with the Python one-liner
`python -m http.server 8000`.

Change the  "Release It!" link in the footer to "Release on PGXN" to
make its intent clearer.
  • Loading branch information
theory committed Feb 5, 2024
1 parent c4b27ff commit 44eced6
Show file tree
Hide file tree
Showing 17 changed files with 93 additions and 80 deletions.
21 changes: 9 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,16 @@ jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
perl: [ '5.36', '5.34', '5.32', '5.30', '5.28', '5.26', '5.24', '5.22', '5.20', '5.18', '5.16', '5.14' ]
os: [ubuntu, macos]
perl: [ '5.38', '5.36', '5.34', '5.32', '5.30', '5.28', '5.26', '5.24', '5.22', '5.20', '5.18', '5.16', '5.14' ]
name: 🐪 Perl ${{ matrix.perl }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
steps:
- uses: actions/checkout@v4
- name: Setup perl
- name: Setup Perl ${{ matrix.perl }}
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl }}
- run: perl -V
- run: |-
cpanm -qn Module::Build Software::License
perl Build.PL
PERL_MM_USE_DEFAULT=1 ./Build installdeps --cpan_client 'cpanm -qn'
./Build test
with: { perl-version: "${{ matrix.perl }}" }
- name: Install Dependencies
run: cpanm -vn Module::Build && cpanm -vn --installdeps --with-recommends .
- name: Run Tests
run: perl Build.PL ./Build && ./Build test
39 changes: 23 additions & 16 deletions Build.PL
Original file line number Diff line number Diff line change
Expand Up @@ -59,16 +59,10 @@ my $build = $class->new(
module_name => 'PGXN::Site',
license => 'postgresql',
script_files => 'bin',
configure_requires => { 'Module::Build' => '0.30', },
configure_requires => { 'Module::Build' => '0.4209' },
build_requires => {
'HTTP::Message::PSGI' => 0,
'Module::Build' => '0.30',
'Plack::Test' => 0,
'Software::License' => '0.102340',
'Test::File::Contents' => '0.20',
'Test::More' => '0.70',
'Test::MockModule' => '0.05',
'Text::MultiMarkdown' => '1.000033',
'Module::Build' => '0.4209',
'Text::MultiMarkdown' => 0,
},
requires => {
'Carp' => 0,
Expand Down Expand Up @@ -98,19 +92,32 @@ my $build = $class->new(
'Template::Declare::Tags' => '0.43',
'WWW::PGXN' => '0.12.0',
},
test_recommends => {
'HTTP::Request::Common' => '5.824',
'Test::Pod' => '1.41',
'Test::Pod::Coverage' => '1.06',
'Test::XML' => '0.08',
'Test::XPath' => '0.13',
},
meta_merge => {
'meta-spec' => { version => 2 },
resources => {
homepage => 'https://www.pgxn.org/',
bugtracker => 'https://github.com/pgxn/pgxn-site/issues/',
repository => 'https://github.com/pgxn/pgxn-site/',
},
prereqs => {
test => {
requires => {
'HTTP::Message::PSGI' => 0,
'HTTP::Request::Common' => '5.824',
'Plack::Test' => 0,
'Test::File::Contents' => '0.20',
'Test::More' => '0.70',
'Test::MockModule' => '0.05',
},
recommends => {
'Test::Pod' => '1.41',
'Test::Pod::Coverage' => '1.06',
'Test::XML' => '0.08',
'Test::XPath' => '0.13',
'PGXN::API::Searcher' => '0.10.1',
},
},
},
},
);

Expand Down
8 changes: 6 additions & 2 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
Revision history for Perl extension PGXN::Site

0.22.3
- Updated the donor links, removing or replacing dead URLs.
0.23.0
- Updated links in the static pages, removing or replacing dead URLs.
- Changed the default search index from "Documentation" to "Distributions".
Few releases include documentation other than a README, which pgxn-api
indexes in the distributions index and not the documentation index. So
make distribution search the default to improve the default search
experience.
- Updated the build metadata to comply with CPAN Meta spec v2.
- Changed the "Release It!" link in the footer to "Release on PGXN" to
make its intent clearer.
- Added a Python one-liner to serve a mirror to `mirroring.mmd`.

0.22.2 2023-02-18T23:25:58Z
- Replaced Twitter link with Mastodon and added a rel link to Mastodon
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ extensions that do exist. I’d like to solve that problem. Care to help?
Copyright and License
---------------------

Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.

This module is free software; you can redistribute it and/or modify it under the
[PostgreSQL License].
Expand Down
2 changes: 1 addition & 1 deletion bin/pgxn_site_server
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ David E. Wheeler <[email protected]>
=head1 Copyright and License
Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.
This module is free software; you can redistribute it and/or modify it under
the L<PostgreSQL License|https://www.opensource.org/licenses/postgresql>.
Expand Down
4 changes: 2 additions & 2 deletions lib/PGXN/Site.pm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package PGXN::Site;

use 5.10.0;
use utf8;
our $VERSION = v0.22.2;
our $VERSION = v0.23.0;

sub version_string {
sprintf 'v%vd', $VERSION;
Expand Down Expand Up @@ -90,7 +90,7 @@ David E. Wheeler <[email protected]>
=head1 Copyright and License
Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.
This module is free software; you can redistribute it and/or modify it under
the L<PostgreSQL License|https://www.opensource.org/licenses/postgresql>.
Expand Down
4 changes: 2 additions & 2 deletions lib/PGXN/Site/Controller.pm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ use Encode;
use WWW::PGXN;
use List::MoreUtils qw(any);
use namespace::autoclean;
our $VERSION = v0.22.2;
our $VERSION = v0.23.0;

Template::Declare->init( dispatch_to => ['PGXN::Site::Templates'] );

Expand Down Expand Up @@ -586,7 +586,7 @@ David E. Wheeler <[email protected]>
=head1 Copyright and License
Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.
This module is free software; you can redistribute it and/or modify it under
the L<PostgreSQL License|https://www.opensource.org/licenses/postgresql>.
Expand Down
8 changes: 4 additions & 4 deletions lib/PGXN/Site/Locale.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use parent 'Locale::Maketext';
use I18N::LangTags::Detect;
use File::Spec;
use Carp;
our $VERSION = v0.22.2;
our $VERSION = v0.23.0;

# Allow unknown phrases to just pass-through.
our %Lexicon = (
Expand All @@ -33,8 +33,8 @@ our %Lexicon = (
'PGXN Blog' => 'PGXN Blog',
'FAQ' => 'FAQ',
'Frequently Asked Questions' => 'Frequently Asked Questions',
'Release It' => 'Release It',
'Release it on PGXN' => 'Release it on PGXN',
'Release on PGXN' => 'Release on PGXN',
'How to release extensions on PGXN' => 'How to release extensions on PGXN',
code => 'code',
design => 'design',
logo => 'logo',
Expand Down Expand Up @@ -290,7 +290,7 @@ David E. Wheeler <[email protected]>
=head1 Copyright and License
Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.
This module is free software; you can redistribute it and/or modify it under
the L<PostgreSQL License|https://www.opensource.org/licenses/postgresql>.
Expand Down
4 changes: 2 additions & 2 deletions lib/PGXN/Site/Locale/en.pm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package PGXN::Site::Locale::en;
use 5.10.0;
use utf8;
use parent 'PGXN::Site::Locale';
our $VERSION = v0.22.2;
our $VERSION = v0.23.0;

our %Lexicon = (
);
Expand All @@ -29,7 +29,7 @@ David E. Wheeler <[email protected]>
=head1 Copyright and License
Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.
This module is free software; you can redistribute it and/or modify it under
the L<PostgreSQL License|https://www.opensource.org/licenses/postgresql>.
Expand Down
15 changes: 6 additions & 9 deletions lib/PGXN/Site/Locale/en/about.mmd
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,10 @@ The network currently consists of:
One of the primary distinguishing features of [PostgreSQL]—and perhaps the
number one reason to use it instead of another DBMS—is its extensibility and the
large number of database extensions already available: [PostGIS], [ISN],
[hstore], [pgTAP], [BioPostgres], [PL/R], [PL/Proxy], [Golconde], [pgmemcache],
and more. Especially with the formal support for [extensions], PostgreSQL today
is not merely a database, it’s an application development platform. However,
many of these extensions are virtually unknown even among experienced users
because they are hard to find.
[hstore], [pgTAP], [PL/R], [PL/Proxy], and more. Especially with the formal
support for [extensions], PostgreSQL today is not merely a database, it’s an
application development platform. However, many of these extensions are
virtually unknown even among experienced users because they are hard to find.

PGXN solves the “hard to find” issue by providing centralized listings and
searchable documentation for PostgreSQL extensions. Here you can easily search
Expand Down Expand Up @@ -73,14 +72,12 @@ This site eschews JavaScript, and uses no tracking or analytics services.
[PGXN Search]: https://pgxn.org/
[PGXN Client]: https://pgxn.github.io/pgxnclient/
[PostgreSQL]: https://www.postgresql.org/
[PostGIS]: https://postgis.refractions.net/
[PostGIS]: https://postgis.net/
[ISN]: https://www.postgresql.org/docs/current/isn.html
[hstore]: https://www.postgresql.org/docs/curent/static/hstore.html
[hstore]: https://www.postgresql.org/docs/current/hstore.html
[pgTAP]: https://pgtap.org/
[BioPostgres]: https://sourceforge.net/projects/biopostgres/
[PL/R]: https://github.com/postgres-plr/plr
[PL/Proxy]: https://plproxy.github.io
[Golconde]: https://code.google.com/archive/p/golconde/
[pgmemcache]: https://pgfoundry.org/projects/pgmemcache/
[extensions]: https://www.postgresql.org/docs/current/extend-extensions.html
"PostgreSQL Documentation: “Packaging Related Objects into an Extension”"
Expand Down
10 changes: 6 additions & 4 deletions lib/PGXN/Site/Locale/en/art.mmd
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
PGXN Graphic Identity
=====================

![Creative Commons License](https://licensebuttons.net/l/by/4.0/88x31.png)

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">
<img alt="Creative Commons License" src="https://i.creativecommons.org/l/by/4.0/88x31.png" />
<img alt="Creative Commons License" src="https://licensebuttons.net/l/by/4.0/88x31.png" />
</a>
<br />
The <span xmlns:dct="https://purl.org/dc/terms/" href="https://purl.org/dc/dcmitype/StillImage" property="dct:title" rel="dct:type">PGXN Graphic Identity</span>
Expand All @@ -11,14 +13,14 @@ including the type treatments of the word "PGXN" and the phrase "PostgreSQL
Extension Network", as well as the gear logo, is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.
Based on a work at <a xmlns:dct="https://purl.org/dc/terms/" href="https://pgxn.org/art/" rel="dct:source">pgxn.org</a>.
Design by <a href="https://www.strongrrl.com/">Strongrrl</a>.
Design by Strongrrl.

### Logo Type ###

* The text "PGXN" is composed in
[Bank Gothic BT](https://www.myfonts.com/fonts/bitstream/bank-gothic/)
[Bank Gothic BT](https://www.myfonts.com/collections/bank-gothic-font-bitstream)
* The text "PostgreSQL Extension Network" is rendered in
[Myriad](https://www.myfonts.com/fonts/adobe/myriad/) 215 LT condensed
[Myriad](https://www.myfonts.com/collections/myriad-font-adobe) 215 LT condensed

### Logo Art ###

Expand Down
14 changes: 7 additions & 7 deletions lib/PGXN/Site/Locale/en/faq.mmd
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ Is there a command-line client for installing extensions from PGXN?
: Then you can install PGXN extensions with a simple command:
: <pre>pgxn install pair</pre>
: Run `pgxn help` to get a list of supported commands; or check out the
introductory [blog] [posts], the [complete documentation] or the [source
introductory [blog][] [posts], the [complete documentation] or the [source
code].

<span id="howclientworks"></span>
Expand Down Expand Up @@ -185,18 +185,18 @@ Is the PGXN logo available for use?

: Yes, see [identity] for the license details and downloadable artwork.

[citext]: https://www.postgresql.org/docs/current/static/citext.html
[hstore]: https://www.postgresql.org/docs/current/static/hstore.html
[dblink]: https://www.postgresql.org/docs/current/static/dblink.html
[citext]: https://www.postgresql.org/docs/current/citext.html
[hstore]: https://www.postgresql.org/docs/current/hstore.html
[dblink]: https://www.postgresql.org/docs/current/dblink.html
[pgTAP]: https://pgxn.org/extension/pgtap
[PL/Perl]: https://www.postgresql.org/docs/current/static/plperl.html
[PL/Perl]: https://www.postgresql.org/docs/current/plperl.html
[PL/R]: https://github.com/postgres-plr/plr
[Extending SQL]: https://www.postgresql.org/docs/current/extend.html
[How To]: https://manager.pgxn.org/howto
[CPAN example]: https://www.cpan.org/misc/ZCAN.html
[PGXN Manager]: https://manager.pgxn.org/
[Request Account]: https://manager.pgxn.org/account/register
[troll]: https://en.wikipedia.org/wiki/Internet_troll
[troll]: https://en.wikipedia.org/wiki/Troll_(slang)
[KISS]: https://en.wikipedia.org/wiki/KISS_principle
[META.json]: https://pgxn.org/spec/
[pgxn-tools]: https://github.com/pgxn/docker-pgxn-tools
Expand All @@ -214,7 +214,7 @@ Is the PGXN logo available for use?
[complete documentation]: https://pgxn.github.io/pgxnclient/
[source code]: https://github.com/pgxn/pgxnclient
[PGXS]: https://www.postgresql.org/docs/current/extend-pgxs.html
[The PostgreSQL License]: https://www.postgresql.org/about/licence
[The PostgreSQL License]: https://www.postgresql.org/about/licence/
[mirroring]: https://pgxn.org/mirroring/
[depesz]: https://www.depesz.com
[PostgreSQL Funds Group]: https://www.postgresql.org/about/policies/funds-group/
Expand Down
16 changes: 11 additions & 5 deletions lib/PGXN/Site/Locale/en/mirroring.mmd
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,13 @@ On Windows, use AT like so:
Please do not sync more than once every hour. And realistically you only need to
sync once or twice a day. Next, set up a web server to serve the mirror. If your
rsync is already in the subdirectory of a web server root, you should be golden.
Otherwise, if you’re using [Apache], you can set up a virtual host like so
(assuming that you’re `rsync`ing to `/usr/local/pgxn`):
Otherwise you need a static file web server; perhaps the simplest is this [Python
one-liner] serving on port 8080:

python -m http.server 8080

If you’re using [Apache], you can set up a virtual host like so (assuming that
you’re `rsync`ing to `/usr/local/pgxn`):

<VirtualHost *:80>
DocumentRoot /usr/local/pgxn
Expand Down Expand Up @@ -51,7 +56,8 @@ For [Nginx], you set set up a virtual host like this:
If you’d like to register your mirror, [send us email] with all the details and
we’ll get you registered.

[rsync]: https://rsync.samba.org/
[Apache]: https://httpd.apache.org/
[Nginx]: https://www.nginx.org/
[rsync]: https://rsync.samba.org
[Python one-liner]: https://docs.python.org/3/library/http.server.html
[Apache]: https://httpd.apache.org
[Nginx]: https://nginx.org
[send us email]: mailto:[_1]
4 changes: 2 additions & 2 deletions lib/PGXN/Site/Locale/fr.pm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package PGXN::Site::Locale::fr;
use 5.10.0;
use utf8;
use parent 'PGXN::Site::Locale';
our $VERSION = v0.22.2;
our $VERSION = v0.23.0;

our %Lexicon = (
listcomma => ',',
Expand Down Expand Up @@ -34,7 +34,7 @@ David E. Wheeler <[email protected]>
=head1 Copyright and License
Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.
This module is free software; you can redistribute it and/or modify it under
the L<PostgreSQL License|https://www.opensource.org/licenses/postgresql>.
Expand Down
4 changes: 2 additions & 2 deletions lib/PGXN/Site/Router.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use PGXN::Site::Controller;
use Router::Resource;
use Plack::Builder;
use Plack::App::File;
our $VERSION = v0.22.2;
our $VERSION = v0.23.0;

sub app {
my $class = shift;
Expand Down Expand Up @@ -195,7 +195,7 @@ David E. Wheeler <[email protected]>
=head1 Copyright and License
Copyright (c) 2010-2021 David E. Wheeler.
Copyright (c) 2010-2024 David E. Wheeler.
This module is free software; you can redistribute it and/or modify it under
the L<PostgreSQL License|https://www.opensource.org/licenses/postgresql>.
Expand Down
Loading

0 comments on commit 44eced6

Please sign in to comment.