Skip to content

Commit

Permalink
Release v5.
Browse files Browse the repository at this point in the history
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
  • Loading branch information
gvvaughan committed Sep 25, 2014
1 parent 7a43a93 commit 4483ccb
Show file tree
Hide file tree
Showing 41 changed files with 3,061 additions and 1,903 deletions.
60 changes: 37 additions & 23 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,55 +6,69 @@ env:
- PACKAGE=lyaml
- ROCKSPEC=$PACKAGE-git-1.rockspec
- LUAROCKS_CONFIG=build-aux/luarocks-config.lua
- LUAROCKS_BASE=luarocks-2.0.13
- LUAROCKS_BASE=luarocks-2.2.0
- LUAROCKS="$LUA $HOME/bin/luarocks"
- GENDOC=luarocks/bin/
- SPECL=bin/specl
matrix:
- LUA=lua5.1 LUA_INCDIR=/usr/include/lua5.1
- LUA=lua5.2 LUA_INCDIR=/usr/include/lua5.2
- LUA=luajit-2.0.0-beta9 LUA_INCDIR=/usr/include/luajit-2.0
- LUA=lua5.1 LUA_INCDIR=/usr/include/lua5.1 LUA_SUFFIX=5.1
- LUA=lua5.2 LUA_INCDIR=/usr/include/lua5.2 LUA_SUFFIX=5.2
- LUA=luajit-2.0.0-beta9 LUA_INCDIR=/usr/include/luajit-2.0 LUA_SUFFIX=5.1

# Tool setup.
install:
# Put back the links for libyaml, which are missing on recent Travis VMs
- test -f /usr/lib/libyaml.so ||
sudo find /usr/lib -name 'libyaml*' -exec ln -s {} /usr/lib \;

- sudo apt-get install help2man
- sudo apt-get install luajit
- sudo apt-get install libluajit-5.1-dev
- sudo apt-get install lua5.1
- sudo apt-get install liblua5.1-dev
- sudo apt-get install lua5.2
- sudo apt-get install liblua5.2-dev
# Luadoc and Ldoc work best on Travis with Lua 5.1.
# sudo apt-get install luarocks
# sudo luarocks install
# mkdir -p luarocks/bin
# sed 's|^exec "[^"]*"|exec lua5.1|' `which ` > $GENDOC
# chmod a+rx $GENDOC

# Install a recent luarocks release locally for everything else.
- wget http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz
- tar zxvpf $LUAROCKS_BASE.tar.gz
- cd $LUAROCKS_BASE
- ./configure
--prefix=$HOME --lua-version=5.1 --lua-suffix=5.1
--with-lua-include="/usr/include/lua5.1"
- make all install
- cd ..
# LuaRocks configure --with-lua argument is just a prefix!
- ( cd $LUAROCKS_BASE;
./configure
--prefix=$HOME --with-lua=/usr --lua-version=$LUA_SUFFIX
--lua-suffix=$LUA_SUFFIX --with-lua-include=$LUA_INCDIR;
make build;
make install; )

# Configure and build.
script:
- ./bootstrap
# Initial bootstrap to build luarocks-config.lua, before we've
# installed our rocks.
- ./bootstrap --skip-rock-checks
- ./configure LUA="$LUA"
- make $LUAROCKS_CONFIG
LUA="$LUA" LUA_INCDIR="$LUA_INCDIR" V=1
|| cat $LUAROCKS_CONFIG config.log

# Set Lua and Shell paths up for local luarocks tree.
# this package depends on will be installed.
- eval `$LUAROCKS path`
- export PATH=`pwd`/luarocks/bin:$PATH

# Install extra rocks into $LUAROCKS_CONFIG rocks tree.
- $LUAROCKS install specl;

# Make git rockspec for this lyaml
- make rockspecs LUAROCKS="$LUAROCKS" V=1
|| { $LUAROCKS path; cat $ROCKSPEC; }
# LuaRocks make will fail if dependencies are missing.

# The git rockspec will rerun bootstrap, and check any rock versions
# in bootstrap.conf:buildreq this time.
- $LUAROCKS make $ROCKSPEC LUA="$LUA"
# Use bin/specl if we built it, or else the specl rock we just installed.
- test -f "$SPECL" || SPECL=luarocks/bin/specl;
make check SPECL="$SPECL" V=1

# Run self-tests in the `luarocks make` build tree.
- LUA_PATH=`pwd`'/lib/?.lua;'"${LUA_PATH-;}"
LUA_CPATH=`pwd`'/ext/?.so;'"${LUA_CPATH-;}"
LUA_INIT= LUA_INIT_5_2=
make check V=1

notifications:
slack: aspirinc:JyWeNrIdS0J5nf2Pn2BS1cih
27 changes: 27 additions & 0 deletions COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
This software comprises files that are copyright their respective
authors (see the AUTHORS file for details), and distributed under
the terms of the MIT license (the same license as Lua itself),
unless noted otherwise in the body of that file.

