1
Fork 0
hare-nix/flake.nix

54 lines
1.6 KiB
Nix

{
description = "Hare for mac";
inputs = {
harec-src = {
url = "github:badboy/harelang-harec";
flake = false;
};
hare-src = {
url = "github:badboy/harelang";
flake = false;
};
linux-harec-src = {
url = "git+https://git.sr.ht/~sircmpwn/harec";
flake = false;
};
linux-hare-src = {
url = "git+https://git.sr.ht/~sircmpwn/hare";
flake = false;
};
};
outputs = { nixpkgs, harec-src, hare-src, linux-harec-src, linux-hare-src, ... }:
let
darwinSystems = [ "x86_64-darwin" "aarch64-darwin" ];
linuxSystems = [ "x86_64-linux" "aarch64-linux" ];
in
{
packages = nixpkgs.lib.genAttrs darwinSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
hare-as = pkgs.callPackage ./pkgs/darwin/hare-as.nix { };
hare-cc = pkgs.callPackage ./pkgs/darwin/hare-cc.nix { };
hare-ld = pkgs.callPackage ./pkgs/darwin/hare-ld.nix { };
harec = pkgs.callPackage ./pkgs/darwin/harec.nix { inherit harec-src hare-as hare-cc hare-ld; };
hare = pkgs.callPackage ./pkgs/darwin/hare.nix { inherit hare-src harec hare-as hare-cc hare-ld; };
in
{
inherit hare harec;
}) //
nixpkgs.lib.genAttrs linuxSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
harec = pkgs.callPackage ./pkgs/linux/harec.nix { harec-src = linux-harec-src; };
hare = pkgs.callPackage ./pkgs/linux/hare.nix { inherit harec; hare-src = linux-hare-src; };
in
{
inherit hare harec;
});
};
}