Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 43 additions & 40 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 <nixpkgs> {}).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 <nixpkgs> {}).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'
4 changes: 2 additions & 2 deletions .nix-helpers/overlays.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion stack-nightly.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
10 changes: 5 additions & 5 deletions stack-nightly.yaml.lock
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion stack.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
8 changes: 4 additions & 4 deletions stack.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 3 additions & 3 deletions termonad.cabal
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand Down
Loading