specl: remove loadstring fallback for failed yaml load.

* src/specl.in (slurp): Go straight to setting an error messaage
if the yaml.load fails.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
formatters: load unprefixed formatters from LuaRocks install.

Now that we correctly install Specl lua files with LuaRocks, they
are actually moved into the standard LUA_PATH automatically.  So,
the long $(luadir)/specl/formatter/?.lua won't find them, and we
have to augment the --formatter optarg on load failure to look in
the right directory under the standard LUA_PATH.
* src/src.mk (INSTALL_PATH): Remove useless formatter segment.
* specl/version.lua.in (M["--formatter"]): If straight formatter
load fails, try again with "specl.formatter." prefixed.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: improve the release rules for single directory process.

* GNUmakefile: Tidy up formatting, and then simplify and fix
release rules to always add only released files to the release
branch.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: use a NEWS file for user visible changes.

* NEWS: New file.  Import RELEASE-NOTES from earlier releases.
* .gitignore: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: adopt do-release-commit-and-tag plus Make rules from gnulib.

* build-aux/do-release-commit-and-tag: New file, from gnulib.
* .prev-version: New file.  Previous release version number,
required by do-release-commit-and-tag.
* GNUmakefile: Add associated rules from gnulib GNUmakefile and
maint.mk to improve make automated releases.
(rockspecs): Move rockspec rules from here...
* Makeflie.am (rockspecs): ...to here.
(EXTRA_DIST): Add release rockspec.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: remove GNUisms from do-release-commit-and-tag.

* build-aux/do-release-commit-and-tag: Allow non-dot version
numbers.
Use a nicer commit message: 'Release version vNNN'.
(func_sort_ver): New function.  Use it instead of GNU only
'sort -V'.
* Makefile.am (EXTRA_DIST): Add do-release-commit-and-tag.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
configury: use configure to find sed and egrep.

* GNUmakefile (EGREP, SED): Remove.
* configure.ac (AC_PROG_EGREP, AC_PROG_SED): Add.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: fix VPATH builds of rockspecs.

Now that we ship the release rockspec, it needs to work with a
VPATH build otherwise distcheck doesn't complete.
* build-aux/mkrockspecs: make already knows where it wants the
output file, so just write to stdout...
* Makefile.am: ...which is redirected to the correct location at
make time.
* build-aux/mkrockspecs: Move rockspec lint call from here...
* Makefile.am: ...to here.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: only push new refspecs on release.

* GNUmakefile (GIT_PUBLISH): Remove.
(release): Explicitly push master, release and the new release
tag from each.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: abort release with uncommitted changes.

* GNUmakefile (vc-diff-check): Git optimised version of the
vc-diff-check rule from gnulib/maint.mk.
(alpha beta stable): Use it.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: refactor maintainer release rules.

* GNUmakefile: Re-order so that the main 'release' and then 'alpha
beta stable' rules are at the top, with everything else following
in normal execution order.
(release, alpha beta stable, check-in-release-branch): No need
to tie rule commands together with '&& \' suffixes, just to
make sure the rule aborts on the first error... make does that
anyway!
(news-today): Rename from this...
(today): ...to this.
(PREV_VERSION): No need to assign with :=, calling $(shell) runs
immediately anyway.
(unpack-distcheck-release): Inline to only caller.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: use NEWS based release notes for woger.

* GNUmakeflie (release-prep-hook): Set to default release-prep
rule.
(announcement): New rule. Output the relevant section of NEWS.
(release-prep): New rule. Generate a release announcement, plus
assorted post-release book-keeping.
(release): Use it.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: factor out useful common make rules.

* build-aux/luarocks.mk: New file. Factored out of...
* Makefile.am: ...here.
* build-aux/release.mk: New file. Factored out of...
* GNUmakeflie: ...here.
* build-aux/mkrockspecs: Adjust parameters to include a rockspec
revision number as parameter 3.
* rockspecs.lua: Move from here...
* build-aux/rockspec-template.lua: ...to here. Interpolate new
revision argument.
* .travis.yml: Adjust for new location of luarocks-config.lua.
* .gitignore, build-aux/.git-ignore: Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
mkrockspecs: rewritten to load a yaml conf.

* rockspec.conf: New file. Specl specific rockspec configuration.
* build-aux/mkrockspecs: Rewritten.  Works like a real program
now, processing options and loading configuration from a
standard './rockspec.conf' in YAML format, otherwise stdin.
* build-aux/rockspec-template.lua: Remove. Baked into mkrockspecs
now, instead.
* build-aux/luarocks.mk: Move from here...
* build-aux/rockspecs.mk: ...to here.
($(package_rockspec), $(scm_rockspec)): Adjust for lack of
template.
* Makefile.am: Adjust includes for new file location.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
AUTHORS: Fix a typo.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: move to slingshot release framework.

* .autom4te.cfg: Turn off auto4mte.cache directories.
* travis.yml.in: Continuous Integration configuration.
* .travis.yml: Regenerate.
* configure.ac (AC_CONFIG_FILES): Generate .travis.yml.
* build-aux/mkrockspecs: Upgrade from Slingshot.
* build-aux/mail, build-aux/release.mk, build-aux/rockspecs.mk,
build-aux/sanity.mk: Slingshot release and rockspec rules.
* specs/specs.mk, src/src.mk: Adjust.
* GNUmakefile: Adjust, and correct typo found by sanity checks.
* Makefile.am (release_extra_dist): Override this, because we're
not using the huge rewritten gnulib bootstrap (there's no need
since we don't compile anything, and only use Automake and Auto-
conf).
* docs/specl.md: Remove trailing whitespace.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
specs: remove speclc_spec.yaml.

* specs/speclc_spec.yaml: Remove. speclc was removed already.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Release version 5

* NEWS: Record release date.
maint: post-release administrivia.

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* ./Makefile.am (old_NEWS_hash): Auto-update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>