chore(3p/sources): Bump channels & overlays

The main change is that nixpkgs updated to GHC 9.2 and Stackage LTS-20,
so we suffer from a bit of churn.

* //3p/overlays/haskell:

  - use updated dhall-nix patch for hnix 0.16

  - use superrecord fork with fixes for GHC 9.2

  - use graphmod-1.4.5.1 which has support for GHC 9.2

* //users/Profpatsch: relax constraints on base in Haskell pkgs

* //users/Profpatsch/cas-serve: inherit superrecord from 3p

* //users/grfn/xanthous:

  - //3p/overlays/haskell for 8.10.7:

    * Provide missing dependency of binary-orphans. Fix already commited
      upstream as e238c3fdaab710a2ce0135e5a77cd7e6bb023a22, can be
      dropped when channel advances.

    * Downgrade to brick 0.71.1, the latest version xanthous supports.

  - Adjust to generic-arbitrary >= 1.0, providing Arg constraints where
    necessary.

  - Increase constraint-solver-iterations to 6 (default 4), so
    Xanthous.Command and Xanthous.Data can be typechecked.

  - Drop NFData instances for Key and Modifier which have been added to
    vty upstream.

Change-Id: I2170438c2ce8130b65f1a9fe07c4fecab5683d66
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7654
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
This commit is contained in:
sterni 2022-12-27 14:32:52 +01:00 committed by tazjin
parent 86361f0f4a
commit 5a063def51
15 changed files with 187 additions and 56 deletions

View file

@ -7,15 +7,19 @@
self: super: # overlay parameters for the nixpkgs overlay
let
dhall-source = subdir: pkg: super.haskell.lib.overrideSrc pkg {
src = "${super.fetchFromGitHub {
owner = "Profpatsch";
repo = "dhall-haskell";
# https://github.com/dhall-lang/dhall-haskell/pull/2426
rev = "82123817316192d39f9a3e68b8ce9c9cff0a48ed";
sha256 = "sha256-gbHoUKIdLPIttqeV471jsT8OJz6uiI6LpHOwtLbBGHY=";
}}/${subdir}";
};
haskellLib = self.haskell.lib.compose;
dhall-source = subdir: pkg:
haskellLib.overrideSrc
{
src = "${super.fetchFromGitHub {
owner = "Profpatsch";
repo = "dhall-haskell";
# https://github.com/dhall-lang/dhall-haskell/pull/2426
rev = "5e3a407d8ac826597d935d8398825a0ca73fc4e9";
sha256 = "005plj6kgxlkm9npaq07kmsgmiqk50dpwb9li9w1ly4aj1zgfjnd";
}}/${subdir}";
}
(haskellLib.overrideCabal { patches = [ ]; } pkg);
in
@ -25,6 +29,24 @@ in
# TODO: this is to fix a bug in dhall-nix
dhall = dhall-source "dhall" hsSuper.dhall;
dhall-nix = dhall-source "dhall-nix" hsSuper.dhall-nix;
# TODO(Profpatsch): move cas-serve off superrecord
# https://github.com/agrafix/superrecord/pull/35
# https://github.com/agrafix/superrecord/pull/37
superrecord = haskellLib.overrideSrc
{
src = self.fetchFromGitHub {
owner = "possehl-analytics";
repo = "superrecord";
rev = "05c8fdd724af5189a9a8be2f30dfa55a67f8b656";
sha256 = "0p6a280kils12ycdlp6dd7392940yzzy6xi8pjar975j38fm3x5a";
};
}
hsSuper.superrecord;
# Use recently-released version that has 9.2 support
graphmod = assert hsSuper.graphmod != "1.4.5.1";
hsSelf.callPackage ./extra-pkgs/graphmod-1.4.5.1.nix { };
};
};
@ -35,6 +57,16 @@ in
# so we can use GHC 9.0.2 and benefit from upstream binary cache.
random-fu = hsSelf.callPackage ./extra-pkgs/random-fu-0.2.nix { };
rvar = hsSelf.callPackage ./extra-pkgs/rvar-0.2.nix { };
# TODO(grfn): port to brick 1.4
# Breaking changes since 0.68:
# - handleEditorEvent takes a BrickEvent (0.72)
# - EventM gains an additional type argument (1.0)
brick = hsSelf.callPackage ./extra-pkgs/brick-0.71.1.nix { };
# TODO(sterni): upstream into nixpkgs
binary-orphans =
haskellLib.addBuildDepends [ hsSelf.OneTuple ] hsSuper.binary-orphans;
};
};
};

View file

