Files
hs-rgfw-bindgen-test/flake.nix
2025-12-16 01:26:03 +01:00

51 lines
1.4 KiB
Nix

{
inputs = {
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
# hs-bindgen.url = "github:well-typed/hs-bindgen";
hs-bindgen.url = "github:well-typed/hs-bindgen/dom/1415/bug-report";
};
outputs = {
nixpkgs,
hs-bindgen,
self,
...
}: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system} = {
default = pkgs.mkShell {
stdenv = pkgs.clangStdenv;
packages = [
pkgs.pkg-config
pkgs.xorg.libX11
pkgs.xorg.libXcursor
pkgs.xorg.libXrandr
pkgs.xorg.libXi
pkgs.libGL
pkgs.clang
hs-bindgen.packages.${system}.default
];
shellHook = ''
# template
# export BINDGEN_EXTRA_CLANG_ARGS="$BINDGEN_EXTRA_CLANG_ARGS "
# c flags from Nix
export BINDGEN_EXTRA_CLANG_ARGS="$BINDGEN_EXTRA_CLANG_ARGS $(cat ${pkgs.clang}/nix-support/cc-cflags) $(cat ${pkgs.clang}/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE"
# pkg-config for libraries
export BINDGEN_EXTRA_CLANG_ARGS="$BINDGEN_EXTRA_CLANG_ARGS $(pkg-config --cflags --libs x11 xrandr xcursor xi gl)"
# add local headers
export BINDGEN_EXTRA_CLANG_ARGS="$BINDGEN_EXTRA_CLANG_ARGS -isystem $PWD/lib"
# no global include
# export BINDGEN_BUILTIN_INCLUDE_DIR=disable
echo $BINDGEN_EXTRA_CLANG_ARGS
'';
};
};
};
}