about summary refs log tree commit diff
path: root/pkgs/by-name/su
diff options
context:
space:
mode:
authorZane van Iperen <zane@zanevaniperen.com>2023-10-12 02:47:12 +1000
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-10-11 21:19:22 +0200
commitcf2c289cbd5552c964a9817ff670e7d1219dc1ce (patch)
tree29add55f46c7956bbf4e488dd5b7e8b76bc60fd0 /pkgs/by-name/su
parent80f067f49a17a57d9ac5b886f20010b508ca5343 (diff)
supersonic: add darwin support
Diffstat (limited to 'pkgs/by-name/su')
-rw-r--r--pkgs/by-name/su/supersonic/package.nix20
1 files changed, 18 insertions, 2 deletions
diff --git a/pkgs/by-name/su/supersonic/package.nix b/pkgs/by-name/su/supersonic/package.nix
index 0c2f34cf5fee9..9de886758526e 100644
--- a/pkgs/by-name/su/supersonic/package.nix
+++ b/pkgs/by-name/su/supersonic/package.nix
@@ -1,16 +1,21 @@
 { lib
+, stdenv
 , buildGoModule
 , fetchFromGitHub
 , makeDesktopItem
 , copyDesktopItems
 , pkg-config
+, desktopToDarwinBundle
 , xorg
 , libglvnd
 , mpv
 , glfw3
+, darwin
 , waylandSupport ? false
 }:
 
+assert waylandSupport -> stdenv.isLinux;
+
 buildGoModule rec {
   pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
   version = "0.5.2";
@@ -27,6 +32,8 @@ buildGoModule rec {
   nativeBuildInputs = [
     copyDesktopItems
     pkg-config
+  ] ++ lib.optionals stdenv.isDarwin [
+    desktopToDarwinBundle
   ];
 
   # go-glfw doesn't support both X11 and Wayland in single build
@@ -35,9 +42,18 @@ buildGoModule rec {
   buildInputs = [
     libglvnd
     mpv
+  ] ++ lib.optionals stdenv.isLinux [
     xorg.libXxf86vm
     xorg.libX11
-  ] ++ (glfw3.override { inherit waylandSupport; }).buildInputs;
+  ]
+  ++ (builtins.filter (p: !(lib.hasPrefix "apple-framework" p.name))
+    (glfw3.override { inherit waylandSupport; }).buildInputs)
+  ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk_11_0.frameworks.Cocoa
+    darwin.apple_sdk_11_0.frameworks.Kernel
+    darwin.apple_sdk_11_0.frameworks.OpenGL
+    darwin.apple_sdk_11_0.frameworks.UserNotifications
+  ];
 
   postInstall = ''
     for dimension in 128 256 512;do
@@ -66,7 +82,7 @@ buildGoModule rec {
     mainProgram = "supersonic" + lib.optionalString waylandSupport "-wayland";
     description = "A lightweight cross-platform desktop client for Subsonic music servers";
     homepage = "https://github.com/dweymouth/supersonic";
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ zane sochotnicky ];
   };