Compare commits
19 Commits
3235165797
...
4a8a3750fe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a8a3750fe | ||
|
|
7853204758 | ||
|
|
a9c69c4927 | ||
|
|
14e0e85823 | ||
|
|
ca99358747 | ||
|
|
81793d5171 | ||
|
|
ea096b6945 | ||
|
|
356385cbd2 | ||
|
|
e2854bd486 | ||
|
|
57518cc3dc | ||
|
|
b2eaaf6b88 | ||
|
|
351640dc7a | ||
|
|
987fc65a34 | ||
|
|
705d604fdb | ||
|
|
6f58488033 | ||
|
|
00ffcc3df9 | ||
|
|
963b90f627 | ||
|
|
322ad4ee73 | ||
|
|
958332857d |
2
build
2
build
@ -1,8 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# generate this file from Nix config for now to avoid duplication?
|
||||
|
||||
cargo build --manifest-path ./rust/Cargo.toml
|
||||
|
||||
BUNDLED_LIB_DIR=$(cabal list-bin . | sed -e 's=x/garnet/build/garnet/garnet=build=g')
|
||||
|
||||
13
flake.lock
generated
13
flake.lock
generated
@ -527,15 +527,16 @@
|
||||
"hs-bindgen-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1776078838,
|
||||
"narHash": "sha256-f8SE6IuACy8bzIX+EOYTpekaAI/TOQ3zTwJKJmHl3LY=",
|
||||
"lastModified": 1774599157,
|
||||
"narHash": "sha256-jgV67xhWzxMwyiyy5RPtu+VQvGTt+FoMXCWJcZ7lczY=",
|
||||
"owner": "well-typed",
|
||||
"repo": "hs-bindgen",
|
||||
"rev": "ca714aca1ed941271ac248488c9a469554c5b470",
|
||||
"rev": "3c4af10590d0d09e825a9735e9a03d7f60914e21",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "well-typed",
|
||||
"ref": "release-0.1-alpha2",
|
||||
"repo": "hs-bindgen",
|
||||
"type": "github"
|
||||
}
|
||||
@ -560,11 +561,11 @@
|
||||
"libclang-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1775645278,
|
||||
"narHash": "sha256-JWARcbqH432vWcCvQ2bagTXBka8sCRNAnK1qOmnLWKw=",
|
||||
"lastModified": 1774600891,
|
||||
"narHash": "sha256-LTAyNMY4Vu0vPeEq2wXB0KWY4kGtqtHTRmADjLdkv78=",
|
||||
"owner": "well-typed",
|
||||
"repo": "libclang",
|
||||
"rev": "bf574efcb492d2738d8a82b6ce556f840ff92778",
|
||||
"rev": "1054474fae403bfb52c7919680cac03d3d3d4237",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
13
flake.nix
13
flake.nix
@ -3,7 +3,7 @@
|
||||
nix-haskell.url = "github:reflex-frp/nix-haskell";
|
||||
nixpkgs.follows = "nix-haskell/nixpkgs";
|
||||
hls-src = { url = "github:haskell/haskell-language-server/2.13.0.0"; flake = false; };
|
||||
hs-bindgen-src = { url = "github:well-typed/hs-bindgen"; flake = false; };
|
||||
hs-bindgen-src = { url = "github:well-typed/hs-bindgen/release-0.1-alpha2"; flake = false; };
|
||||
libclang-src = { url = "github:well-typed/libclang"; flake = false; };
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
crane.url = "github:ipetkov/crane";
|
||||
@ -16,7 +16,7 @@
|
||||
inputs:
|
||||
inputs.flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
|
||||
let
|
||||
pkgs = haskell.nixpkgs.extend (import inputs.rust-overlay);
|
||||
pkgs = (import inputs.nixpkgs { inherit system; }).extend (import inputs.rust-overlay);
|
||||
crane = (inputs.crane.mkLib pkgs).overrideToolchain (p: p.rust-bin.selectLatestNightlyWith (
|
||||
toolchain: toolchain.default.override {
|
||||
extensions = [ "rust-src" "rust-analyzer" ];
|
||||
@ -27,7 +27,7 @@
|
||||
''
|
||||
export C_INCLUDE_PATH="${pkgs.stdenv.cc.libc.dev}/include''${C_INCLUDE_PATH:+:$C_INCLUDE_PATH}"
|
||||
'';
|
||||
haskell = (import inputs.nix-haskell { inherit system inputs; } {
|
||||
project = (import inputs.nix-haskell { inherit system inputs; } {
|
||||
name = "garnet";
|
||||
src = ./.;
|
||||
compiler-nix-name = "ghc914";
|
||||
@ -49,7 +49,6 @@
|
||||
};
|
||||
packages.garnet.components.library = {
|
||||
preBuild = addLibcIncludeDir;
|
||||
# try removing?
|
||||
preConfigure = ''
|
||||
mkdir -p rust/target/debug
|
||||
ln -s ${garnet-rs}/include/garnet_rs.h rust/target/debug/garnet_rs.h
|
||||
@ -77,7 +76,7 @@
|
||||
withHaddock = true;
|
||||
shellHook = addLibcIncludeDir;
|
||||
};
|
||||
});
|
||||
}).project.haskell-nix;
|
||||
garnet-rs = crane.buildPackage {
|
||||
src = crane.cleanCargoSource ./rust;
|
||||
doCheck = false;
|
||||
@ -90,14 +89,14 @@
|
||||
in
|
||||
rec {
|
||||
defaultPackage = packages.garnet-exe;
|
||||
packages = let garnet = haskell.project.haskell-nix.hsPkgs.garnet; in {
|
||||
packages = let garnet = project.hsPkgs.garnet; in {
|
||||
inherit garnet-rs;
|
||||
garnet-exe = garnet.components.exes.garnet;
|
||||
garnet-lib = garnet.components.library;
|
||||
};
|
||||
devShells.default = pkgs.mkShell {
|
||||
inputsFrom = [
|
||||
haskell.project.haskell-nix.shell
|
||||
project.shell
|
||||
(crane.devShell { })
|
||||
];
|
||||
packages = with pkgs; [
|
||||
|
||||
10
garnet.cabal
10
garnet.cabal
@ -14,14 +14,6 @@ extra-source-files:
|
||||
-- extra-tmp-files:
|
||||
-- rust/target/debug/garnet_rs.h
|
||||
|
||||
-- actually maybe this is pointless given we always need debug path anyway in `extra-source-files`
|
||||
-- plus we have it in `Raw.hs`
|
||||
flag dev
|
||||
default:
|
||||
False
|
||||
manual:
|
||||
True
|
||||
|
||||
common common
|
||||
default-language: GHC2024
|
||||
default-extensions:
|
||||
@ -58,8 +50,6 @@ library
|
||||
GarnetRs.Raw
|
||||
GarnetRs.Wrapped
|
||||
hs-source-dirs: lib
|
||||
-- if flag (dev)
|
||||
-- include-dirs: rust/target/debug
|
||||
include-dirs: rust/target/debug
|
||||
-- HLS gives up entirely when the header is malformed if we do this
|
||||
-- and anyway, I don't think it gives us dependency tracking like `extra-source-files` does
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user