From 6467461b3b838fdcea0324eecc8090cd3bfe538d Mon Sep 17 00:00:00 2001 From: Slendi Date: Sun, 24 Aug 2025 19:37:31 +0300 Subject: [PATCH] Package for Nix Signed-off-by: Slendi --- .gitignore | 1 + flake.nix | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/.gitignore b/.gitignore index 8b225f6..7f5f27c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ [Bb]uild* .cache +result diff --git a/flake.nix b/flake.nix index 681c483..1515176 100644 --- a/flake.nix +++ b/flake.nix @@ -1,4 +1,9 @@ +let + desc = "Single-file linear algebra math library for C++23."; +in { + description = desc; + inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; @@ -27,6 +32,52 @@ pkg-config ]; }; + + packages.default = pkgs.stdenv.mkDerivation { + pname = "smath"; + version = "master"; + + src = ./.; + + nativeBuildInputs = [ pkgs.copyPkgconfigItems ]; + + pkgconfigItems = [ + (pkgs.makePkgconfigItem rec { + name = "smath"; + version = "1"; + cflags = [ "-I${variables.includedir}" ]; + variables = rec { + prefix = "${placeholder "out"}"; + includedir = "${prefix}/include"; + }; + description = desc; + }) + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/include + cp include/*.hpp $out/include/ + runHook postInstall + ''; + + meta = with pkgs.lib; { + description = desc; + homepage = "https://github.com/slendidev/smath"; + license = licenses.asl20; + platforms = platforms.all; + maintainers = [ + { + name = "Slendi"; + email = "slendi@socopon.com"; + github = "slendidev"; + githubId = 32436619; + } + ]; + }; + }; } ); }