audiosource: init at 1.4 (#473776)
This commit is contained in:
@@ -11047,6 +11047,11 @@
|
||||
githubId = 207392575;
|
||||
name = "Isaac Kabel";
|
||||
};
|
||||
ikci = {
|
||||
github = "ikcii";
|
||||
githubId = 48479629;
|
||||
name = "ikci";
|
||||
};
|
||||
ikervagyok = {
|
||||
email = "ikervagyok@gmail.com";
|
||||
github = "ikervagyok";
|
||||
|
||||
@@ -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" "$@"
|
||||
;;
|
||||
*)
|
||||
Reference in New Issue
Block a user