Accepting request 1010434 from devel:languages:haskell

version update

OBS-URL: https://build.opensuse.org/request/show/1010434
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-brick?expand=0&rev=21
This commit is contained in:
Dominique Leuenberger 2022-10-13 13:44:28 +00:00 committed by Git OBS Bridge
commit f3f428f41a
4 changed files with 120 additions and 6 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:741c8d0717f0ab5addd5d3acc88cb36d645a0c73907bde509b2fd9d9bc02039c
size 704762

3
brick-1.3.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b4320ff8e6161dfe7034c7deb911f4187551c389c1d6b14501b285f9031ed52
size 715154

View File

@ -1,3 +1,117 @@
-------------------------------------------------------------------
Fri Sep 30 02:57:19 UTC 2022 - Peter Simons <psimons@suse.com>
- Update brick to version 1.3.
1.3
---
Package changes:
* Removed dependency on `dlist`.
Performance improvements:
* Improved the performance of `vBox` and `hBox` (thanks Fraser Tweedale)
1.2
---
Package changes:
* Supports base 4.17 (GHC 9.4).
Bug fixes:
* `newFileBrowser` now normalizes its initial path (#387).
-------------------------------------------------------------------
Fri Aug 19 02:05:32 UTC 2022 - Peter Simons <psimons@suse.com>
- Update brick to version 1.1.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/brick-1.1/src/CHANGELOG.md
-------------------------------------------------------------------
Mon Aug 8 22:37:09 UTC 2022 - Peter Simons <psimons@suse.com>
- Update brick to version 1.0.
1.0
---
Version 1.0 of `brick` comes with some improvements that will require
you to update your programs. This section details the list of API
changes in 1.0 that are likely to introduce breakage and how to deal
with each one. You can also consult the demonstration
programs to see orking examples of the new API. For those
interested in a bit of discussion on the changes, see [this
ticket](https://github.com/jtdaugherty/brick/issues/379).
* The event-handling monad `EventM` was improved and changed in some
substantial ways, all aimed at making `EventM` code cleaner, more
composable, and more amenable to lens updates to the application
state.
* The type has changed from `EventM n a` to `EventM n s a` and is now
an `mtl`-compatible state monad over `s`. Some consequences and
related changes are:
* Event handlers no longer take and return an explicit state value;
an event handler that formerly had the type `handler :: s ->
BrickEvent n e -> EventM n (Next s)` now has type `handler ::
BrickEvent n e -> EventM n s ()`. This also affected all of
Brick's built-in event handler functions for `List`, `Editor`,
etc.
* The `appHandleEvent` and `appStartEvent` fields of `App` changed
types to reflect the new structure of `EventM`. `appStartEvent`
will just be `return ()` rather than `return` for most
applications.
* `EventM` can be used with the `MonadState` API from `mtl` as well
as with the very nice lens combinators in `microlens-mtl`.
* The `Next` type was removed.
* State-specific event handlers like `handleListEvent` and
`handleEditorEvent` are now statically typed to be scoped to
just the states they manage, so `zoom` from `microlens-mtl` must
be used to invoke them. `Brick.Types` re-exports `zoom` for
convenience. `handleEventLensed` was removed from the API in lieu
of the new `zoom` behavior. Code that previously handled events
with `handleEventLensed s someLens someHandler e` is now just
written `zoom someLens $ someHandler e`.
* If an `EventM` block needs to operate on some state `s` that is
not accessible via a lens into the application state, the `EventM`
block can be set up with `Brick.Types.nestEventM`.
* Since `Next` was removed, control flow is now as follows:
* Without any explicit specification, an `EventM` block always
continues execution of the `brick` event loop when it finishes.
`continue` was removed from the API. What was previously `continue
$ s & someLens .~ value` will become `someLens .= value`.
* `halt` is still used to indicate that the event loop should halt
after the calling handler is finished, but `halt` no longer takes
an explicit state value argument.
* `suspendAndResume` is now immediate; previously,
`suspendAndResume` indicated that the specified action should run
once the event handler finished. Now, the event handler is paused
while the specified action is run. This allows `EventM` code to
continue to run after `suspendAndResume` is called and before
control is returned to `brick`.
* Brick now depends on `mtl` rather than `transformers`.
* The `IsString` instance for `AttrName` was removed.
* This change is motivated by the API wart that resulted from the
overloading of both `<>` and string literals (via
`OverloadedStrings`) that resulted in code such as `someAttrName
= "blah" <> "things"`. While that worked to create an `AttrName`
with two segments, it was far too easy to read as two strings
concatenated. The overloading hid what is really going on with the
segments of the attribute name. The way to write the above example
after this change is `someAttrName = attrName "blah" <> attrName
"things"`.
Other changes in this release:
* Brick now provides an optional API for user-defined keybindings
for applications! See the User Guide section "Customizable
Keybindings", the Haddock for `Brick.Keybindings.KeyDispatcher`,
and the new demo program `programs/CustomKeybindingDemo.hs` to get
started.
* `Brick.Widgets.List` got `listSelectedElementL`, a traversal for
accessing the currently selected element of a list. (Thanks Fraser
Tweedale)
-------------------------------------------------------------------
Sat Jul 9 16:24:17 UTC 2022 - Peter Simons <psimons@suse.com>

View File

@ -19,13 +19,14 @@
%global pkg_name brick
%bcond_with tests
Name: ghc-%{pkg_name}
Version: 0.73
Version: 1.3
Release: 0
Summary: A declarative terminal user interface library
License: BSD-3-Clause
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-bimap-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-config-ini-devel
BuildRequires: ghc-containers-devel
@ -33,18 +34,17 @@ BuildRequires: ghc-contravariant-devel
BuildRequires: ghc-data-clist-devel
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-dlist-devel
BuildRequires: ghc-exceptions-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-microlens-devel
BuildRequires: ghc-microlens-mtl-devel
BuildRequires: ghc-microlens-th-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-stm-devel
BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-text-zipper-devel
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-unix-devel
BuildRequires: ghc-vector-devel
BuildRequires: ghc-vty-devel