about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStanisław Pitucha <git@viraptor.info>2024-01-19 22:45:59 +1100
committerGitHub <noreply@github.com>2024-01-19 22:45:59 +1100
commita23739720fa92858314e72134853b35aa548ce40 (patch)
tree6496ab98e032dfd8ee991d348ea7f6c76f4442de
parent320e659a600cc92cf6eb5181dfb4110bd7e14778 (diff)
parenta256aea2544de97328e7fba77bc62e88f294d536 (diff)
Merge pull request #281437 from bmanuel/kanata_darwin
kanata: add support for darwin platforms
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/tools/system/kanata/default.nix15
2 files changed, 18 insertions, 3 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 81c7b6dbc8a36..4ab9e817ada68 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2553,6 +2553,12 @@
     githubId = 52386117;
     name = "Blusk";
   };
+  bmanuel = {
+    name = "Benjamin Manuel";
+    email = "ben@benmanuel.com";
+    github = "bmanuel";
+    githubId = 3662307;
+  };
   bmilanov = {
     name = "Biser Milanov";
     email = "bmilanov11+nixpkgs@gmail.com";
diff --git a/pkgs/tools/system/kanata/default.nix b/pkgs/tools/system/kanata/default.nix
index 706382d3dd04e..eab7fb3d4b17c 100644
--- a/pkgs/tools/system/kanata/default.nix
+++ b/pkgs/tools/system/kanata/default.nix
@@ -1,4 +1,6 @@
-{ lib
+{ stdenv
+, lib
+, darwin
 , rustPlatform
 , fetchFromGitHub
 , withCmd ? false
@@ -17,8 +19,15 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-IzgVF6SHJjOB48VehQ5taD5iWQXFKLcVBWTEl3ArkGQ=";
 
+  buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.IOKit ];
+
   buildFeatures = lib.optional withCmd "cmd";
 
+  # Workaround for https://github.com/nixos/nixpkgs/issues/166205
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  };
+
   postInstall = ''
     install -Dm 444 assets/kanata-icon.svg $out/share/icons/hicolor/scalable/apps/kanata.svg
   '';
@@ -27,8 +36,8 @@ rustPlatform.buildRustPackage rec {
     description = "A tool to improve keyboard comfort and usability with advanced customization";
     homepage = "https://github.com/jtroo/kanata";
     license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ linj ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ bmanuel linj ];
+    platforms = platforms.unix;
     mainProgram = "kanata";
   };
 }