====================================================================
Copyright (C) 2013-2014 Gary V. Vaughan

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGE-
MENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====================================================================
181 changes: 181 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,186 @@
2014-09-25 Gary V. Vaughan <gary@gnu.org>

Release version 5
* NEWS: Record release date.

lyaml: implement anchor matching in lyaml.dump ().
Closes #2.
* specs/lib_lyaml_spec.yaml (anchors and aliases): Specify correct
behaviours when replacing anchor matches with YAML anchor and
alias syntax.
* lib/lyaml.lua (dumper_mt.get_anchor): Move matched anchor to new
aliased property.
(dumper_mt.get_alias): Look up already matched anchor in aliased
property.
(dumper_mt.dump_alias): Emit an ALIAS event.
(dumper_mt.dump_mapping, dumper_mt.dump_sequence)
(dumper_mt.dump_scalar): Look up anchor with `get_anchor`, and
replace event with ALIAS if match found with `get_alias`.
* NEWS: Update.

emitter: emit lyaml.null nodes correctly.
* specs/lib_lyaml_spec.yaml (scalars): Remove pending call.
* lib/lyaml.lua (null): Put null singleton identifier in its own
metatable.
(isnull): Predicate function for detecting null nodes.
(dump_node): Use it to dump nulls correctly.

emitter: don't output numbers in SINGLE_QUOTED style.
* specs/lib_lyaml_spec.yaml (loading): Indent another level...
(lyaml): ...move under new top level.
(dumping): Specify behaviour for emitting table elements.
* lib/lyaml.lua (dumper_mt.dump_scalar): Use PLAIN style unless
a string would convert to a number, and then SINGLE_QUOTED style.
* NEWS: Update.

specl: sync with upstream slingshot for SPECL_ENV improvements.
* slingshot: Sync with upstream.
* specs/specs.mk: Simplify accordingly.
* specs/spec_helper.lua (package.path, package.cpath): Set
according to slingshot recommendations. `make distcheck` works
again now, even when Specl (>=13) is using a different lyaml
release from the system directories.

maint: remove debug statement.
* lib/lyaml.lua (dumper_mt.emit): Remove debug statement.

emitter: propagate errors correctly.
* specs/ext_yaml_emitter_spec.yaml: Specify error messages are
propagated correctly.
* ext/yaml/emitter.c (emit_STREAM_START, emit_MAPPING_START)
(emit_SEQUENCE_START, emit_SCALAR): Push error messages onto the
errbuff stack.
* NEWS: Update.

2014-09-24 Gary V. Vaughan <gary@gnu.org>

travis: revert to specl-12 features.
* specs/lib_lyaml_spec.yaml (loading): to_raise is a v13 matcher,
but v13 is not released yet. Use to_error for v12 compatibility.
* .travis.yml: Regenerate.

travis: install specl github master.
* .travis.yml (script): Install Specl from github master, to
satisfy new features used by yaml specs.

lyaml: improve parser error handling.
Fix a TODO in the lyaml parser.
* specs/lib_lyaml_spec.yaml (loading): Specify line and column
prefixed error behaviours.
* lib/lyaml.lua (Parser): Initialise line and column.
(parser_mt.error): Raise an error with line and column prefixed.
(parser_mt.parse): Capture libYAML event errors, and forward them
to parser_mt.errer.
Update 1-based line and column markers from 0-based libYAML event
markers.
(parser_mt.loadalias): Raise errors with parser_mt.error.

specs: set package paths for specl auto-discovery.
* specs/spec_helper.lua (package.path, package.cpath): Add build
directories.
(dump): Call prettytostring from correct module table.

specs: small improvements in descriptions and examples.
* specs/ext_yaml_scanner_spec.yaml (scanning): Fix a typo.
* specs/lib_lyaml_spec.yaml (describe documents): Add more
variations.
(describe anchors): Rename from this...
(describe anchors and aliases): ...to this.

refactor: modernize specs for prettiest colors from report formatter.
* specs/ext_yaml_emitter_spec.yaml, specs/ext_yaml_parser_spec.yaml,
specs/ext_yaml_scanner_spec.yaml, specs/lib_lyaml_spec.yaml: Use
`to_` matchers rather than `should_` matchers throughout.
Use specify:describe:context:it hierarchy consistently throughout.
Remove redundant `require "spec_helper"` blocks.

slingshot: sync with upstream for slack support.
* slingshot: Sync with upstream.
* .slackid: New file with slack notification id.
* .travis.yml: Regenerate.

2014-07-31 Gary V. Vaughan <gary@gnu.org>

slingshot: sync with upstream for upload and moonscript support.
* slingshot: Sync with upstream.
* bootstrap.conf (slingshot_files): Delete removed
ax_compare_version.m4.
* README.md (Installation): Show moonscript rocks repo.
* .travis.yml: Regenerate.

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

2014-07-17 Gary V. Vaughan <gary@gnu.org>

Merge branch 'waffle-iron-master'

2014-07-17 Making GitHub Delicious. <iron@waffle.io>

add waffle.io badge

2014-05-21 Gary V. Vaughan <gary@gnu.org>

