audiosource: init at 1.4 (#473776)

This commit is contained in:
Gaétan Lepage
2026-02-02 13:28:14 +00:00
committed by GitHub
3 changed files with 167 additions and 0 deletions
+5
View File
@@ -11047,6 +11047,11 @@
githubId = 207392575;
name = "Isaac Kabel";
};
ikci = {
github = "ikcii";
githubId = 48479629;
name = "ikci";
};
ikervagyok = {
email = "ikervagyok@gmail.com";
github = "ikervagyok";
+80
View File
@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchurl,
makeWrapper,
installShellFiles,
python3,
android-tools,
pulseaudio,
coreutils,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "audiosource";
version = "1.4";
src = fetchFromGitHub {
owner = "gdzx";
repo = "audiosource";
tag = "v${finalAttrs.version}";
hash = "sha256-SlX8gjs7X5jfoeU6pyk4n8f6oMJgneGVt0pmFs48+mQ=";
};
patches = [
# Removes build-related logic from the script that is unused in the package and fixes a small bug with adb args on new Android versions
./unused-logic-removal-and-args-fix.patch
];
postPatch = ''
substituteInPlace audiosource \
--replace-fail "@apkPath@" "$out/share/audiosource/audiosource.apk"
'';
nativeBuildInputs = [
makeWrapper
installShellFiles
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/audiosource
cp ${finalAttrs.passthru.apk} $out/share/audiosource/audiosource.apk
installBin audiosource
runHook postInstall
'';
postFixup = ''
wrapProgram $out/bin/audiosource \
--prefix PATH : ${
lib.makeBinPath [
python3
android-tools
pulseaudio
coreutils
]
}
'';
passthru.apk = fetchurl {
url = "https://github.com/gdzx/audiosource/releases/download/v${finalAttrs.version}/audiosource.apk";
hash = "sha256-vDIF+NZ3JgTT67Dem4qeajWsA5m/MFt2nRDpWUqC9aU=";
};
meta = {
description = "Use an Android device as a USB microphone";
homepage = "https://github.com/gdzx/audiosource";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ikci ];
mainProgram = "audiosource";
platforms = lib.platforms.linux;
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode
];
};
})
@@ -0,0 +1,82 @@
diff --git a/audiosource b/audiosource
index b06127a..0bccddf 100755
--- a/audiosource
+++ b/audiosource
@@ -2,15 +2,7 @@
set -eu
-AUDIOSOURCE_PROFILE=${AUDIOSOURCE_PROFILE:-debug}
-
-if [ "$AUDIOSOURCE_PROFILE" = 'release' ]; then
- AUDIOSOURCE_DEFAULT_APK=app/build/outputs/apk/release/app-release.apk
-else
- AUDIOSOURCE_DEFAULT_APK=app/build/outputs/apk/debug/app-debug.apk
-fi
-
-AUDIOSOURCE_APK=${AUDIOSOURCE_APK:-"$AUDIOSOURCE_DEFAULT_APK"}
+AUDIOSOURCE_APK=${AUDIOSOURCE_APK:-"@apkPath@"}
ANDROID_SERIAL=${ANDROID_SERIAL:-}
PYSOCAT="$(cat <<EOF
@@ -81,22 +73,12 @@ install() {
echo '[+] Installing Audio Source'
- adb install -rtg "$AUDIOSOURCE_APK" || {
+ adb install -r -t -g "$AUDIOSOURCE_APK" || {
adb uninstall fr.dzx.audiosource
- adb install -tg "$AUDIOSOURCE_APK"
+ adb install -t -g "$AUDIOSOURCE_APK"
}
}
-_release() {
- AUDIOSOURCE_PROFILE=release
- AUDIOSOURCE_APK=app/build/outputs/apk/release/app-release.apk
-
- build
-
- cp -a "$AUDIOSOURCE_APK" audiosource.apk
- sha256sum audiosource.apk > audiosource.apk.sha256
-}
-
_unload() {
for id in `pactl list modules short | sed -n "/module-pipe-source\tsource_name=$AUDIOSOURCE_NAME/p" | cut -f1`; do
pactl unload-module "$id"
@@ -146,7 +128,7 @@ volume() {
main_help() {
cat <<-EOF
- Usage: ./audiosource [-s SERIAL] COMMAND [ARGS...]
+ Usage: audiosource [-s SERIAL] COMMAND [ARGS...]
Options:
@@ -154,15 +136,13 @@ main_help() {
Commands:
- build Build Audio Source APK (default: debug)
- install Install Audio Source to Android device (default: debug)
+ install Install Audio Source to Android device
run Run Audio Source and start forwarding
volume LEVEL Set volume to LEVEL (for example, 250%)
Environment:
- AUDIOSOURCE_APK APK path (default: app/build/outputs/apk/\$profile/app-\$profile.apk)
- AUDIOSOURCE_PROFILE Build profile (debug or release, default: build)
+ AUDIOSOURCE_APK APK path (default: @apkPath@)
AUDIOSOURCE_NAME Name of the PulseAudio source (default: android-<serial-hash>)
ANDROID_SERIAL Device serial number to connect to (default: unset)
EOF
@@ -200,7 +180,7 @@ main() {
shift
case "$cmd" in
- build|install|run|volume|_release)
+ install|run|volume)
"$cmd" "$@"
;;
*)