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

Use nixos-unstable-small which fixes CVE-2018-25032
(out of bounds write while compressing).

* //users/grfn/xanthous:

  - Supporting random-fu 0.3 requires considerable changes and patching
    random-extras (https://github.com/aristidb/random-extras/pull/5).

    For now we downgrade random-fu and its dependency rvar to 0.2.*,
    forcing us to build xanthous with GHC 8.10.7, due to random-fu 0.2.*
    not supporting that version.

    Nix expressions for the downgraded packages are checked in to avoid
    the potential need to compile Haskell at pipeline eval time.

  - generic-arbitrary exposes a GenericArbitrary newtype now.
    This means we no longer have to implement it in xanthous
    downstream and patch generic-arbitrary to expose the
    GArbitrary type class.

  - Minor adjustments for lens 5.0:

    Xanthous.Game.Memo: clear needs to use ASetter' instead of Lens'

    Xanthous.Data.EntityMap: TraversableWithIndex no longer has an
    itraversed function.

  - Xanthous.Orphans: adjust for aeson's KeyMap, use KM.size explicitly
    instead of relying on MonoTraversable's length

* //nix/buildLisp: the CCL issue has resurfaced, disabling the
  implementation once again.

* //3p/arion: remove, as depot uses the nixpkgs package of it anyways.

* //users/wpcarro: accomodate GHC 9.0.1's stricter parsing of operators.

* //users/tazjin: disable rustfmt as it stopped respecting settings

* //3p/overlays: upgrade home-manager until fix for serivce generation
  has landed upstream

* //users/grfn/system: remove rr override, as the pinned commit is part
  of the 5.5.0 release shipped by nixpkgs.

Change-Id: If229e7317ba48498f85170b57ee9053f6997ff8a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5428
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
This commit is contained in:
sterni 2022-03-31 18:40:08 +02:00 committed by clbot
parent 1a2fe4b063
commit 11f9306b9a
24 changed files with 119 additions and 89 deletions

View file

@ -154,7 +154,8 @@ let
let
implementation = old.implementation or defaultImplementation;
brokenOn = old.brokenOn or [ ];
targets = lib.subtractLists (brokenOn ++ [ implementation.name ])
# TODO(sterni): https://github.com/Clozure/ccl/issues/405#issuecomment-1085241805
targets = lib.subtractLists (brokenOn ++ [ "ccl" implementation.name ])
(builtins.attrNames impls);
in
{

View file

@ -1,3 +0,0 @@
inherit: true
owners:
- grfn

View file

@ -1,10 +0,0 @@
{ pkgs, ... }:
(import
(pkgs.fetchFromGitHub {
owner = "hercules-ci";
repo = "arion";
rev = "db6d4d7490dff363de60cebbece3ae9361e3ce43";
sha256 = "0d8nqmc7fjshigax2g47ips262v8ml27x0ksq59kmprgb7ckzi5l";
})
{ inherit pkgs; }).arion

View file

@ -0,0 +1 @@
extra-pkgs need to be callPackage-ed

View file

@ -7,13 +7,26 @@
self: super: # overlay parameters for the nixpkgs overlay
let
overrides = hsSelf: hsSuper: with super.haskell.lib; {
generic-arbitrary = appendPatch hsSuper.generic-arbitrary
[ ./patches/generic-arbitrary-export-garbitrary.patch ];
overrides = hsSelf: hsSuper: with self.haskell.lib.compose; {
# No overrides for the default package set necessary at the moment
};
in
{
haskellPackages = super.haskellPackages.override {
inherit overrides;
};
haskell = lib.recursiveUpdate super.haskell {
packages.ghc8107 = super.haskell.packages.ghc8107.override {
overrides = hsSelf: hsSuper: with self.haskell.lib.compose; {
# TODO(sterni): TODO(grfn): patch xanthous to work with random-fu 0.3.*,
# 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(sterni): upstream this
universe-base = addBuildDepend hsSelf.OneTuple hsSuper.universe-base;
};
};
};
}

View file

@ -0,0 +1,41 @@
{ mkDerivation
, base
, erf
, lib
, math-functions
, monad-loops
, mtl
, random
, random-shuffle
, random-source
, rvar
, syb
, template-haskell
, transformers
, vector
}:
mkDerivation {
pname = "random-fu";
version = "0.2.7.7";
sha256 = "8466bcfb5290bdc30a571c91e1eb526c419ea9773bc118996778b516cfc665ca";
revision = "1";
editedCabalFile = "16nhymfriygqr2by9v72vdzv93v6vhd9z07pgaji4zvv66jikv82";
libraryHaskellDepends = [
base
erf
math-functions
monad-loops
mtl
random
random-shuffle
random-source
rvar
syb
template-haskell
transformers
vector
];
homepage = "https://github.com/mokus0/random-fu";
description = "Random number generation";
license = lib.licenses.publicDomain;
}

View file

@ -0,0 +1,25 @@
{ mkDerivation
, base
, lib
, MonadPrompt
, mtl
, random-source
, transformers
}:
mkDerivation {
pname = "rvar";
version = "0.2.0.6";
sha256 = "01e18875ffde43f9591a8acd9f60c9c51704a026e51c1a6797faecd1c7ae8cd3";
revision = "1";
editedCabalFile = "1jn9ivlj3k65n8d9sfsp882m5lvni1ah79mk0cvkz91pgywvkiyq";
libraryHaskellDepends = [
base
MonadPrompt
mtl
random-source
transformers
];
homepage = "https://github.com/mokus0/random-fu";
description = "Random Variables";
license = lib.licenses.publicDomain;
}

View file

@ -1,12 +0,0 @@
diff --git a/src/Test/QuickCheck/Arbitrary/Generic.hs b/src/Test/QuickCheck/Arbitrary/Generic.hs
index fed6ab3..91f59f1 100644
--- a/src/Test/QuickCheck/Arbitrary/Generic.hs
+++ b/src/Test/QuickCheck/Arbitrary/Generic.hs
@@ -23,6 +23,7 @@ The generated 'arbitrary' method is equivalent to
module Test.QuickCheck.Arbitrary.Generic
( Arbitrary(..)
+ , GArbitrary
, genericArbitrary
, genericShrink
) where

View file

@ -75,21 +75,15 @@ self: super: {
});
});
# Temporary workaround until the following commit is in channels:
# https://github.com/nixos/nixpkgs/commit/5819b99350d7ac6e20f91adce38e7bb22e4d6fc4
ocamlPackages = super.ocamlPackages.overrideScope' (oself: osuper: {
uutf =
let
expectedUrls = [
"https://erratique.ch/software/uutf/releases/uutf-${osuper.uutf.version}.tbz"
];
in
assert osuper.uutf.src.urls != expectedUrls;
osuper.uutf.overrideAttrs (old: {
src = self.fetchurl {
urls = expectedUrls;
sha256 = old.src.outputHash;
# upgrade home-manager until the service-generation fix has landed upstream
# https://github.com/nix-community/home-manager/issues/2846
home-manager = super.home-manager.overrideAttrs (old: rec {
version = assert super.home-manager.version == "2021-12-25"; "2022-04-08";
src = self.fetchFromGitHub {
owner = "nix-community";
repo = "home-manager";
rev = "f911ebbec927e8e9b582f2e32e2b35f730074cfc";
sha256 = "07qa2qkbjczj3d0m03jpw85hfj35cbjm48xhifz3viy4khjw88vl";
};
});
});
}

