102 lines
3.6 KiB
Nix
102 lines
3.6 KiB
Nix
{
|
|
description = "totato flake";
|
|
|
|
# https://youtu.be/7ZeTP_S6ZVI
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/release-23.05";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; };
|
|
toxcore-src = pkgs.fetchFromGitHub {
|
|
owner = "Green-Sky"; repo = "c-toxcore";
|
|
fetchSubmodules = true;
|
|
rev = "d4b06edc2a35bad51b0f0950d74f61c8c70630ab"; # ngc_events
|
|
hash = "sha256-P7wTojRQRtvTx+h9+QcFdO381hniWWpAy5Yv63KWWZA=";
|
|
};
|
|
entt-src = pkgs.fetchFromGitHub {
|
|
owner = "skypjack"; repo = "entt";
|
|
rev = "v3.12.2";
|
|
hash = "sha256-gzoea3IbmpkIZYrfTZA6YgcnDU5EKdXF5Y7Yz2Uaj4A=";
|
|
};
|
|
solanaceae_util-src = pkgs.fetchFromGitHub {
|
|
owner = "Green-Sky"; repo = "solanaceae_util";
|
|
rev = "92eee153f2c14f97e50f44b10e2a0aeb5f8b190d";
|
|
hash = "sha256-otzjzY8lxanKlryahRe+S0UL7yXsRKDJbh2DYNV71QM=";
|
|
};
|
|
solanaceae_contact-src = pkgs.fetchFromGitHub {
|
|
owner = "Green-Sky"; repo = "solanaceae_contact";
|
|
rev = "2d73c7272c3c254086fa067ccfdfb4072c20f7c9";
|
|
hash = "sha256-t6UWKMvWqXGvmsjx1JSc6fOawrzzXndaOpBntoKhLW0=";
|
|
};
|
|
solanaceae_message3-src = pkgs.fetchFromGitHub {
|
|
owner = "Green-Sky"; repo = "solanaceae_message3";
|
|
rev = "48fb5f0889404370006ae12b3637a77d7d4ba485";
|
|
hash = "sha256-kFA90EpAH/BciHDD7NwZs7KL1cDcGVQZCRjOazxMbvM=";
|
|
};
|
|
solanaceae_plugin-src = pkgs.fetchFromGitHub {
|
|
owner = "Green-Sky"; repo = "solanaceae_plugin";
|
|
rev = "eeab3109e76907a0e3e8c526956ff0fa9b3bd3a2";
|
|
hash = "sha256-knW8S4VK/U3xAWFyczSNXwx2ZA9hq2XSyr39Xh2Nsgs=";
|
|
};
|
|
solanaceae_toxcore-src = pkgs.fetchFromGitHub {
|
|
owner = "Green-Sky"; repo = "solanaceae_toxcore";
|
|
rev = "d05875f489577e9a2c26234810058b41c3236cf7";
|
|
hash = "sha256-uQVEkTn9ww/LVhPOqrq/iKIFSaDC6/BNrYGNUg+LrzA=";
|
|
};
|
|
solanaceae_tox-src = pkgs.fetchFromGitHub {
|
|
owner = "Green-Sky"; repo = "solanaceae_tox";
|
|
rev = "89e74b35f83d888f8aa2e5230811b8a5e2b101a7";
|
|
hash = "sha256-PQw2290ahYfU13tHGzBttwrvZBXK+wKh6UF4xfUaRWQ=";
|
|
};
|
|
in {
|
|
packages.default = pkgs.stdenv.mkDerivation {
|
|
pname = "totato";
|
|
version = "0.0.0-dev";
|
|
|
|
src = ./.;
|
|
|
|
nativeBuildInputs = with pkgs; [
|
|
cmake
|
|
ninja
|
|
pkg-config
|
|
git # cmake FetchContent
|
|
];
|
|
|
|
cmakeFlags = [
|
|
#"-DFETCHCONTENT_SOURCE_DIR_TOXCORE=${pkgs.libtoxcore.src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_TOXCORE=${toxcore-src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_ENTT=${entt-src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_SOLANACEAE_UTIL=${solanaceae_util-src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_SOLANACEAE_CONTACT=${solanaceae_contact-src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_SOLANACEAE_MESSAGE3=${solanaceae_message3-src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_SOLANACEAE_PLUGIN=${solanaceae_plugin-src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_SOLANACEAE_TOXCORE=${solanaceae_toxcore-src}"
|
|
"-DFETCHCONTENT_SOURCE_DIR_SOLANACEAE_TOX=${solanaceae_tox-src}"
|
|
];
|
|
|
|
buildInputs = with pkgs; [
|
|
#(libsodium.override { stdenv = pkgs.pkgsStatic.stdenv; })
|
|
#pkgsStatic.libsodium
|
|
libsodium
|
|
];
|
|
|
|
# TODO: replace with install command
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
mv bin/totato $out/bin
|
|
'';
|
|
};
|
|
|
|
#apps.default = {
|
|
#type = "app";
|
|
#program = "${self.packages.${system}.default}/bin/tomato";
|
|
#};
|
|
}
|
|
);
|
|
}
|