Merge pull request 'Enable nix flake' (#1) from dev into main
Some checks failed
Haskell-CI / Haskell-CI - Linux - ghc-8.10.7 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-8.6.5 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-8.8.4 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-9.0.2 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-9.2.7 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-9.4.4 (push) Has been cancelled
Some checks failed
Haskell-CI / Haskell-CI - Linux - ghc-8.10.7 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-8.6.5 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-8.8.4 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-9.0.2 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-9.2.7 (push) Has been cancelled
Haskell-CI / Haskell-CI - Linux - ghc-9.4.4 (push) Has been cancelled
Reviewed-on: #1
This commit is contained in:
commit
1b06cbcd98
5 changed files with 182 additions and 19 deletions
|
@ -1,5 +1,11 @@
|
||||||
# Revision history for foreign-rust
|
# Revision history for foreign-rust
|
||||||
|
|
||||||
## 0.1.0.0 -- YYYY-mm-dd
|
## 0.2.0.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Nix flake infrastructure
|
||||||
|
|
||||||
|
## 0.1.0.0 --
|
||||||
|
|
||||||
* First version. Released on an unsuspecting world.
|
* First version. Released on an unsuspecting world.
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
packages: .
|
|
||||||
|
|
||||||
package foreign-rust
|
|
||||||
tests: true
|
|
94
flake.lock
generated
Normal file
94
flake.lock
generated
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"borsh": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1716294836,
|
||||||
|
"narHash": "sha256-dEv3m7U7buQr9kX68U+r5Ro4KRXesGsSpqBs2CLddaY=",
|
||||||
|
"owner": "khazaddum",
|
||||||
|
"repo": "borsh",
|
||||||
|
"rev": "b8e5cfd6ed875707fa82698d5c356ac062203e71",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "khazaddum",
|
||||||
|
"repo": "borsh",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1743550720,
|
||||||
|
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"haskell-flake": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1743922999,
|
||||||
|
"narHash": "sha256-Wh+Zak8sZUgair4pnZR0mLrLIhhInHS8izj7C1H10B8=",
|
||||||
|
"owner": "srid",
|
||||||
|
"repo": "haskell-flake",
|
||||||
|
"rev": "d102e0f8a1773b1a63a616faef670cf5e129f9e9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "srid",
|
||||||
|
"repo": "haskell-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744157173,
|
||||||
|
"narHash": "sha256-bWSjxDwq7iVePrhmA7tY2dyMWHuNJo8knkO4y+q4ZkY=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "6a39c6e495eefabc935d8ddf66aa45d85b85fa3f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1743296961,
|
||||||
|
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"borsh": "borsh",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"haskell-flake": "haskell-flake",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
66
flake.nix
Normal file
66
flake.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
haskell-flake.url = "github:srid/haskell-flake";
|
||||||
|
borsh.url = "github:khazaddum/borsh";
|
||||||
|
borsh.flake = false;
|
||||||
|
};
|
||||||
|
outputs = inputs@{ self, nixpkgs, flake-parts, ... }:
|
||||||
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
|
systems = nixpkgs.lib.systems.flakeExposed;
|
||||||
|
imports = [ inputs.haskell-flake.flakeModule ];
|
||||||
|
|
||||||
|
perSystem = { self', pkgs, ... }: {
|
||||||
|
|
||||||
|
# Typically, you just want a single project named "default". But
|
||||||
|
# multiple projects are also possible, each using different GHC version.
|
||||||
|
haskellProjects.default = {
|
||||||
|
# The base package set representing a specific GHC version.
|
||||||
|
# By default, this is pkgs.haskellPackages.
|
||||||
|
# You may also create your own. See https://community.flake.parts/haskell-flake/package-set
|
||||||
|
# basePackages = pkgs.haskellPackages;
|
||||||
|
|
||||||
|
# Extra package information. See https://community.flake.parts/haskell-flake/dependency
|
||||||
|
#
|
||||||
|
# Note that local packages are automatically included in `packages`
|
||||||
|
# (defined by `defaults.packages` option).
|
||||||
|
#
|
||||||
|
# packages = {
|
||||||
|
# aeson.source = "1.5.0.0"; # Hackage version override
|
||||||
|
# shower.source = inputs.shower;
|
||||||
|
# };
|
||||||
|
packages = {
|
||||||
|
borsh.source = inputs.borsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
# aeson = {
|
||||||
|
# check = false;
|
||||||
|
# };
|
||||||
|
# relude = {
|
||||||
|
# haddock = false;
|
||||||
|
# broken = false;
|
||||||
|
# };
|
||||||
|
foreign-rust = {
|
||||||
|
check = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# devShell = {
|
||||||
|
# # Enabled by default
|
||||||
|
# enable = true;
|
||||||
|
#
|
||||||
|
# # Programs you want to make available in the shell.
|
||||||
|
# # Default programs can be disabled by setting to 'null'
|
||||||
|
# tools = hp: { fourmolu = hp.fourmolu; ghcid = null; };
|
||||||
|
#
|
||||||
|
# hlsCheck.enable = true;
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
# haskell-flake doesn't set the default package, but you can do it here.
|
||||||
|
packages.default = self'.packages.foreign-rust;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
cabal-version: 3.0
|
cabal-version: 3.0
|
||||||
name: foreign-rust
|
name: foreign-rust
|
||||||
version: 0.1.0
|
version: 0.2.0
|
||||||
license: BSD-3-Clause
|
license: BSD-3-Clause
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Edsko de Vries
|
author: Edsko de Vries
|
||||||
|
@ -14,6 +14,7 @@ tested-with: GHC==8.6.5
|
||||||
, GHC==9.0.2
|
, GHC==9.0.2
|
||||||
, GHC==9.2.7
|
, GHC==9.2.7
|
||||||
, GHC==9.4.4
|
, GHC==9.4.4
|
||||||
|
, GHC==9.6.6
|
||||||
|
|
||||||
common lang
|
common lang
|
||||||
build-depends:
|
build-depends:
|
||||||
|
@ -76,7 +77,7 @@ library
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
src
|
src
|
||||||
build-depends:
|
build-depends:
|
||||||
, aeson
|
, aeson >= 2.1
|
||||||
, base16-bytestring
|
, base16-bytestring
|
||||||
, base58-bytestring
|
, base58-bytestring
|
||||||
, base64-bytestring
|
, base64-bytestring
|
||||||
|
@ -121,15 +122,15 @@ test-suite test-foreign-rust
|
||||||
, tasty-hunit
|
, tasty-hunit
|
||||||
, template-haskell
|
, template-haskell
|
||||||
|
|
||||||
test-suite demo-annotated
|
--test-suite demo-annotated
|
||||||
import:
|
--import:
|
||||||
lang
|
--lang
|
||||||
type:
|
--type:
|
||||||
exitcode-stdio-1.0
|
--exitcode-stdio-1.0
|
||||||
main-is:
|
--main-is:
|
||||||
Main.hs
|
--Main.hs
|
||||||
hs-source-dirs:
|
--hs-source-dirs:
|
||||||
demo-annotated
|
--demo-annotated
|
||||||
build-depends:
|
--build-depends:
|
||||||
, generics-sop
|
--, generics-sop
|
||||||
, foreign-rust
|
--, foreign-rust
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue