diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3fcb9490..b5d2dd75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,13 +18,14 @@ jobs: cabal: ["latest"] ghc: - "8.8.4" - - "8.10.2" + - "8.10.2" # doctests are disabled on 8.10.3, but still working on 8.10.2. + - "8.10.3" steps: - uses: actions/checkout@v2 #if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master' - - uses: actions/setup-haskell@v1.1 + - uses: haskell/actions/setup@v1 id: setup-haskell-cabal name: Setup Haskell with: @@ -59,10 +60,11 @@ jobs: - uses: actions/checkout@v2 #if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master' - - uses: actions/setup-haskell@v1.1 + - uses: haskell/actions/setup@v1 name: Setup Haskell Stack with: stack-version: ${{ matrix.stack }} + enable-stack: true - uses: actions/cache@v1 name: Cache ~/.stack @@ -85,7 +87,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: cachix/install-nix-action@v10 + - uses: cachix/install-nix-action@v12 with: nix_path: nixpkgs=channel:nixos-unstable - run: nix-build diff --git a/.nix-helpers/nixpkgs.nix b/.nix-helpers/nixpkgs.nix index b9c75db1..7e815895 100644 --- a/.nix-helpers/nixpkgs.nix +++ b/.nix-helpers/nixpkgs.nix @@ -26,13 +26,13 @@ let if isNull nixpkgs then builtins.fetchTarball { - # Recent version of nixpkgs master as of 2020-08-18 which uses LTS-16.9. - url = "https://github.com/NixOS/nixpkgs/archive/c5815280e92112a25d958a2ec8b3704d7d90c506.tar.gz"; - sha256 = "09ic4s9s7w3lm0gmcxszm5j20cfv4n5lfvhdvgi7jzdbbbdps1nh"; + # Recent version of nixpkgs master as of 2020-12-27 which uses nightly-2020-12-14. + url = "https://github.com/NixOS/nixpkgs/archive/84917aa00bf23c88e5874c683abe05edb0ba4078.tar.gz"; + sha256 = "1x3qh815d7k9yc72zpn5cfaaq2b1942q4pka6rx8b5i33yz4m61q"; } else nixpkgs; - compilerVersion = if isNull compiler then "ghc884" else compiler; + compilerVersion = if isNull compiler then "ghc8103" else compiler; # An overlay that adds termonad to all haskell package sets. haskellPackagesOverlay = self: super: { @@ -66,7 +66,10 @@ let src extraCabal2nixOptions { - inherit (self) gtk3; + # There are Haskell packages called gtk3 and pcre2, which + # makes these system dependencies not able to be resolved + # correctly. + inherit (self) gtk3 pcre2; vte_291 = self.vte; }; in diff --git a/CHANGELOG.md b/CHANGELOG.md index 50f91953..7f26a0cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 4.0.1.2 + +* Disable doctest test-suite when building with GHC-8.10.3. The doctests + appear to be segfaulting, but only when compiled with GHC-8.10.3. + [#175](https://github.com/cdepillabout/termonad/pull/175). + ## 4.0.1.1 * Bump upper dependency on `base` so that Termonad is compatible with diff --git a/stack-nightly.yaml b/stack-nightly.yaml new file mode 100644 index 00000000..6e0ba39a --- /dev/null +++ b/stack-nightly.yaml @@ -0,0 +1,42 @@ +# 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-2020-12-14 + +# Local packages, usually specified by relative directory name +packages: + - '.' + +# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3) +extra-deps: + - gi-vte-2.91.27@sha256:22faf2c2333ca2fe90780d44defcc7b095c619b72f27b90c9de1f5e2a960a5e3,3731 + - xml-html-qq-0.1.0.1@sha256:1e6dc32d764da2b80eed8809cdbee0cb1f57011fa95ad1d8fe5949c4d8bde568,2331 + +# Override default flag values for local packages and extra-deps +flags: {} + +# Extra package databases containing global packages +extra-package-dbs: [] + +# Control whether we use the GHC we find on the path +# system-ghc: true + +# Require a specific version of stack, using version ranges +# require-stack-version: -any # Default +# require-stack-version: >= 1.0.0 + +# Override the architecture used by stack, especially useful on Windows +# arch: i386 +# arch: x86_64 + +# Extra directories used by stack for building +# extra-include-dirs: [/path/to/dir] +# extra-lib-dirs: [/path/to/dir] + +# Allow a newer minor version of GHC than the snapshot specifies +# compiler-check: newer-minor + +nix: + packages: [] + pure: true + shell-file: .nix-helpers/stack-shell.nix diff --git a/stack-nightly.yaml.lock b/stack-nightly.yaml.lock new file mode 100644 index 00000000..46c7925e --- /dev/null +++ b/stack-nightly.yaml.lock @@ -0,0 +1,26 @@ +# 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 + +packages: +- completed: + hackage: gi-vte-2.91.27@sha256:22faf2c2333ca2fe90780d44defcc7b095c619b72f27b90c9de1f5e2a960a5e3,3731 + pantry-tree: + size: 356 + sha256: 2bfa50f6abba8feda2a8b5b1a36c589562d4f31ecc3c351239bdd3b4454c4458 + original: + hackage: gi-vte-2.91.27@sha256:22faf2c2333ca2fe90780d44defcc7b095c619b72f27b90c9de1f5e2a960a5e3,3731 +- completed: + hackage: xml-html-qq-0.1.0.1@sha256:1e6dc32d764da2b80eed8809cdbee0cb1f57011fa95ad1d8fe5949c4d8bde568,2331 + pantry-tree: + size: 499 + sha256: 4bc9e68d9470b2d37eddc97235700c1a7fb7b64740f3ba4d3196ff4f16973676 + original: + hackage: xml-html-qq-0.1.0.1@sha256:1e6dc32d764da2b80eed8809cdbee0cb1f57011fa95ad1d8fe5949c4d8bde568,2331 +snapshots: +- completed: + size: 558061 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2020/12/14.yaml + sha256: 0c80697b1db876c0ab31b43e42be53f886657a336eca59c73c361078e631d65b + original: nightly-2020-12-14 diff --git a/termonad.cabal b/termonad.cabal index 816e7b77..049a51fc 100644 --- a/termonad.cabal +++ b/termonad.cabal @@ -1,5 +1,5 @@ name: termonad -version: 4.0.1.1 +version: 4.0.1.2 synopsis: Terminal emulator configurable in Haskell description: Termonad is a terminal emulator configurable in Haskell. It is extremely @@ -147,8 +147,15 @@ test-suite doctests , doctest , QuickCheck , template-haskell + , termonad default-language: Haskell2010 ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N + -- For some reason doctests appear to be segfaulting when compiling with + -- ghc-8.10.3, so only build them when using ghc-8.10.2 or earlier. + if impl(ghc <= 8.10.2) + buildable: True + else + buildable: False test-suite termonad-test type: exitcode-stdio-1.0