maint: fix a README typo.
* README.md: Remove a spurious word.

configury: update bootstrap script from slingshot.
* bootstrap: Sync with slingshot.

slingshot: sync with upstream.
* slingshot: Sync with upstream for grep GNUism fix.
* bootstrap.conf (buildreq): Don't set a git version number, or
else `GIT=true ./bootstrap` doesn't work.
* .travis.yml: Regenerate.

2014-01-05 Gary V. Vaughan <gary@gnu.org>

slingshot: sync with upstream.
Fix the annoying contest.sed file dropping bug.
* slingshot: Sync with upstream.
* bootstrap: Sync with slingshot.

2014-01-04 Gary V. Vaughan <gary@gnu.org>

maint: update copyright notices to include 2014.
* .x-upate-copyright: New file. Exclude files not owned by this
project from update-copyright rules.
* local.mk (update_copyright_env): Set appropriately.
* configure.ac, ext/yaml/emitter.c, ext/yaml/lyaml.h,
ext/yaml/parser.c, ext/yaml/scanner.c, ext/yaml/yaml.c,
lib/lyaml.lua, local.mk: Bump copyright year.
* .gitignore: Update.

slingshot: sync from upstream, and simplify accordingly.
* slingshot: Sync with upstream.
* bootstrap: Update from slingshot.
* bootstrap.slingshot: Remove. No longer required.
* bootstrap.conf: Remove bootstrap slingshot source boilerplate.
(func_ensure_changelog): Remove. Automated by slingshot now.
* configure.ac (AM_INIT_AUTOMAKE): Remove 'foreign'.
* COPYING: New file, with MIT License, to avoid Autotools
copying over a standard GPLv3 COPYING boilerplate.
* .travis.yml: Regenerate.

2013-11-15 Gary V. Vaughan <gary@gnu.org>

maint: prevent pointer type mismatch warnings.
* ext/yaml/lyaml.h (lua_pushyamlstr): Cast away the impedence
mismatch between Lua API 'unsigned char *' strings and libYAML
API 'yaml_char_t *' strings.
(RAWSET_BOOLEAN, RAWSET_INTEGER, RAWSET_STRING, RAWSET_EVENTF)
(RAWGETS_STRDUP): Use lua_pushyamlstr to avoid compiler warnings.
* ext/yaml/parser.c (Pparser): Cast away type differences.
* ext/yaml/scanner.c (Pscanner): Likewise.
* NEWS: Update.

2013-09-11 Gary V. Vaughan <gary@gnu.org>

maint: post-release administrivia.
* configure.ac (AC_INIT): Bump revision to 5.
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* local.mk (old_NEWS_hash): Auto-update.

Release version 4
* NEWS: Record release date.

Expand Down
50 changes: 47 additions & 3 deletions GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
## maintainer rules.
# Maintainer rules.
#
# Copyright (C) 2013-2014 Gary V. Vaughan
# Written by Gary V. Vaughan, 2013
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

ME = GNUmakefile

Expand All @@ -7,9 +23,12 @@ dont-forget-to-bootstrap = $(wildcard Makefile.in)

ifeq ($(dont-forget-to-bootstrap),)

## Don't redo any pedantic rock version checks, incase they derail
## a subdirectory bootstrap of slingshot.

%::
@echo '$(ME): rebootstrap'
@test -f Makefile.in || ./bootstrap
@test -f Makefile.in || ./bootstrap --skip-rock-checks
@test -f Makefile || ./configure
$(MAKE) $@

Expand All @@ -22,14 +41,39 @@ include build-aux/sanity.mk
# Run sanity checks as part of distcheck.
distcheck: $(local-check)


## ------------------------- ##
## Copyright Notice Updates. ##
## ------------------------- ##

# If you want to set UPDATE_COPYRIGHT_* environment variables,
# for the build-aux/update-copyright script: set the assignments
# in this variable in local.mk.
update_copyright_env ?=

# Run this rule once per year (usually early in January)
# to update all FSF copyright year lists in your project.
# If you have an additional project-specific rule,
# add it in local.mk along with a line 'update-copyright: prereq'.
# By default, exclude all variants of COPYING; you can also
# add exemptions (such as ChangeLog..* for rotated change logs)
# in the file .x-update-copyright.
.PHONY: update-copyright
update-copyright:
$(AM_V_GEN)grep -l -w Copyright \
$$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
| $(update_copyright_env) xargs $(srcdir)/build-aux/$@


## ------ ##
## Specl. ##
## ------ ##

# Use 'make check V=1' for verbose output, or set SPECL_OPTS to
# pass alternative options to specl command.

SPECL_OPTS ?= $(specl_verbose_$(V))
SPECL_OPTS ?=
SPECL_OPTS += $(specl_verbose_$(V))
specl_verbose_ = $(specl_verbose_$(AM_DEFAULT_VERBOSITY))
specl_verbose_0 =
specl_verbose_1 = --verbose --formatter=report
Expand Down
Loading

0 comments on commit 4483ccb

Please sign in to comment.