[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] Slingshot 8.0.0 released
- From: "Gary V. Vaughan" <gary@...>
- Date: Sat, 3 Jan 2015 20:35:27 +0000
A framework for automatic rockspecs creation and simplified release thereof.
I am happy to announce release 8.0.0 of Slingshot.
Slingshot's home page is at http://github.com/gvvaughan/slingshot
Among many, many incremental improvements to the release process and
integration with Travis CI, this release also supports Lua 5.3, thus
enabling support for Lua 5.3 from the rest of my Lua projects.
The recommended way to use Slingshot is as a git submodule tracking
the slingshot repository, so these releases are not really designed
to be dropped in (though there's no technical reason that would prevent
it from working that way), and are more for the purposes of keeping
track of what features and changes are being made.
## Noteworthy changes in release 8.0.0 (2014-12-31) [stable]
### New Features:
- Libtool built Lua modules should be appended to luaexec_LTLIBRARIES,
where non LuaRocks users will receive them in the correct directory
(likely already in their LUA_CPATH) after `sudo make install`.
- Slingshot now supports the slack.com Travis Integration. Add
a .slackid file to the root of your project, containing your slack
token on a single line -- a notification section containing that
id will be appended to your `.travis.yml` at configure time.
- Various build related directories are added to SPECL_ENV by default,
so that package.path and package.cpath settings can be set in your
spec_helper.lua to enforce loading from the build tree instead of
accidentally falling back to the system module paths -- especially
during the VPATH `make check` performed during `make distcheck`. You
might want to write something like this in `spec_helper.lua`:
```lua
local std = require "specl.std"
local builddir = os.getenv "top_builddir" or "."
local srcdir = os.getenv "top_srcdir" or "."
package.path = std.package.normalize (
top_builddir .. "/lib/mymodule/?.lua",
top_srcdir .. "/lib/mymodule/?.lua",
package.path)
mymodule = require "mymodule"
```
This ensures that, no matter what LuaRocks does to the package paths,
nor whether you run `specl` by hand with auto-discovery, or via the
`make check` or `make distcheck` rules... by the time you require
your module from the development tree, the package path has the right
directories at the front.
- Unused libtool .la files for Lua modules are no longer installed.
- Update to latest upstream `ax_lua.m4`.
- Update to latest upstream `bootstrap`.
- Travis CI overhaul: Uses latest LuaRocks 2.2.0 with each of Lua
5.3.0(rc2), 5.2.3, 5.1.5 and luajit-2.0.3, only building the Lua
version needed in each run. We also run `make syntax-check` on the
CI server after successful tests.
- Instead of overwriting .travis.yml unconditionally, show a warning
explaining how to update it when it changes, like bootstrap.
- Markdown format NEWS and announcements.
### Incompatible Changes:
- SPECL_ENV is now set (to empty) by default, and should be augmented
with += in local.mk.
- SS_CONFIG_TRAVIS is no longer supported. Any additional travis rocks
you were passing there should now be listed in a travis_extra_rocks
variable in `bootstrap.conf` instead.
### Bug Fixes:
- We no longer assume autotooled installations will put modules in
--libdir (although that will continue to work), but also set
luaexecdir at install-time for `ax_lua.m4` compatibility.
- Version comparison in `build-aux/do-release-commit-and-tag` now
works correctly.
- bootstrap now updates only gnulib and slingshot git submodules as
expected.
- Slingshot bootstrap really does perform an automatic out of date
check of client bootstrap against latest slingshot submodule
bootstrap script now - after updating to this version!
Install it with LuaRocks, using:
luarocks install slingshot 8.0.0