@ -0,0 +1,70 @@
{ mkDerivation
, base
, bytestring
, config-ini
, containers
, contravariant
, data-clist
, deepseq
, directory
, dlist
, exceptions
, filepath
, lib
, microlens
, microlens-mtl
, microlens-th
, QuickCheck
, stm
, template-haskell
, text
, text-zipper
, transformers
, unix
, vector
, vty
, word-wrap
}:
mkDerivation {
pname = "brick";
version = "0.71.1";
sha256 = "49701466384534b131650bec0a2b3c4811b410a3e55a392edef8d5fa6322d254";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
base
bytestring
config-ini
containers
contravariant
data-clist
deepseq
directory
dlist
exceptions
filepath
microlens
microlens-mtl
microlens-th
stm
template-haskell
text
text-zipper
transformers
unix
vector
vty
word-wrap
];
testHaskellDepends = [
base
containers
microlens
QuickCheck
vector
vty
];
homepage = "https://github.com/jtdaugherty/brick/";
description = "A declarative terminal user interface library";
license = lib.licenses.bsd3;
}

View file

@ -0,0 +1,33 @@
{ mkDerivation
, base
, Cabal
, containers
, directory
, dotgen
, filepath
, haskell-lexer
, lib
, pretty
}:
mkDerivation {
pname = "graphmod";
version = "1.4.5.1";
sha256 = "d72b70dd47ba85756e963681307d8dcf341e9d1f0c3b50bd34c33a4e429436cc";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
base
Cabal
containers
directory
dotgen
filepath
haskell-lexer
pretty
];
executableHaskellDepends = [ base ];
homepage = "http://github.com/yav/graphmod/wiki";
description = "Present the module dependencies of a program as a \"dot\" graph";
license = lib.licenses.bsd3;
mainProgram = "graphmod";
}

View file

