IT'S ALIVE
This commit is contained in:
84
flake.nix
84
flake.nix
@@ -1,8 +1,8 @@
|
||||
{
|
||||
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";
|
||||
hs-bindgen.url = "github:well-typed/hs-bindgen/fd74e8fa4216eccd67069ec9d8637b57000ffc83";
|
||||
self.submodules = true;
|
||||
};
|
||||
outputs = {
|
||||
nixpkgs,
|
||||
@@ -10,40 +10,68 @@
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
version = "0.3.0";
|
||||
package = {
|
||||
mkDerivation,
|
||||
base,
|
||||
bindings-DSL,
|
||||
c-expr-runtime,
|
||||
gl,
|
||||
hs-bindgen-runtime,
|
||||
lib,
|
||||
libGL,
|
||||
libX11,
|
||||
xcursor,
|
||||
xi,
|
||||
xrandr,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hs-rgfw";
|
||||
inherit version;
|
||||
src = ./.;
|
||||
libraryHaskellDepends = [
|
||||
base
|
||||
bindings-DSL
|
||||
c-expr-runtime
|
||||
hs-bindgen-runtime
|
||||
];
|
||||
libraryPkgconfigDepends = [
|
||||
gl
|
||||
libGL
|
||||
libX11
|
||||
xcursor
|
||||
xi
|
||||
xrandr
|
||||
];
|
||||
homepage = "https://git.mtgmonkey.net/Andromeda/hs-rgfw";
|
||||
license = lib.licenses.bsd3;
|
||||
platforms = ["x86_64-linux"];
|
||||
};
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
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.pkg-config
|
||||
pkgs.xorg.libX11
|
||||
pkgs.xorg.libXcursor
|
||||
pkgs.xorg.libXrandr
|
||||
pkgs.xorg.libXi
|
||||
pkgs.libGL
|
||||
pkgs.clang
|
||||
hs-bindgen.packages.${system}.default
|
||||
pkgs.cabal-install
|
||||
];
|
||||
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
|
||||
'';
|
||||
inputsFrom = [
|
||||
self.packages.${system}.default
|
||||
];
|
||||
};
|
||||
};
|
||||
packages.${system} = {
|
||||
default = pkgs.haskellPackages.callPackage package {
|
||||
xcursor = pkgs.xorg.libXcursor;
|
||||
xi = pkgs.xorg.libXi;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user