Accepting request 607812 from devel:languages:haskell
Update ghc-hslua to the latest version. OBS-URL: https://build.opensuse.org/request/show/607812 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-hslua?expand=0&rev=9
This commit is contained in:
commit
868274b708
@ -1,3 +1,146 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon May 14 17:02:11 UTC 2018 - psimons@suse.com
|
||||
|
||||
- Update hslua to version 0.9.5.2.
|
||||
- Provide Optional as a replacement for OrNil. Exports of the latter
|
||||
have been fixed.
|
||||
- Provide utility function `raiseError`: Its argument will be thrown as
|
||||
an error in Lua.
|
||||
- Add `modifyLuaError`: The function lives in Foreign.Lua.Error and
|
||||
allows to alter error messages. This is most useful for amending
|
||||
errors with additional information.
|
||||
- Fixed a bug in `toList` which left a element on the stack if
|
||||
deserializing that element lead to an error. This also affected the
|
||||
FromLuaStack instance for lists.
|
||||
- Fixed a bug in `pairsFromTable` which left a key-value pair on the
|
||||
stack if either of them could not be read into the expected type. This
|
||||
also affected the FromLuaStack instance for Map.
|
||||
- Make Lua an instance of MonadMask: MonadMask from Control.Monad.Catch
|
||||
allows to mask asynchronous exceptions. This allows to define a
|
||||
finalizer for Lua operations.
|
||||
- Add functions and constants to refer to stack indices: The functions
|
||||
`nthFromBottom`, `nthFromTop` as well as the constants `stackTop` and
|
||||
`stackBottom` have been introduced. Numeric constants are less clear,
|
||||
and named constants can aid readability.
|
||||
- Add type OrNil: This type can be used when dealing with optional
|
||||
arguments to Lua functions.
|
||||
- Add function absindex: it converts the acceptable index `idx` into an
|
||||
equivalent absolute index (that is, one that does not depend on the
|
||||
stack top). The function calls `lua_absindex` when compiled with Lua
|
||||
5.2 or later; for Lua 5.1, it is reimplemented in Haskell.
|
||||
- Functions in `tasty` which have been deprecated have been replaced
|
||||
with non-deprecated alternatives.
|
||||
- Re-export more FunctionCalling helpers in `Foreign.Lua`: The typeclass
|
||||
`ToHaskellFunction` and the helper function `toHaskellFunction` are
|
||||
useful when working with functions. Importing them separately from
|
||||
`Foreign.Lua.FunctionCalling` was an unnecessary burden; they are
|
||||
therefor now re-exported by the main module.
|
||||
- Export registry-relatd constants `refnil` and `noref`: The constants
|
||||
are related to Lua's registry functions (`ref` and `unref`).
|
||||
- Add helper to convert functions into CFunction: A new helper
|
||||
`wrapHaskellFunction` is provided. It expects a
|
||||
HaskellImportedFunction userdata (as produced by
|
||||
`pushHaskellFunction`) on top of the stack and replaces it with a C
|
||||
function. The new function converts error values generated with
|
||||
`lerror` into Lua errors, i.e. it calls `lua_error`.
|
||||
- Add utility function `setglobal'`: It works like `setglobal`, but
|
||||
works with packages and nested tables (dot-notation only).
|
||||
- Add cabal flag 'export-dynamic': Default behavior is to include all symbols in
|
||||
the dynamic symbol table, as this enables users to load dynamic lua libraries.
|
||||
However, it is sometimes desirable to disable, e.g., when compiling a fully
|
||||
static binary. See jgm/pandoc#3986.
|
||||
- Increase user-friendlyness of error messages: The error message returned by
|
||||
`toHaskellFunction` hinted at the fact that the failing function is a Haskell
|
||||
function. This is mostly unnecessary information and might have confused
|
||||
users.
|
||||
- Added cabal flag to allow fully safe garbage collection: Lua garbage
|
||||
collection can occur in most of the API functions, even in those usually not
|
||||
calling back into haskell and hence marked as optimizable. The effect of this
|
||||
is that finalizers which call Haskell functions will cause the program to
|
||||
hang. A new flag `allow-unsafe-gc` is introduced and enabled by default.
|
||||
Disabling this flag will mark more C API functions as potentially calling back
|
||||
into Haskell. This has a serious performance impact.
|
||||
- `FromLuaStack` and `ToLuaStack` instances for lazy ByteStrings are added.
|
||||
- None-string error messages are handled properly: Lua allows error messages to
|
||||
be of any type, but the haskell error handlers expected string values. Tables,
|
||||
booleans, and other non-string values are now handled as well and converted to
|
||||
strings.
|
||||
- Use newtype definitions instead of type aliases for LuaNumber and LuaInteger.
|
||||
This makes it easier to ensure the correct numeric instances in situations
|
||||
where Lua might have been compiled with 32-bit numbers.
|
||||
- Instances of `FromLuaStack` and `ToLuaStack` for `Int` are removed. The
|
||||
correctness of these instances cannot be guaranteed if Lua was compiled with a
|
||||
non-standard integer type.
|
||||
- The flag `lua_32bits` was added to allow users to compile Lua for 32-bit
|
||||
systems.
|
||||
- When reading a list, throw an error if the lua value isn't a table instead of
|
||||
silently returning an empty list.
|
||||
- Tuples from pairs to octuples have been made instances of `FromLuaStack` and
|
||||
`ToLuaStack`.
|
||||
- New functions `dostring` and `dofile` are provided to load and run strings and
|
||||
files in a single step.
|
||||
- `LuaStatus` was renamed to `Status`, the *Lua* prefix was removed from its
|
||||
type constructors.
|
||||
- The constructor `ErrFile` was added to `Status`. It is returned by `loadfile`
|
||||
if the file cannot be read.
|
||||
- Remove unused FFI bindings and unused types, including all functions unsafe to
|
||||
use from within Haskell and the library functions added with 0.5.0. Users with
|
||||
special requirements should define their own wrappers and raw bindings.
|
||||
- The module *Foreign.Lua.Api.SafeBindings* was merge into
|
||||
*Foreign.Lua.Api.RawBindings*.
|
||||
- FFI bindings are changed to use newtypes where sensible, most notably
|
||||
`StackIndex`, `NumArgs`, and `NumResults`, but also the newly introduced
|
||||
newtypes `StatusCode`, `TypeCode`, and `LuaBool`.
|
||||
- Add functions `tointegerx` and `tonumberx` which can be used to get and check
|
||||
values from the stack in a single step.
|
||||
- The signature of `concat` was changed from `Int -> Lua ()` to
|
||||
`NumArgs -> Lua ()`.
|
||||
- The signature of `loadfile` was changed from `String -> Lua Int` to
|
||||
`String -> Lua Status`.
|
||||
- The type `LTYPE` was renamed to `Type`, its constructors were renamed to
|
||||
follow the pattern `Type<Typename>`. `LuaRelation` was renamed to
|
||||
`RelationalOperator`, the *Lua* prefix was removed from its constructors.
|
||||
- Add function `tolist` to allow getting a generic list from the stack without
|
||||
having to worry about the overlapping instance with `[Char]`.
|
||||
* Supported Lua Versions now include Lua 5.2 and Lua 5.3. LuaJIT and Lua 5.1
|
||||
remain supported as well.
|
||||
* Flag `use-pkgconfig` was added to allow discovery of library and include paths
|
||||
via pkg-config. Setting a specific Lua version flag now implies `system-lua`.
|
||||
(Sean Proctor)
|
||||
* The module was renamed from `Scripting.Lua` to `Foreign.Lua`. The code is now
|
||||
split over multiple sub-modules. Files processed with hsc2hs are restricted to
|
||||
Foreign.Lua.Api.
|
||||
* A `Lua` monad (reader monad over LuaState) is introduced. Functions which took
|
||||
a LuaState as their first argument are changed into monadic functions within
|
||||
that monad.
|
||||
* Error handling has been redesigned completely. A new LuaException was
|
||||
introduced and is thrown in unexpected situations. Errors in lua which are
|
||||
leading to a `longjmp` are now caught with the help of additional C wrapper
|
||||
functions. Those no longer lead to uncontrolled program termination but are
|
||||
converted into a LuaException.
|
||||
* `peek` no longer returns `Maybe a` but just `a`. A LuaException is thrown if
|
||||
an error occurs (i.e. in situtations where Nothing would have been returned
|
||||
previously).
|
||||
* The `StackValue` typeclass has been split into `FromLuaStack` and
|
||||
`ToLuaStack`. Instances not satisfying the law `x == push x *> peek (-1)` have
|
||||
been dropped.
|
||||
* Documentation of API functions was improved. Most docstrings have been copied
|
||||
from the official Lua manual, enriched with proper markup and links, and
|
||||
changed to properly describe hslua specifics when necessary.
|
||||
* Example programs have been moved to a separate repository.
|
||||
* Unused files were removed. (Sean Proctor)
|
||||
* New raw functions for `luaopen_base`, `luaopen_package`, `luaopen_string`,
|
||||
`luaopen_table`, `luaopen_math`, `luaopen_io`, `luaopen_os`, `luaopen_debug`
|
||||
and their high-level wrappers (with names `openbase`, `opentable` etc.)
|
||||
implemented.
|
||||
* Remove custom versions of `loadfile` and `loadstring`.
|
||||
* Drop support for GHC versions < 7.8, avoid compiler warnings.
|
||||
* Ensure no symbols are stripped when linking the bundled lua interpreter.
|
||||
* Simplify `tostring` function definition. (Sean Proctor)
|
||||
* Explicitly deprecate `strlen`. (Sean Proctor)
|
||||
* Add links to lua documentation for functions wrapping the official lua C API.
|
||||
(Sean Proctor).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 17 09:35:36 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package ghc-hslua
|
||||
#
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -19,7 +19,7 @@
|
||||
%global pkg_name hslua
|
||||
%bcond_with tests
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 0.4.1
|
||||
Version: 0.9.5.2
|
||||
Release: 0
|
||||
Summary: A Lua language interpreter embedding in Haskell
|
||||
License: MIT
|
||||
@ -28,32 +28,36 @@ URL: https://hackage.haskell.org/package/%{pkg_name}
|
||||
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
|
||||
BuildRequires: ghc-Cabal-devel
|
||||
BuildRequires: ghc-bytestring-devel
|
||||
BuildRequires: ghc-containers-devel
|
||||
BuildRequires: ghc-exceptions-devel
|
||||
BuildRequires: ghc-fail-devel
|
||||
BuildRequires: ghc-mtl-devel
|
||||
BuildRequires: ghc-rpm-macros
|
||||
BuildRequires: lua51-devel
|
||||
%if %{with tests}
|
||||
BuildRequires: ghc-HUnit-devel
|
||||
BuildRequires: ghc-QuickCheck-devel
|
||||
BuildRequires: ghc-hspec-contrib-devel
|
||||
BuildRequires: ghc-hspec-devel
|
||||
BuildRequires: ghc-quickcheck-instances-devel
|
||||
BuildRequires: ghc-text-devel
|
||||
%if %{with tests}
|
||||
BuildRequires: ghc-QuickCheck-devel
|
||||
BuildRequires: ghc-quickcheck-instances-devel
|
||||
BuildRequires: ghc-tasty-devel
|
||||
BuildRequires: ghc-tasty-expected-failure-devel
|
||||
BuildRequires: ghc-tasty-hunit-devel
|
||||
BuildRequires: ghc-tasty-quickcheck-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
The Scripting.Lua module is a wrapper of Lua language interpreter as described
|
||||
in [lua.org](http://www.lua.org/).
|
||||
The Foreign.Lua module is a wrapper of Lua language interpreter as described on
|
||||
<https://www.lua.org/ lua.org>.
|
||||
|
||||
This package contains full Lua interpreter version 5.1.5. If you want to link
|
||||
it with system-wide Lua installation, use 'system-lua' flag.
|
||||
This package contains a full Lua interpreter version 5.3.4. If you want to link
|
||||
it with a system-wide Lua installation, use the 'system-lua' flag.
|
||||
|
||||
[Example programs](https://github.com/osa1/hslua/tree/master/examples).
|
||||
<https://github.com/hslua/hslua-examples Example programs> are available in a
|
||||
separate repository.
|
||||
|
||||
%package devel
|
||||
Summary: Haskell %{pkg_name} library development files
|
||||
Group: Development/Libraries/Haskell
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: ghc-compiler = %{ghc_version}
|
||||
Requires: lua51-devel
|
||||
Requires(post): ghc-compiler = %{ghc_version}
|
||||
Requires(postun): ghc-compiler = %{ghc_version}
|
||||
|
||||
@ -64,7 +68,7 @@ This package provides the Haskell %{pkg_name} library development files.
|
||||
%setup -q -n %{pkg_name}-%{version}
|
||||
|
||||
%build
|
||||
%define cabal_configure_options -fsystem-lua --extra-include-dirs=$(pkg-config --variable=includedir lua)
|
||||
%define cabal_configure_options -f-system-lua
|
||||
%ghc_lib_build
|
||||
|
||||
%install
|
||||
@ -80,9 +84,9 @@ This package provides the Haskell %{pkg_name} library development files.
|
||||
%ghc_pkg_recache
|
||||
|
||||
%files -f %{name}.files
|
||||
%doc COPYRIGHT
|
||||
%license COPYRIGHT
|
||||
|
||||
%files devel -f %{name}-devel.files
|
||||
%doc CHANGELOG.md README.md examples
|
||||
%doc CHANGELOG.md README.md
|
||||
|
||||
%changelog
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2df2b4f0566ef2244506f9830e0207fce3bece7c331129f69f446c722136173f
|
||||
size 130342
|
3
hslua-0.9.5.2.tar.gz
Normal file
3
hslua-0.9.5.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0e4d26f8a76cbfb219851f33d31417c4a3c8f193123367a0749f047103d8bbe5
|
||||
size 228293
|
Loading…
Reference in New Issue
Block a user