@ -17,10 +17,10 @@
"homepage": "",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "1cb4409944f776fbf9ca79bbd25cd8f4c3b70069",
"sha256": "0v2bfjy00zcbn7897wxfhgpwmpgdsy1clgryrw7rzrj4mb42q7bg",
"rev": "ebbb22510930b5153de22357518ebd8ce7ed93b3",
"sha256": "1vmsk0znvjc6qlmiqgpzx07644rhfg0kgxx5l9ig9lrga1wwh8bs",
"type": "tarball",
"url": "https://github.com/nix-community/emacs-overlay/archive/1cb4409944f776fbf9ca79bbd25cd8f4c3b70069.tar.gz",
"url": "https://github.com/nix-community/emacs-overlay/archive/ebbb22510930b5153de22357518ebd8ce7ed93b3.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"home-manager": {
@ -29,10 +29,10 @@
"homepage": "https://nix-community.github.io/home-manager/",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d7eee202e597bc7789498a8664082cf0ffedaa8f",
"sha256": "0hfys6nblswfblm5m4ii3mnwhnihqpsvxjnd6fwa55k788x500xl",
"rev": "c55fa26ce05fee8e063db22918d05a73d430b2ea",
"sha256": "01wd61lp6sbhbvjjn0sb1waw5bbklbq4ci8k8i0chbg655yy1cld",
"type": "tarball",
"url": "https://github.com/nix-community/home-manager/archive/d7eee202e597bc7789498a8664082cf0ffedaa8f.tar.gz",
"url": "https://github.com/nix-community/home-manager/archive/c55fa26ce05fee8e063db22918d05a73d430b2ea.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"impermanence": {
@ -65,10 +65,10 @@
"homepage": "",
"owner": "nix-community",
"repo": "napalm",
"rev": "61f33f63fbab96e42d4537776091945939ea1a85",
"sha256": "14s6niz5z1gqkmkgyqbml63i70w1x67sg3zwnh1f8nqa8vmdyb1i",
"rev": "7c25a05cef52dc405f4688422ce0046ca94aadcf",
"sha256": "0aff7rikmyy4c2h6981vcv2n05xvllh2dqkhqxgz80z2nfapm7wb",
"type": "tarball",
"url": "https://github.com/nix-community/napalm/archive/61f33f63fbab96e42d4537776091945939ea1a85.tar.gz",
"url": "https://github.com/nix-community/napalm/archive/7c25a05cef52dc405f4688422ce0046ca94aadcf.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs": {
@ -77,10 +77,10 @@
"homepage": "",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "652e92b8064949a11bc193b90b74cb727f2a1405",
"sha256": "19vq1n9m73xfd8d521sxvxgv3fmpdk6lgwvij2cy6h88x58ijdx2",
"rev": "fad51abd42ca17a60fc1d4cb9382e2d79ae31836",
"sha256": "0jzy84zgjgblp2ph3kb2kj5z2k05vagn6ms5m80pjr2g27m6hr37",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/652e92b8064949a11bc193b90b74cb727f2a1405.tar.gz",
"url": "https://github.com/NixOS/nixpkgs/archive/fad51abd42ca17a60fc1d4cb9382e2d79ae31836.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs-stable": {
@ -101,10 +101,10 @@
"homepage": "",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "631e692192eeeea85cdfb2a9dccbbfce543478b1",
"sha256": "1k75xk6b3l7xsygrwjmhxr886bznc4rvwiwavn73kkb08v245qra",
"rev": "f4827ef0518463f31a52ab2e5c500c80558fdd78",
"sha256": "119fmjgqpnyqdaxk2r0zvah75x2n10lq7vl0bl99rs1qr7xhz2cv",
"type": "tarball",
"url": "https://github.com/oxalica/rust-overlay/archive/631e692192eeeea85cdfb2a9dccbbfce543478b1.tar.gz",
"url": "https://github.com/oxalica/rust-overlay/archive/f4827ef0518463f31a52ab2e5c500c80558fdd78.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"rustsec-advisory-db": {
@ -113,10 +113,10 @@
"homepage": "https://rustsec.org",
"owner": "RustSec",
"repo": "advisory-db",
"rev": "487a60b7a5d4337f3ac33c504f1e03ede505bcdb",
"sha256": "102jp2ajbm2gnvh9v4mfg7xkl9a91k0iq3133ml1d9nqz1grk3h4",
"rev": "6d5b76eb3be175fd2101b83140df15673531bb7b",
"sha256": "07xj50g978j8y4z39zrb1nm071pnw13wnlbhznrbzkm6v6abmsn7",
"type": "tarball",
"url": "https://github.com/RustSec/advisory-db/archive/487a60b7a5d4337f3ac33c504f1e03ede505bcdb.tar.gz",
"url": "https://github.com/RustSec/advisory-db/archive/6d5b76eb3be175fd2101b83140df15673531bb7b.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}
}

View file

@ -8,7 +8,7 @@ library
exposed-modules: ArglibNetencode
build-depends:
base ^>=4.15.1.0,
base >=4.15 && <5,
my-prelude,
netencode,
exec-helpers,

View file

@ -8,7 +8,7 @@ executable cas-serve
main-is: CasServe.hs
build-depends:
base ^>=4.15.1.0,
base >=4.15 && <5,
text,
sqlite-simple,
http-types,

View file

@ -7,17 +7,8 @@ let
pkgs.haskellPackages.wai
pkgs.haskellPackages.warp
pkgs.haskellPackages.sqlite-simple
pkgs.haskellPackages.superrecord
depot.users.Profpatsch.my-prelude
(pkgs.haskell.lib.dontCheck
(pkgs.haskell.lib.overrideSrc pkgs.haskellPackages.superrecord {
src = pkgs.fetchFromGitHub {
owner = "Profpatsch";
repo = "superrecord";
rev = "c00e933f582e3fb8d209f6cece91d464faf09082";
sha256 = "sha256-UQ2wCoBpUEPcRsI7wNOFGH+vceKF4dcbbGHFVVTkOWw=";
};
}))
];
ghcArgs = [ "-threaded" ];

View file

@ -8,7 +8,7 @@ library
exposed-modules: ExecHelpers
build-depends:
base ^>=4.15.1.0,
base >=4.15 && <5,
my-prelude
default-language: Haskell2010

View file

@ -8,7 +8,7 @@ executable ical-smolify
main-is: IcalSmolify.hs
build-depends:
base ^>=4.15.1.0,
base >=4.15 && <5,
my-prelude,
exec-helpers
data-default

View file

@ -13,7 +13,7 @@ library
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
build-depends:
base ^>=4.15.1.0
base >=4.15 && <5
, PyF
, validation-selective
, these

View file

@ -8,7 +8,7 @@ library
exposed-modules: Netencode
build-depends:
base ^>=4.15.1.0,
base >=4.15 && <5,
hedgehog,
nonempty-containers,
deriving-compat,

View file

@ -111,6 +111,7 @@ default-extensions:
ghc-options:
- -Wall
- -fconstraint-solver-iterations=6 # Xanthous.Data, Xanthous.Command
library:
source-dirs: src

View file

