summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix56
1 files changed, 38 insertions, 18 deletions
diff --git a/flake.nix b/flake.nix
index f26658e..443afac 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,25 +1,32 @@
{
inputs = {
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
+ hs-bindgen.url = "github:well-typed/hs-bindgen/fd74e8fa4216eccd67069ec9d8637b57000ffc83";
self.submodules = true;
};
outputs = {
nixpkgs,
+ hs-bindgen,
self,
...
}: let
- version = "0.2.2";
+ version = "0.1.0";
package = {
+ # nix stuff
mkDerivation,
- base,
- bindings-DSL,
- gl,
lib,
+ # haskell deps
+ base,
+ c-expr-runtime,
+ hs-bindgen-runtime,
+ # pkgconfig deps
libGL,
libX11,
- xcursor,
- xi,
+ libXcursor,
+ libXi,
xrandr,
+ # shell deps
+ hs-bindgen-cli,
}:
mkDerivation {
pname = "hs-rgfw";
@@ -27,38 +34,51 @@
src = ./.;
libraryHaskellDepends = [
base
- bindings-DSL
+ c-expr-runtime
+ hs-bindgen-runtime
];
libraryPkgconfigDepends = [
- gl
libGL
libX11
- xcursor
- xi
+ libXcursor
+ libXi
xrandr
];
+ preBuild = ''
+ set -x
+ export PATH=${hs-bindgen-cli}/bin:$PATH
+ ./generate.sh
+ set +x
+ '';
homepage = "https://git.mtgmonkey.net/Andromeda/hs-rgfw";
- license = lib.licenses.bsd3;
+ license = lib.licenses.gpl3Only;
platforms = ["x86_64-linux"];
};
system = "x86_64-linux";
- pkgs = nixpkgs.legacyPackages.${system};
- in {
- packages.${system} = {
- default = pkgs.haskellPackages.callPackage package {
- xcursor = pkgs.xorg.libXcursor;
- xi = pkgs.xorg.libXi;
- };
+ pkgs = import nixpkgs {
+ inherit system;
+ overlays = [
+ hs-bindgen.overlays.libclangBindings
+ hs-bindgen.overlays.hsBindgen
+ ];
};
+ in {
devShells.${system} = {
default = pkgs.mkShell {
+ stdenv = pkgs.clangStdenv;
packages = [
+ pkgs.clang
pkgs.cabal-install
+ pkgs.hs-bindgen-cli
+ pkgs.hsBindgenHook
];
inputsFrom = [
self.packages.${system}.default
];
};
};
+ packages.${system} = {
+ default = pkgs.haskellPackages.callPackage package {};
+ };
};
}