Unverified Commit fcbd55fc authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

audiosource: init at 1.4 (#473776)

parents 9f6b1893 101cace0
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -11047,6 +11047,11 @@
    githubId = 207392575;
    name = "Isaac Kabel";
  };
  ikci = {
    github = "ikcii";
    githubId = 48479629;
    name = "ikci";
  };
  ikervagyok = {
    email = "ikervagyok@gmail.com";
    github = "ikervagyok";
+80 −0
Original line number Diff line number Diff line
{
  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
    ];
  };
})
+82 −0
Original line number Diff line number Diff line
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" "$@"
 			;;
 		*)