@ -191,7 +191,7 @@ y = lens (\(Position _ yy) -> yy) (\(Position xx _) yy -> Position xx yy)
type Position = Position' Int
instance Arbitrary a => Arbitrary (Position' a) where
instance (Arg (Position' a) a, Arbitrary a) => Arbitrary (Position' a) where
arbitrary = genericArbitrary
shrink (Position px py) = Position <$> shrink px <*> shrink py
@ -313,7 +313,8 @@ data Direction where
Here :: Direction
deriving stock (Show, Eq, Ord, Generic)
deriving anyclass (CoArbitrary, Function, NFData, ToJSON, FromJSON, Hashable)
deriving Arbitrary via GenericArbitrary Direction
deriving via (GenericArbitrary Direction) instance Arbitrary Direction
instance Opposite Direction where
opposite Up = Down
@ -432,7 +433,8 @@ data Neighbors a = Neighbors
}
deriving stock (Show, Eq, Ord, Functor, Foldable, Traversable, Generic)
deriving anyclass (NFData, CoArbitrary, Function, MonoFoldable)
deriving Arbitrary via GenericArbitrary (Neighbors a)
deriving via (GenericArbitrary (Neighbors a)) instance (Arg (Neighbors a) a, Arbitrary a) => Arbitrary (Neighbors a)
type instance Element (Neighbors a) = a
@ -768,9 +770,12 @@ data Box a = Box
, _dimensions :: V2 a
}
deriving stock (Show, Eq, Ord, Functor, Generic)
deriving Arbitrary via GenericArbitrary (Box a)
makeFieldsNoPrefix ''Box
-- It seems to be necessary to have an `Arg (V2 a) a` constraint, as a is passed
-- to V2 internally, in order to make GHC figure out this deriving via correctly.
deriving via (GenericArbitrary (Box a)) instance (Arg (V2 a) a, Arbitrary a) => Arbitrary (Box a)
bottomRightCorner :: Num a => Box a -> V2 a
bottomRightCorner box =
V2 (box ^. topLeftCorner . L._x + box ^. dimensions . L._x)

View file

@ -22,6 +22,7 @@ import Brick.Widgets.Core (getName)
import System.Random.Internal (StdGen (..))
import System.Random.SplitMix (SMGen ())
import Test.QuickCheck
import Test.QuickCheck.Arbitrary.Generic (Arg ())
import "quickcheck-instances" Test.QuickCheck.Instances ()
import Text.Megaparsec (errorBundlePretty)
import Text.Megaparsec.Pos
@ -307,9 +308,7 @@ deriving stock instance Ord a => Ord (MaybeDefault a)
deriving stock instance Ord Attr
deriving anyclass instance Hashable Graphics.Vty.Input.Events.Key
deriving anyclass instance NFData Graphics.Vty.Input.Events.Key
deriving anyclass instance Hashable Graphics.Vty.Input.Events.Modifier
deriving anyclass instance NFData Graphics.Vty.Input.Events.Modifier
--------------------------------------------------------------------------------
@ -374,7 +373,7 @@ deriving newtype instance (Arbitrary s, CoArbitrary (m (a, s)))
--------------------------------------------------------------------------------
deriving via (GenericArbitrary (V2 a)) instance Arbitrary a => Arbitrary (V2 a)
deriving via (GenericArbitrary (V2 a)) instance (Arg (V2 a) a, Arbitrary a) => Arbitrary (V2 a)
instance CoArbitrary a => CoArbitrary (V2 a)
instance Function a => Function (V2 a)

View file

@ -1,10 +1,10 @@
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.34.6.
-- This file has been generated from package.yaml by hpack version 0.35.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: 107b223a62633bc51425e8f9d5ab489a7a47464953a81ca693efb496c41f1aa3
-- hash: b3bf8e65d621856081832c9d3c8e8ad38799e23a7f5084dc4f972daa654a0ff3
name: xanthous
version: 0.1.0.0
@ -119,7 +119,7 @@ library
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall
ghc-options: -Wall -fconstraint-solver-iterations=6
build-depends:
JuicyPixels
, MonadRandom
@ -220,7 +220,7 @@ executable xanthous
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2
ghc-options: -Wall -fconstraint-solver-iterations=6 -threaded -rtsopts -with-rtsopts=-N -O2
build-depends:
JuicyPixels
, MonadRandom
@ -349,7 +349,7 @@ test-suite test
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O0
ghc-options: -Wall -fconstraint-solver-iterations=6 -threaded -rtsopts -with-rtsopts=-N -O0
build-depends:
JuicyPixels
, MonadRandom
@ -460,7 +460,7 @@ benchmark benchmark
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
ghc-options: -Wall -fconstraint-solver-iterations=6 -threaded -rtsopts -with-rtsopts=-N
build-depends:
JuicyPixels
, MonadRandom