View file

@ -5,10 +5,10 @@
"homepage": "",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "26da73dd9129d267f0c8c26b591ab91050c4cdc9",
"sha256": "0sd868br1jqmihgm97ma1jv8r78x1n7s7bqjk5dl4v6s2rhzy3br",
"rev": "e0f4bc33ca1776c1103d15a63f022e29486d9455",
"sha256": "1jci75bs4cz46wbkmhlf07sys75i524bi1jgf49b7glp6z8857cw",
"type": "tarball",
"url": "https://github.com/nix-community/emacs-overlay/archive/26da73dd9129d267f0c8c26b591ab91050c4cdc9.tar.gz",
"url": "https://github.com/nix-community/emacs-overlay/archive/e0f4bc33ca1776c1103d15a63f022e29486d9455.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs": {
@ -17,10 +17,10 @@
"homepage": "",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ce8cbe3c01fd8ee2de526ccd84bbf9b82397a510",
"sha256": "19xfad7pxsp6nkrkjhn36w77w92m60ysq7njn711slw74yj6ibxv",
"rev": "fd364d268852561223a5ada15caad669fd72800e",
"sha256": "133i5fsx0gix37q4nxm1vfsl9hqbfzv458xykilqhgxmv45jmfl2",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/ce8cbe3c01fd8ee2de526ccd84bbf9b82397a510.tar.gz",
"url": "https://github.com/NixOS/nixpkgs/archive/fd364d268852561223a5ada15caad669fd72800e.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs-stable": {
@ -29,10 +29,10 @@
"homepage": "",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b168e5e62406fa2e55e132f390379a6ba22b402",
"sha256": "16baazcid93afjg75mf8w3hihyc4wilcq0mawxfrilm1xqm52265",
"rev": "715dc137b08213aabbbe0965b78ab938e5d8d3b7",
"sha256": "1q5pxys0s6nb3h1vbmmcr27frf1i5j8pzgc2gm1908yy0himi9ap",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/9b168e5e62406fa2e55e132f390379a6ba22b402.tar.gz",
"url": "https://github.com/NixOS/nixpkgs/archive/715dc137b08213aabbbe0965b78ab938e5d8d3b7.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"rustsec-advisory-db": {
@ -41,10 +41,10 @@
"homepage": "https://rustsec.org",
"owner": "RustSec",
"repo": "advisory-db",
"rev": "1aca83f114ddf1e94b754a475c40b93fd764a867",
"sha256": "1kfrl2qlzg5miwhf83vf63hxizvib9a34h0jlfycfc7zp8sbdy0m",
"rev": "ce150ef8cbed58f21f235c267cd5f501ffa56756",
"sha256": "11fmzfnawg2prjl4s8z1p7xans3pnpb4gy91v0qcq3fskhsldahr",
"type": "tarball",
"url": "https://github.com/RustSec/advisory-db/archive/1aca83f114ddf1e94b754a475c40b93fd764a867.tar.gz",
"url": "https://github.com/RustSec/advisory-db/archive/ce150ef8cbed58f21f235c267cd5f501ffa56756.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}
}

View file

@ -59,16 +59,7 @@ with lib;
lldb
hyperfine
clang-tools_11
(rr.overrideAttrs (_: rec {
version = "f25671d094edac8059cec56b98d7f10f2c740697";
src = pkgs.fetchFromGitHub {
owner = "rr-debugger";
repo = "rr";
rev = version;
sha256 = "149s4mw8vl8d3nx15sfp62z0izp2dibz99k720j75rjnkwk2bq2z";
fetchSubmodules = true;
};
}))
rr
clj2nix
clojure

View file

@ -15,7 +15,7 @@ let
|| builtins.baseNameOf path == "package.yaml");
};
# generated by cabal2nix
basePkg = pkgs.haskellPackages.callPackage ./pkg.nix { };
basePkg = pkgs.haskell.packages.ghc8107.callPackage ./pkg.nix { };
in
pkgs.haskell.lib.overrideCabal basePkg (default: {

View file

@ -4,7 +4,7 @@ let
pkgs = third_party.nixpkgs;
in
(pkgs.haskellPackages.extend (pkgs.haskell.lib.packageSourceOverrides {
(pkgs.haskell.packages.ghc8107.extend (pkgs.haskell.lib.packageSourceOverrides {
xanthous = third_party.gitignoreSource ./.;
})).shellFor {
packages = p: [ p.xanthous ];

View file

@ -131,7 +131,6 @@ import Data.Coerce
import Data.Proxy (Proxy(Proxy))
--------------------------------------------------------------------------------
import Xanthous.Util (EqEqProp(..), EqProp, between)
import Xanthous.Util.QuickCheck (GenericArbitrary(..))
import Xanthous.Orphans ()
import Xanthous.Util.Graphics
import qualified Linear.Metric as Metric

View file

@ -133,7 +133,6 @@ instance FunctorWithIndex EntityID EntityMap
instance FoldableWithIndex EntityID EntityMap
instance TraversableWithIndex EntityID EntityMap where
itraversed = byID . itraversed . rmap sequenceA . distrib
itraverse = itraverseOf itraversed
type instance Element (EntityMap a) = a

View file

@ -45,7 +45,6 @@ import Test.QuickCheck.Checkers (EqProp)
import Control.Monad.State.Lazy (execState)
import Control.Monad.Trans.State.Lazy (execStateT)
--------------------------------------------------------------------------------
import Xanthous.Util.QuickCheck
import Xanthous.Game.State
import Xanthous.Entities.Item
import Xanthous.Entities.Common

View file

@ -25,7 +25,6 @@ import Test.QuickCheck
import Test.QuickCheck.Arbitrary.Generic
--------------------------------------------------------------------------------
import Xanthous.Data
import Xanthous.Util.QuickCheck
--------------------------------------------------------------------------------

View file

@ -45,7 +45,7 @@ emptyMemoState :: MemoState
emptyMemoState = MemoState { _characterVisiblePositions = UnMemoized }
{-# INLINE emptyMemoState #-}
clear :: Lens' MemoState (Memoized k v) -> MemoState -> MemoState
clear :: ASetter' MemoState (Memoized key val) -> MemoState -> MemoState
clear = flip set UnMemoized
{-# INLINE clear #-}

View file

@ -100,7 +100,6 @@ import qualified Graphics.Vty.Attributes as Vty
import qualified Graphics.Vty.Image as Vty
--------------------------------------------------------------------------------
import Xanthous.Util (KnownBool(..))
import Xanthous.Util.QuickCheck (GenericArbitrary(..))
import Xanthous.Data
import Xanthous.Data.App
import Xanthous.Data.Levels

View file

@ -11,7 +11,8 @@ module Xanthous.Orphans
--------------------------------------------------------------------------------
import Xanthous.Prelude hiding (elements, (.=))
--------------------------------------------------------------------------------
import Data.Aeson
import Data.Aeson hiding (Key)
import qualified Data.Aeson.KeyMap as KM
import Data.Aeson.Types (typeMismatch)
import Data.List.NonEmpty (NonEmpty(..))
import Graphics.Vty.Attributes
@ -461,7 +462,7 @@ instance forall a. (FromJSON a, Ord a) => FromJSON (Interval a) where
upper <- parseBound $ arr ^?! ix 1
pure $ interval lower upper
parseBound = withObject "Bound" $ \obj -> do
when (length obj /= 1) $ fail "Expected an object with a single key"
when (KM.size obj /= 1) $ fail "Expected an object with a single key"
let [(k, v)] = obj ^@.. ifolded
boundary <- case k of
"Excluded" -> pure Open

View file

@ -14,7 +14,6 @@ import Test.QuickCheck.Function
import Test.QuickCheck.Instances.ByteString ()
import Test.QuickCheck.Arbitrary.Generic
import Data.Aeson
import GHC.Generics (Rep)
--------------------------------------------------------------------------------
newtype FunctionShow a = FunctionShow a
@ -31,12 +30,3 @@ newtype FunctionJSON a = FunctionJSON a
instance (ToJSON a, FromJSON a) => Function (FunctionJSON a) where
function = functionJSON
--------------------------------------------------------------------------------
newtype GenericArbitrary a = GenericArbitrary a
deriving newtype Generic
instance (Generic a, GArbitrary rep, Rep a ~ rep)
=> Arbitrary (GenericArbitrary a) where
arbitrary = genericArbitrary

View file

@ -10,6 +10,9 @@ let
in
rustfmt.overrideAttrs (_: {
# rustfmt not respecting config atm, disable
meta.ci.skip = true;
meta.ci.extraSteps.rustfmt = {
command = rustfmt;
};

View file

@ -43,7 +43,7 @@ run = do
ctx@T.Context{..} <- ask
ctx
|> server
|> serve (Proxy @ API)
|> serve (Proxy @API)
|> cors (const $ Just corsPolicy)
|> Warp.run contextServerPort
|> liftIO

View file

@ -157,4 +157,4 @@ parseInput x =
_ -> Nothing
main :: IO ()
main = Warp.run 8000 $ serve (Proxy @ Api) server
main = Warp.run 8000 $ serve (Proxy @Api) server