Skip to content

Commit 12acbd7

Browse files
Update to new version of hs-web3 and GHC 9.2.4
1 parent 66b3916 commit 12acbd7

File tree

8 files changed

+208
-11
lines changed

8 files changed

+208
-11
lines changed

default.nix

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{ mkDerivation, base, generics-sop, lib, zlib, web3-ethereum }:
2+
mkDerivation {
3+
pname = "pixura-contracts";
4+
version = "0.3.0.0";
5+
src = ./.;
6+
libraryHaskellDepends = [ base generics-sop web3-ethereum ];
7+
libraryPkgconfigDepends = [ zlib ];
8+
homepage = "https://github.com/Pixura/pixura-contracts#readme";
9+
license = lib.licenses.bsd3;
10+
}

flake.lock

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
# inspired by: https://serokell.io/blog/practical-nix-flakes#packaging-existing-applications
3+
description = "A Hello World in Haskell with a dependency and a devShell";
4+
inputs =
5+
{
6+
nixpkgs.url = "nixpkgs";
7+
hs-web3 =
8+
{ url = "hs-web3";
9+
inputs.nixpkgs.url = "nixpkgs";
10+
};
11+
};
12+
outputs = { self, nixpkgs, hs-web3 }:
13+
let
14+
supportedSystems = [ "x86_64-linux" "x86_64-darwin" ];
15+
forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system);
16+
nixpkgsFor = forAllSystems (system: import nixpkgs {
17+
inherit system;
18+
overlays = [ (self.overlay system) ];
19+
});
20+
in
21+
{
22+
overlay = (system: final: prev: {
23+
pixura-contracts = final.haskell.packages.ghc924.callPackage (import ./default.nix) {
24+
inherit (final) zlib;
25+
inherit (hs-web3.packages.${system}) web3-ethereum;
26+
};
27+
});
28+
packages = forAllSystems (system: {
29+
pixura-contracts = nixpkgsFor.${system}.pixura-contracts;
30+
});
31+
defaultPackage = forAllSystems (system: self.packages.${system}.pixura-contracts);
32+
checks = self.packages;
33+
devShell = forAllSystems (system:
34+
let haskellPackages = nixpkgsFor.${system}.haskell.packages.ghc924;
35+
in haskellPackages.shellFor
36+
{
37+
packages = p: [self.packages.${system}.pixura-contracts];
38+
withHoogle = true;
39+
buildInputs = with haskellPackages;
40+
[
41+
haskell-language-server
42+
cabal-install
43+
];
44+
# Change the prompt to show that you are in a devShell
45+
# shellHook = "export PS1='\\e[1;34mdev > \\e[0m'";
46+
});
47+
};
48+
}

package.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ default-extensions:
4848
dependencies:
4949
- base >=4.7 && <5
5050
- generics-sop
51-
- web3
51+
- web3-ethereum
5252
library:
5353
source-dirs: hs-contracts/src
5454
ghc-options: -Wall -Werror

pixura-contracts.cabal

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 1.12
22

3-
-- This file has been generated from package.yaml by hpack version 0.33.0.
3+
-- This file has been generated from package.yaml by hpack version 0.34.7.
44
--
55
-- see: https://github.com/sol/hpack
66
--
@@ -57,10 +57,45 @@ library
5757
Paths_pixura_contracts
5858
hs-source-dirs:
5959
hs-contracts/src
60-
default-extensions: ApplicativeDo BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PatternSynonyms RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators
60+
default-extensions:
61+
ApplicativeDo
62+
BangPatterns
63+
ConstraintKinds
64+
DataKinds
65+
DefaultSignatures
66+
DeriveFoldable
67+
DeriveFunctor
68+
DeriveGeneric
69+
DeriveLift
70+
DeriveTraversable
71+
DerivingStrategies
72+
EmptyCase
73+
ExistentialQuantification
74+
FlexibleContexts
75+
FlexibleInstances
76+
FunctionalDependencies
77+
GADTs
78+
GeneralizedNewtypeDeriving
79+
InstanceSigs
80+
KindSignatures
81+
LambdaCase
82+
MultiParamTypeClasses
83+
MultiWayIf
84+
NamedFieldPuns
85+
OverloadedStrings
86+
PatternSynonyms
87+
RankNTypes
88+
RecordWildCards
89+
ScopedTypeVariables
90+
StandaloneDeriving
91+
TupleSections
92+
TypeApplications
93+
TypeFamilies
94+
TypeFamilyDependencies
95+
TypeOperators
6196
ghc-options: -Wall -Werror
6297
build-depends:
6398
base >=4.7 && <5
6499
, generics-sop
65-
, web3
100+
, web3-ethereum
66101
default-language: Haskell2010

shell.nix

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{ nixpkgs ? import <nixpkgs> {}, compiler ? "default", doBenchmark ? false }:
2+
3+
let
4+
5+
inherit (nixpkgs) pkgs;
6+
7+
f = { mkDerivation, base, generics-sop, hpack, lib, web3 }:
8+
mkDerivation {
9+
pname = "pixura-contracts";
10+
version = "0.3.0.0";
11+
src = ./.;
12+
libraryHaskellDepends = [ base generics-sop ];
13+
libraryToolDepends = [ hpack ];
14+
prePatch = "hpack";
15+
homepage = "https://github.com/Pixura/pixura-contracts#readme";
16+
license = lib.licenses.bsd3;
17+
};
18+
19+
haskellPackages = if compiler == "default"
20+
then pkgs.haskellPackages
21+
else pkgs.haskell.packages.${compiler};
22+
23+
variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id;
24+
25+
drv = variant (haskellPackages.callPackage f {});
26+
27+
in
28+
29+
if pkgs.lib.inNixShell then drv.env else drv

stack.yaml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,24 @@
1-
resolver: lts-14.6
1+
resolver:
2+
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/7/28.yaml
23

34
packages:
45
- "."
56

7+
allow-newer: true
8+
69
extra-deps:
7-
- git: https://github.com/Pixura/hs-web3
8-
commit: 175ca55de9be31054a8246d8c5ed8d7ce7813d83
10+
- git: https://github.com/superrare/hs-web3
11+
commit: ac45f1fe34c2290739dcb7603a075c55385c2a51
12+
subdirs:
13+
- packages/bignum
14+
- packages/crypto
15+
- packages/ethereum
16+
- packages/hexstring
17+
- packages/ipfs
18+
- packages/jsonrpc
19+
- packages/polkadot
20+
- packages/provider
21+
- packages/scale
22+
- packages/solidity
23+
- packages/web3
24+
- relapse-1.0.0.0@sha256:b89ea23189e07f377be4e2a4deccf3d6ba7f547ed8ad77e27b35d78801efd81c

stack.yaml.lock

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ packages:
1717
commit: 175ca55de9be31054a8246d8c5ed8d7ce7813d83
1818
snapshots:
1919
- completed:
20-
size: 524127
21-
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/6.yaml
22-
sha256: dc70dfb45e2c32f54719819bd055f46855dd4b3bd2e58b9f3f38729a2d553fbb
23-
original: lts-14.6
20+
sha256: 83cd17c52003e19611bd84c678f78fb0d98828ab8bc300a0b53ff2ae4f894ac5
21+
size: 617444
22+
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/7/28.yaml
23+
original:
24+
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/7/28.yaml

0 commit comments

Comments
 (0)