Skip to content

Commit

Permalink
switchaudio-osx: init at 1.2.2
Browse files Browse the repository at this point in the history
(cherry picked from commit 1af4af8)
  • Loading branch information
taranarmo authored and github-actions[bot] committed Dec 23, 2024
1 parent 29384ea commit ec47e4f
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 0 deletions.
25 changes: 25 additions & 0 deletions pkgs/by-name/sw/switchaudio-osx/001-macos-legacy-support.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From 02803f510bae37eac88b0168ff887bdf7d71a7f0 Mon Sep 17 00:00:00 2001
From: James Woglom <[email protected]>
Date: Wed, 1 May 2024 00:36:14 -0400
Subject: [PATCH] Fix build when run on pre-macOS Monterey

---
audio_switch.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/audio_switch.c b/audio_switch.c
index 814edce..a064c3e 100644
--- a/audio_switch.c
+++ b/audio_switch.c
@@ -715,7 +715,11 @@ OSStatus setMute(ASDeviceType typeRequested, ASMuteType muteRequested) {
AudioObjectPropertyAddress propertyAddress = {
.mSelector = kAudioDevicePropertyMute,
.mScope = scope,
+ #ifndef MAC_OS_VERSION_12_0
+ .mElement = kAudioObjectPropertyElementMaster,
+ #else
.mElement = kAudioObjectPropertyElementMain,
+ #endif
};

UInt32 muted = (UInt32)muteRequested;
47 changes: 47 additions & 0 deletions pkgs/by-name/sw/switchaudio-osx/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromGitHub,
xcodebuild,
xcbuildHook,
}:

stdenv.mkDerivation rec {
pname = "switchaudio-osx";
version = "1.2.2";

src = fetchFromGitHub {
owner = "deweller";
repo = "switchaudio-osx";
tag = version;
hash = "sha256-AZJn5kHK/al94ONfIHcG+W0jyMfgdJkIngN+PVj+I44=";
};

buildInputs = [ xcodebuild ];

nativeBuildInputs = [ xcbuildHook ];

patches = [
# Patch to fix running on earlier version of macOS
# https://github.com/deweller/switchaudio-osx/pull/65
./001-macos-legacy-support.patch
];

installPhase = ''
runHook preInstall
# for some reason binary is located in Products/ rather than in build/
install -Dm755 Products/Release/SwitchAudioSource $out/bin/SwitchAudioSource
runHook postInstall
'';

meta = {
description = "Command-line utility to manage audio input/output devices on macOS";
homepage = "https://github.com/deweller/switchaudio-osx";
mainProgram = "SwitchAudioSource";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ taranarmo ];
platforms = lib.platforms.darwin;
};
}

0 comments on commit ec47e4f

Please sign in to comment.