From 4f67c0cc6c6e5e6d2a40a55a0f8465b1a567aab8 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 10 Jun 2020 00:15:56 +0200 Subject: [PATCH] adb-sync: 2016-08-31 -> 2019-01-01 Simple tool to synchronize a directory-tree between a local machine and an Android device using `adb` and `rsync`. Since this repo doesn't have any releases atm, I added the `-unstable` suffix to `pname`. Since 2016-08-31 the following things changed: https://github.com/google/adb-sync/compare/7fc48ad1e15129ebe34e9f89b04bfbb68ced144d...fb7c549753de7a5579ed3400dd9f8ac71f7bf1b1 Also applied the following changes to the derivation: * Removed the `phases` hack to enable important things like `fixupPhase` again (amongst other things this is needed for shebang-patching and reference-checks). * Fixed the wrapper to make sure that every binary needed by those scripts is available. * Added myself as additional maintainer. --- pkgs/development/mobile/adb-sync/default.nix | 39 +++++++++++++------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/pkgs/development/mobile/adb-sync/default.nix b/pkgs/development/mobile/adb-sync/default.nix index 5c0f0c07c21..98f69ed88b1 100644 --- a/pkgs/development/mobile/adb-sync/default.nix +++ b/pkgs/development/mobile/adb-sync/default.nix @@ -1,24 +1,35 @@ -{ stdenv, fetchgit, python3, platform-tools, makeWrapper }: +{ stdenv, fetchFromGitHub, python3, platform-tools, makeWrapper +, socat, go-mtpfs, adbfs-rootless +}: stdenv.mkDerivation { - pname = "adb-sync"; - version = "2016-08-31"; + pname = "adb-sync-unstable"; + version = "2019-01-01"; - src = fetchgit { - url = "https://github.com/google/adb-sync"; - rev = "7fc48ad1e15129ebe34e9f89b04bfbb68ced144d"; - sha256 = "1y016bjky5sn58v91jyqfz7vw8qfqnfhb9s9jd32k8y29hy5vy4d"; + src = fetchFromGitHub { + owner = "google"; + repo = "adb-sync"; + rev = "fb7c549753de7a5579ed3400dd9f8ac71f7bf1b1"; + sha256 = "1kfpdqs8lmnh144jcm1qmfnmigzrbrz5lvwvqqb7021b2jlf69cl"; }; - buildInputs = [ python3 platform-tools makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python3 ]; - phases = "installPhase"; + dontBuild = true; + + installPhase = let + dependencies = stdenv.lib.makeBinPath [ platform-tools socat go-mtpfs adbfs-rootless ]; + in '' + runHook preInstall - installPhase = '' mkdir -p $out/bin - cp $src/adb-channel $src/adb-sync $out/bin/ - patchShebangs $out/bin - wrapProgram $out/bin/adb-sync --suffix PATH : ${platform-tools}/bin + cp adb-{sync,channel} $out/bin + + wrapProgram $out/bin/adb-sync --suffix PATH : "${dependencies}" + wrapProgram $out/bin/adb-channel --suffix PATH : "${dependencies}" + + runHook postInstall ''; meta = with stdenv.lib; { @@ -27,6 +38,6 @@ stdenv.mkDerivation { license = licenses.asl20; platforms = platforms.unix; hydraPlatforms = []; - maintainers = with maintainers; [ scolobb ]; + maintainers = with maintainers; [ scolobb ma27 ]; }; }