diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e7ab213..72cdb38 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,9 +21,10 @@ jobs: # - macOS-latest cabal: ["latest"] ghc: - - "9.6.6" + - "9.6.7" - "9.8.4" - - "9.10.2" + - "9.10.3" + - "9.12.3" steps: - uses: actions/checkout@v4 @@ -133,41 +134,43 @@ jobs: - run: nix build .#devShell.x86_64-linux - nix-simple-cabal-shell: - name: nix simple cabal shell.nix / ubuntu-latest - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - uses: cachix/install-nix-action@v31 - with: - nix_path: nixpkgs=channel:nixos-unstable - - - uses: DeterminateSystems/magic-nix-cache-action@v11 - - # TODO: These caches actually needs to be keyed on the hash of the - # ./nix-helpers/simple-cabal-shell.nix derivation. If that derivation - # changes, then we really, really should not reuse the same - # ~/.cabal/store directory (since there is the possibility of getting - # into a cabal hell, where Haskell libraries in the Cabal store are linked to - # different, incompatible system libraries). - # - # It is possible to get the hash of this derivation with a command like: - # - # $ nix eval --impure --raw --expr 'with (import {}).lib; let simpleCabalShell = import ./.nix-helpers/simple-cabal-shell.nix {}; in builtins.elemAt (splitString "-" (removePrefix (builtins.storeDir + "/") simpleCabalShell)) 0' - # - # Just need to load this into a variable, and throw it in the following key name - - uses: actions/cache@v4 - name: Cache cabal store - with: - path: | - ~/.cabal/store - ~/.config/cabal/store - ~/.local/state/cabal/store - key: nix-simple-cabal-shell - - - name: cabal update - run: nix-shell ./.nix-helpers/simple-cabal-shell.nix --command 'cabal update' - - - name: cabal build - run: nix-shell ./.nix-helpers/simple-cabal-shell.nix --command 'cabal build all --enable-tests --enable-benchmarks' + # TODO: I noticed this was broken in https://github.com/cdepillabout/termonad/pull/259. I don't know why. + # Need to look into this. + # nix-simple-cabal-shell: + # name: nix simple cabal shell.nix / ubuntu-latest + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v4 + # + # - uses: cachix/install-nix-action@v31 + # with: + # nix_path: nixpkgs=channel:nixos-unstable + # + # - uses: DeterminateSystems/magic-nix-cache-action@v11 + # + # # TODO: These caches actually needs to be keyed on the hash of the + # # ./nix-helpers/simple-cabal-shell.nix derivation. If that derivation + # # changes, then we really, really should not reuse the same + # # ~/.cabal/store directory (since there is the possibility of getting + # # into a cabal hell, where Haskell libraries in the Cabal store are linked to + # # different, incompatible system libraries). + # # + # # It is possible to get the hash of this derivation with a command like: + # # + # # $ nix eval --impure --raw --expr 'with (import {}).lib; let simpleCabalShell = import ./.nix-helpers/simple-cabal-shell.nix {}; in builtins.elemAt (splitString "-" (removePrefix (builtins.storeDir + "/") simpleCabalShell)) 0' + # # + # # Just need to load this into a variable, and throw it in the following key name + # - uses: actions/cache@v4 + # name: Cache cabal store + # with: + # path: | + # ~/.cabal/store + # ~/.config/cabal/store + # ~/.local/state/cabal/store + # key: nix-simple-cabal-shell + # + # - name: cabal update + # run: nix-shell ./.nix-helpers/simple-cabal-shell.nix --command 'cabal update' + # + # - name: cabal build + # run: nix-shell ./.nix-helpers/simple-cabal-shell.nix --command 'cabal build all --enable-tests --enable-benchmarks' diff --git a/.nix-helpers/overlays.nix b/.nix-helpers/overlays.nix index 6bd96ed..9d32c8c 100644 --- a/.nix-helpers/overlays.nix +++ b/.nix-helpers/overlays.nix @@ -78,7 +78,7 @@ let # # Either this, or termonadKnownWorkingHaskellPkgSet can be changed in an overlay # if you want to use a different GHC to build Termonad. - termonadCompilerVersion = "ghc98"; + termonadCompilerVersion = "ghc910"; # A Haskell package set where we know the GHC version works to compile # Termonad. This is basically just a shortcut so that other Nix files @@ -161,7 +161,7 @@ let self.adwaita-icon-theme self.hicolor-icon-theme ]; - nativeBuildInputs = [ self.wrapGAppsHook ]; + nativeBuildInputs = [ self.wrapGAppsHook3 ]; dontBuild = true; unpackPhase = ":"; # Using installPhase instead of buildCommand was recommended here: diff --git a/CHANGELOG.md b/CHANGELOG.md index 9977566..8a9b192 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ + +## (next) + +* Move from depending on `gi-gtk` and `gi-gdk` Haskell packages to `gi-gtk3` and `gi-gdk3`. + This shouldn't affect most users. + [#259](https://github.com/cdepillabout/termonad/pull/259) + ## 4.6.0.0 * The thing that may affect end users the most in this release is that the diff --git a/flake.lock b/flake.lock index 6f3c06e..42c9926 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1750134718, - "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", + "lastModified": 1767892417, + "narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", + "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", "type": "github" }, "original": { diff --git a/stack-nightly.yaml b/stack-nightly.yaml index 800a485..2f3403d 100644 --- a/stack-nightly.yaml +++ b/stack-nightly.yaml @@ -1,7 +1,7 @@ # For more information, see: http://docs.haskellstack.org/en/stable/yaml_configuration.html # Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2) -resolver: nightly-2024-12-09 +resolver: nightly-2026-01-10 # Local packages, usually specified by relative directory name packages: diff --git a/stack-nightly.yaml.lock b/stack-nightly.yaml.lock index 570e93e..730067e 100644 --- a/stack-nightly.yaml.lock +++ b/stack-nightly.yaml.lock @@ -1,12 +1,12 @@ # This file was autogenerated by Stack. # You should not edit this file by hand. # For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files +# https://docs.haskellstack.org/en/stable/topics/lock_files packages: [] snapshots: - completed: - sha256: cbae768d7cd535b298ba827c2d90f3ac11fa2e907ee7d30fd02d1f7b893f3b28 - size: 678857 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2024/12/9.yaml - original: nightly-2024-12-09 + sha256: 8a0e9047c6a49dd72eaa2d04730f32b84ed534fe5842a538ed2c482150788c96 + size: 717827 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2026/1/10.yaml + original: nightly-2026-01-10 diff --git a/stack.yaml b/stack.yaml index c305462..f9a9a95 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,7 +1,7 @@ # For more information, see: http://docs.haskellstack.org/en/stable/yaml_configuration.html # Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2) -resolver: lts-23.25 +resolver: lts-24.27 # Local packages, usually specified by relative directory name packages: diff --git a/stack.yaml.lock b/stack.yaml.lock index 6979e03..17e5dce 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -6,7 +6,7 @@ packages: [] snapshots: - completed: - sha256: a3501d1b61a539371d85305fe73e1134fc08e7c97498a42952455f011fd97ecf - size: 684278 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/23/25.yaml - original: lts-23.25 + sha256: c320c36b8a392602c9076bdd0c656e12dcab30f294105a50c3f8ef963c4c3a0d + size: 726760 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/27.yaml + original: lts-24.27 diff --git a/termonad.cabal b/termonad.cabal index 1793fc1..c5a8318 100644 --- a/termonad.cabal +++ b/termonad.cabal @@ -1,5 +1,5 @@ name: termonad -version: 4.6.0.0 +version: 4.6.0.1 synopsis: Terminal emulator configurable in Haskell description: Termonad is a terminal emulator configurable in Haskell. It is extremely @@ -88,11 +88,11 @@ library , file-embed , filepath , focuslist - , gi-gdk < 4 + , gi-gdk3 , gi-gdkpixbuf , gi-gio , gi-glib - , gi-gtk >= 3.0.24 && < 4 + , gi-gtk3 , gi-pango , gi-vte >= 2.91.19 , haskell-gi-base >= 0.21.2