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:
parent
1a2fe4b063
commit
11f9306b9a
24 changed files with 119 additions and 89 deletions
|
@ -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
|
||||
{
|
||||
|
|
3
third_party/arion/OWNERS
vendored
3
third_party/arion/OWNERS
vendored
|
@ -1,3 +0,0 @@
|
|||
inherit: true
|
||||
owners:
|
||||
- grfn
|
10
third_party/arion/default.nix
vendored
10
third_party/arion/default.nix
vendored
|
@ -1,10 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
(import
|
||||
(pkgs.fetchFromGitHub {
|
||||
owner = "hercules-ci";
|
||||
repo = "arion";
|
||||
rev = "db6d4d7490dff363de60cebbece3ae9361e3ce43";
|
||||
sha256 = "0d8nqmc7fjshigax2g47ips262v8ml27x0ksq59kmprgb7ckzi5l";
|
||||
})
|
||||
{ inherit pkgs; }).arion
|
1
third_party/overlays/haskell/.skip-subtree
vendored
Normal file
1
third_party/overlays/haskell/.skip-subtree
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
extra-pkgs need to be callPackage-ed
|
19
third_party/overlays/haskell/default.nix
vendored
19
third_party/overlays/haskell/default.nix
vendored
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
41
third_party/overlays/haskell/extra-pkgs/random-fu-0.2.nix
vendored
Normal file
41
third_party/overlays/haskell/extra-pkgs/random-fu-0.2.nix
vendored
Normal 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;
|
||||
}
|
25
third_party/overlays/haskell/extra-pkgs/rvar-0.2.nix
vendored
Normal file
25
third_party/overlays/haskell/extra-pkgs/rvar-0.2.nix
vendored
Normal 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;
|
||||
}
|
|
@ -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
|
24
third_party/overlays/tvl.nix
vendored
24
third_party/overlays/tvl.nix
vendored
|
@ -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";
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
24
third_party/sources/sources.json
vendored
24
third_party/sources/sources.json
vendored
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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: {
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -25,7 +25,6 @@ import Test.QuickCheck
|
|||
import Test.QuickCheck.Arbitrary.Generic
|
||||
--------------------------------------------------------------------------------
|
||||
import Xanthous.Data
|
||||
import Xanthous.Util.QuickCheck
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
@ -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 #-}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -10,6 +10,9 @@ let
|
|||
|
||||
in
|
||||
rustfmt.overrideAttrs (_: {
|
||||
# rustfmt not respecting config atm, disable
|
||||
meta.ci.skip = true;
|
||||
|
||||
meta.ci.extraSteps.rustfmt = {
|
||||
command = rustfmt;
|
||||
};
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue