Skip to content

Commit

Permalink
Merge master
Browse files Browse the repository at this point in the history
  • Loading branch information
j6carey committed Jan 17, 2025
2 parents 0c6a3dd + 54e9d54 commit 37a84b3
Show file tree
Hide file tree
Showing 16 changed files with 172 additions and 233 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
- ghc948
- ghc965
- ghc982
- ghc9101
dhall:
- false
- true
Expand All @@ -36,6 +37,8 @@ jobs:
largeRecords: true
- compiler: ghc982
largeRecords: true
- compiler: ghc9101
largeRecords: true
- compiler: ghc902
os: macos-latest
runs-on: ${{ matrix.os }}
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# 0.8.2
* Support GHC 9.10.
* Test with nixpkgs-24.11.
* Fix overlong encoding of packed "sint32" fields containing elements in
[-0x80000000, -0x40000001] or [0x40000000, 0x7FFFFFFF], which increased
message size and hindered forward compatibility of "sint32" with "sint64".
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ for more details.

### GHC Versions

#### GHC 9.10

We do not support features making use of the "large-records"
library because it does not currently build on GHC 9.10, and
therefore we cannot test our support.

Otherwise we support GHC 9.10 on Linux and Darwin.

#### GHC 9.8

We do not support features making use of the "large-records"
Expand Down
2 changes: 1 addition & 1 deletion default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ compiler ? "ghc8107"
{ compiler ? "ghc948"
, enableDhall ? false
, enableSwagger ? true
, swaggerWrapperFormat ? false
Expand Down
10 changes: 5 additions & 5 deletions nix/nixpkgs.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ args:

let
nixpkgs = builtins.fetchTarball {
# from: https://hydra.nixos.org/job/nixos/release-24.05/nixpkgs.tarball
# build: https://hydra.nixos.org/build/262713240
# commit: cc54fb41d13736e92229c21627ea4f22199fee6b
url = "https://hydra.nixos.org/build/262713240/download/2/nixpkgs-24.05pre631579.cc54fb41d137.tar.xz";
sha256 = "01jgwy8ixfnl7dig5qhih34lrx2g9xpj64yr49n0lyvpwj44s475";
# from: https://hydra.nixos.org/job/nixos/release-24.11/nixpkgs.tarball
# build: https://hydra.nixos.org/build/284195557
# commit: cbd8ec4de4469333c82ff40d057350c30e9f7d36
url = "https://hydra.nixos.org/build/284195557/download/2/nixpkgs-24.11pre712431.cbd8ec4de446.tar.xz";
sha256 = "0ljq084fq784fgvm7n9081dmnjhksz20vwzca2zics0kkkzjxh5k";
};
in import nixpkgs ({ config = { }; } // args)
47 changes: 35 additions & 12 deletions nix/overlays/haskell-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,12 @@ in {

# With nixpkgs-23.11 and ghc981, atomic-write wants hspec for testing,
# which causes problems.
#
# With nixpkgs-24.11 and our overrides, atomic-write thinks that
# filepath is out of bounds.
atomic-write =
pkgsNew.haskell.lib.dontCheck haskellPackagesOld.atomic-write;
pkgsNew.haskell.lib.doJailbreak
(pkgsNew.haskell.lib.dontCheck haskellPackagesOld.atomic-write);

# With nixpkgs-23.11 and ghc981, base-compat-batteries wants hspec for testing,
# which causes problems.
Expand All @@ -76,6 +80,11 @@ in {
bifunctors =
pkgsNew.haskell.lib.dontCheck haskellPackagesOld.bifunctors;

# With nixpkgs-24.11 and our overrides, cabal-install-solver does
# not like the version of directory when building with GHC 9.0.
cabal-install-solver =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.cabal-install-solver;

# With nixpkgs-23.11 and ghc981, conduit wants hspec for testing,
# which causes problems.
conduit =
Expand Down Expand Up @@ -118,12 +127,6 @@ in {
half =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.half;

# With nixpkgs-24.05 and ghc982, we observed a non-reproducible
# failure of the hedgehog tests. Rather than risk occasional
# failures building this test dependency, we skip its tests.
hedgehog =
pkgsNew.haskell.lib.dontCheck haskellPackagesOld.hedgehog;

# With nixpkgs-23.11 and ghc981, hourglass does not support the version
# of the time package that is provided, but that matters only to tests.
hourglass =
Expand Down Expand Up @@ -172,6 +175,10 @@ in {
large-records =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.large-records;

# With nixpkgs-24.11 and our overrides, lens thinks that template-haskell is out of bounds.
lens =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.lens;

# With nixpkgs-23.11 and ghc981 (or perhaps our customized dependencies),
# the tests in lifted-base fail.
lifted-base =
Expand All @@ -196,9 +203,13 @@ in {
network-uri =
pkgsNew.haskell.lib.dontCheck haskellPackagesOld.network-uri;

# With nixpkgs-23.11 and our overrides, rerebase that rebase is out of bounds.
rerebase =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.rerebase;
# With nixpkgs-24.11 and our overrides, repline thinks that containers is out of bounds.
repline =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.repline;

# With nixpkgs-24.11 and our overrides, serialise thinks that base is out of bounds.
serialise =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.serialise;

# With nixpkgs-23.11 and ghc981, safe-exceptions wants hspec for testing,
# which causes problems.
Expand All @@ -216,6 +227,14 @@ in {
pkgsNew.haskell.lib.dontCheck
(pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.swagger2);

# With nixpkgs-24.11 and our overrides, optics-extras thinks that containers is out of bounds.
optics-extra =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.optics-extra;

# With nixpkgs-24.11 and our overrides, optics-th thinks that containers and template-haskell are out of bounds.
optics-th =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.optics-th;

# With nixpkgs-23.11 and ghc981, reflection indirectly depends on hspec for testing,
# which causes problems.
reflection =
Expand Down Expand Up @@ -256,6 +275,10 @@ in {
th-lift =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.th-lift;

# With nixpkgs-24.11 and our overrides, turtle thinks that filepath is out of bounds.
turtle =
pkgsNew.haskell.lib.doJailbreak haskellPackagesOld.turtle;

# With nixpkgs-23.11 and ghc981, unix-compat wants hspec for testing,
# which causes problems.
unix-compat =
Expand Down Expand Up @@ -308,8 +331,8 @@ in {
source = pkgsNew.fetchFromGitHub {
owner = "awakesecurity";
repo = "proto3-wire";
rev = "f540d88c79fcc8232323d15d2bd60cd99a0d64a3"; # 1.4.4
sha256 = "ysV+V36pPw3cNdn3ILDVNRM5yoo6pXEwsPNCkpSNxwM=";
rev = "2a8e434b1b7686a26c9848cc6906c07389658a04"; # 1.4.4
sha256 = "fGPcpv1AFLbmEg9ZRiBbto3el49pHfPIIxQT6U2mebp=";
};
in
pkgsNew.haskell.lib.doJailbreak
Expand Down
21 changes: 0 additions & 21 deletions nix/packages/cborg.nix

This file was deleted.

19 changes: 0 additions & 19 deletions nix/packages/free.nix

This file was deleted.

27 changes: 0 additions & 27 deletions nix/packages/hedgehog.nix

This file was deleted.

40 changes: 0 additions & 40 deletions nix/packages/hpack.nix

This file was deleted.

20 changes: 0 additions & 20 deletions nix/packages/rebase.nix

This file was deleted.

17 changes: 0 additions & 17 deletions nix/packages/record-dot-preprocessor.nix

This file was deleted.

31 changes: 0 additions & 31 deletions nix/packages/serialise.nix

This file was deleted.

17 changes: 0 additions & 17 deletions nix/packages/tasty-hedgehog.nix

This file was deleted.

8 changes: 4 additions & 4 deletions proto3-suite.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,11 @@ library
bytestring >=0.10.6.0 && <0.13,
deepseq >=1.4 && <1.6,
cereal >= 0.5.1 && <0.6,
containers >=0.5 && < 0.7,
containers >=0.5 && <0.8,
contravariant >=1.4 && <1.6,
filepath,
foldl,
ghc >=9.0 && <9.9,
ghc >=9.0 && <9.11,
hashable,
insert-ordered-containers,
lens,
Expand Down Expand Up @@ -208,7 +208,7 @@ test-suite tests
, base64-bytestring >= 1.0.0.1 && < 1.3
, bytestring >=0.10.6.0 && <0.13
, cereal >= 0.5.1 && <0.6
, containers >=0.5 && < 0.7
, containers >=0.5 && <0.8
, deepseq >=1.4 && <1.6
, doctest
, generic-arbitrary
Expand Down Expand Up @@ -252,7 +252,7 @@ executable canonicalize-proto-file
hs-source-dirs: tools/canonicalize-proto-file
default-language: Haskell2010
build-depends: base >=4.15 && <5.0
, containers >=0.5 && <0.7
, containers >=0.5 && <0.8
, mtl >=2.2 && <2.4
, optparse-generic
, proto3-suite
Expand Down
Loading

0 comments on commit 37a84b3

Please sign in to comment.