From ac5bb92beaf9529a691c47f1571973c6290b99ff Mon Sep 17 00:00:00 2001 From: Teo Camarasu Date: Thu, 29 May 2025 11:28:01 +0100 Subject: [PATCH] Prepare 0.2.15.0 --- CHANGELOG.md | 4 ++++ README.md | 31 ++++++++++++++++++------------- threadscope.cabal | 4 ++-- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f467e6..20226d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for threadscope +## 2025-05-29 - v0.2.15.0 +* Switch to GTK3 ([#137](https://github.com/haskell/ThreadScope/pull/137))) +* Support new versions of GHC up to 9.12 and dependencies. + ## 2022-05-10 - v0.2.14.1 * Spelling fixes ([#121](https://github.com/haskell/ThreadScope/pull/121), [#123](https://github.com/haskell/ThreadScope/pull/123)) diff --git a/README.md b/README.md index ae9edf3..5ed83e2 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,16 @@ Currently [pre-built binaries](https://github.com/haskell/ThreadScope/releases) for the following platforms are provided: -* Ubuntu 18.04 (64-bit) -* macOS 10.15 -* Windows Server 2019 (x64) +* Ubuntu 24.04 (64-bit) +* macOS 14.7 +* Windows Server 2022 (x64) -GTK+2 needs to be installed for these binaries to work. +GTK+3 needs to be installed for these binaries to work. -On Windows, the [MSYS2](http://www.msys2.org) is the recommended way to install GTK+2. In MSYS2 MINGW64 shell: +On Windows, the [MSYS2](http://www.msys2.org) is the recommended way to install GTK+3. In MSYS2 MINGW64 shell: ```sh -pacman -S $MINGW_PACKAGE_PREFIX-gtk2 +pacman -S $MINGW_PACKAGE_PREFIX-gtk3 ``` then you can run the threadscope binary from the shell. @@ -26,12 +26,14 @@ then you can run the threadscope binary from the shell. Use `git clone` or `cabal get threadscope` to get the source and move into the threadscope directory. +The code for the Github Actions is a good guide for building from source. + ### Linux -GTK+2 is required to be installed. On Ubuntu-like systems: +GTK+3 is required to be installed. On Ubuntu-like systems: ```sh -sudo apt install libgtk2.0-dev +sudo apt install libgtk-3-dev ``` Then you can build threadscope using cabal: @@ -53,7 +55,7 @@ stack install # to build and install the binary GTK+ is required: ```sh -brew install gtk+ +brew install cairo gtk+3 pkg-config ``` Then you can build threadscope using cabal: @@ -72,13 +74,16 @@ stack --stack-yaml=stack.osx.yaml install # to install the binary ### Windows +> [!CAUTION] +> The Windows instructions may be out of date. Contributions to update them would be welcome. + [Chocolatey](https://chocolatey.org/) can be used to install GHC and [MSYS2](https://www.msys2.org/) is the recommended way to install GTK+. ```sh choco install ghc refreshenv set PATH=C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;%PATH% -pacman -Sy mingw-w64-x86_64-gtk2 +pacman -Sy mingw-w64-x86_64-gtk3 ``` then you can build threadscope using cabal: @@ -89,7 +94,7 @@ cabal v2-build Or you can use stack instead. -CAVEAT: gtk2 needs to be installed twice: one for stack's MSYS2 environment and another for local MSYS2 environment. +CAVEAT: gtk3 needs to be installed twice: one for stack's MSYS2 environment and another for local MSYS2 environment. In command prompt: @@ -98,14 +103,14 @@ stack setup stack exec -- pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime msys2-runtime-devel stack exec -- pacman -Syu stack exec -- pacman -Syuu -stack exec -- pacman -S base-devel mingw-w64-x86_64-pkg-config mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk2 +stack exec -- pacman -S base-devel mingw-w64-x86_64-pkg-config mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk3 stack install ``` Then in MSYS2 MINGW64 shell: ```sh -pacman -S $MINGW_PACKAGE_PREFIX-gtk2 +pacman -S $MINGW_PACKAGE_PREFIX-gtk3 echo 'export PATH=$APPDATA/local/bin:$PATH' >> .profile source .profile threadscope diff --git a/threadscope.cabal b/threadscope.cabal index 80da4de..44bba10 100644 --- a/threadscope.cabal +++ b/threadscope.cabal @@ -1,6 +1,6 @@ Cabal-version: 1.24 Name: threadscope -Version: 0.2.14.1 +Version: 0.2.15.0 Category: Development, Profiling, Trace Synopsis: A graphical tool for profiling parallel Haskell programs. Description: ThreadScope is a graphical viewer for thread profile @@ -64,7 +64,7 @@ Executable threadscope filepath < 1.6, ghc-events >= 0.13 && < 0.21, containers >= 0.2 && < 0.8, - deepseq >= 1.1, + deepseq >= 1.1 && <1.7.0, text < 2.2, time >= 1.1 && < 1.15, bytestring < 0.13,