From 4d91e83254c3fac34a9a193c8e24b68da16f101a264440a58bec36f102a54d4e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 6 Oct 2022 14:46:20 +0000 Subject: [PATCH] osc copypac from project:devel:languages:haskell:ghc-8.10.x package:ghc-brick revision:40, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-brick?expand=0&rev=41 --- brick-0.73.tar.gz | 3 -- brick-1.3.tar.gz | 3 ++ ghc-brick.changes | 114 ++++++++++++++++++++++++++++++++++++++++++++++ ghc-brick.spec | 6 +-- 4 files changed, 120 insertions(+), 6 deletions(-) delete mode 100644 brick-0.73.tar.gz create mode 100644 brick-1.3.tar.gz diff --git a/brick-0.73.tar.gz b/brick-0.73.tar.gz deleted file mode 100644 index 2ad2a47..0000000 --- a/brick-0.73.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:741c8d0717f0ab5addd5d3acc88cb36d645a0c73907bde509b2fd9d9bc02039c -size 704762 diff --git a/brick-1.3.tar.gz b/brick-1.3.tar.gz new file mode 100644 index 0000000..05000a3 --- /dev/null +++ b/brick-1.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b4320ff8e6161dfe7034c7deb911f4187551c389c1d6b14501b285f9031ed52 +size 715154 diff --git a/ghc-brick.changes b/ghc-brick.changes index b630889..b098678 100644 --- a/ghc-brick.changes +++ b/ghc-brick.changes @@ -1,3 +1,117 @@ +------------------------------------------------------------------- +Fri Sep 30 02:57:19 UTC 2022 - Peter Simons + +- 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 + +- 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 + +- 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 diff --git a/ghc-brick.spec b/ghc-brick.spec index f75746d..d853ef4 100644 --- a/ghc-brick.spec +++ b/ghc-brick.spec @@ -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