diff mbox series

[bug#64808] gnu: Add andorid-sdkmanager.

Message ID ZL6cH_w_5KfjsAi1@jurong
State New
Headers show
Series [bug#64808] gnu: Add andorid-sdkmanager. | expand

Commit Message

Andreas Enge July 24, 2023, 3:43 p.m. UTC
Am Mon, Jul 24, 2023 at 09:51:35AM -0500 schrieb Distopico:
> The name change make sense, thank you and ANDROID_HOME is the way
> according with the documentation, but "gnupg" is necessary, if you test
> with `--container -N` you will se the error:
> `FileNotFoundError: [Errno 2] No such file or directory: 'gpgv'`
> after run `sdkmanager --list`, "gpgv" is part of gnupg package, for that
> reason I added it in "propagated-inputs". attached a patch with that
> change.

Ah, I see, of course I did have gnupg in my profile already...
I think a better option is to replace the one occurrence of "gpgv"
in the script by the absolute path to the binary; this also registers
a reference with the package.

Could you test the attached patch, please?

Andreas
From 18c42e27cca61c868fc6b5d06ab8e13cc0a02302 Mon Sep 17 00:00:00 2001
Message-ID: <18c42e27cca61c868fc6b5d06ab8e13cc0a02302.1690213156.git.andreas@enge.fr>
From: Distopico <distopico@riseup.net>
Date: Sun, 23 Jul 2023 13:41:32 -0500
Subject: [PATCH] gnu: Add sdkmanager.

* gnu/packages/android.scm (sdkmanager): New variable.

Co-authored-by: Andreas Enge <andreas@enge.fr>
---
 gnu/packages/android.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)


base-commit: cf9904bcc8dd03e73675475bb4d8746dc434e415

Comments

Distopico July 24, 2023, 5:23 p.m. UTC | #1
That patch works fine from my side, thank you.

On 2023-07-24, Andreas Enge <andreas@enge.fr> wrote:

> Am Mon, Jul 24, 2023 at 09:51:35AM -0500 schrieb Distopico:
>> The name change make sense, thank you and ANDROID_HOME is the way
>> according with the documentation, but "gnupg" is necessary, if you test
>> with `--container -N` you will se the error:
>> `FileNotFoundError: [Errno 2] No such file or directory: 'gpgv'`
>> after run `sdkmanager --list`, "gpgv" is part of gnupg package, for that
>> reason I added it in "propagated-inputs". attached a patch with that
>> change.
>
> Ah, I see, of course I did have gnupg in my profile already...
> I think a better option is to replace the one occurrence of "gpgv"
> in the script by the absolute path to the binary; this also registers
> a reference with the package.
>
> Could you test the attached patch, please?
>
> Andreas
>
> [2. text/plain; 0001-gnu-Add-sdkmanager.patch]...
Andreas Enge July 24, 2023, 6:23 p.m. UTC | #2
Am Mon, Jul 24, 2023 at 12:23:44PM -0500 schrieb Distopico:
> That patch works fine from my side, thank you.

Excellent, thank you, and congratulations for your first package in Guix!
I have just pushed the commit and am closing the issue.

Andreas
diff mbox series

Patch

diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index f35c2398bd..b9b8b89208 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -12,6 +12,7 @@ 
 ;;; Copyright © 2020 Sergey Trofimov <sarg@sarg.org.ru>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -38,6 +39,7 @@  (define-module (gnu packages android)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system trivial)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
@@ -721,6 +723,35 @@  (define-public fastboot
      "This package provides @command{fastboot}, a tool to upload file system images to Android devices.")
     (license license:asl2.0)))
 
+(define-public sdkmanager
+  (package
+    (name "sdkmanager")
+    (version "0.6.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sdkmanager" version ".tar.gz"))
+              (sha256
+               (base32
+                "11as7n2mj3nbqsqb3ivyv9985n73i022s748qvjg36cs8ig50afx"))))
+    (build-system pyproject-build-system)
+    (inputs (list python-requests python-argcomplete python-urllib3 gnupg))
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-before 'build 'patch-gnupg
+                          (lambda _
+                            (substitute* "sdkmanager.py"
+                              (("gpgv")
+                               (string-append #$(this-package-input "gnupg")
+                                              "/bin/gpgv"))))))))
+    (home-page "https://gitlab.com/fdroid/sdkmanager")
+    (synopsis "Replacement for Android sdkmanager written in Python")
+    (description
+     "This package provides a drop-in replacement for sdkmanager from
+the Android SDK.  It is written in Python and part of the F-Droid
+project.  It implements the exact API of the Android sdkmanager command
+line.  The project also attempts to maintain the same terminal output.")
+    (license license:agpl3+)))
+
 (define-public android-udev-rules
   (package
     (name "android-udev-rules")