From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: Building for Android and F-Droid Date: Mon, 5 Sep 2016 12:35:50 +0300 Message-ID: <20160905093550.GE23794@macbook42.flashner.co.il> References: <57C81204.3090602@goebel-consult.de> <87shtjafk6.fsf@elephly.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="XaUbO9McV5wPQijU" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35716) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgqJv-0007sU-4l for guix-devel@gnu.org; Mon, 05 Sep 2016 05:36:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bgqJr-0000QY-Um for guix-devel@gnu.org; Mon, 05 Sep 2016 05:36:02 -0400 Received: from flashner.co.il ([178.62.234.194]:58034) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgqJr-0000OH-JO for guix-devel@gnu.org; Mon, 05 Sep 2016 05:35:59 -0400 Content-Disposition: inline In-Reply-To: <87shtjafk6.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ricardo Wurmus Cc: guix-devel , Hartmut Goebel --XaUbO9McV5wPQijU Content-Type: multipart/mixed; boundary="3yNHWXBV/QO9xKNm" Content-Disposition: inline --3yNHWXBV/QO9xKNm Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 01, 2016 at 03:57:13PM +0200, Ricardo Wurmus wrote: >=20 > Thompson, David writes: >=20 > > Does anyone know what we are missing to be able to package android > > tools? >=20 > Given the current state of our support for Java I=E2=80=99d say we mostly= need > more Java packages in Guix. A first big step would be to package enough > to be able to build Maven from source (no cheating). >=20 > ~~ Ricardo >=20 >=20 If anyone wants to play around with f-droid, I have it packaged in my GUIX_PACKAGE_PATH, waiting to be tested more before breaking it down into patches and submitting it. Of course currently building apks doesn't work, and I haven't really tested much of the functionality yet. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --3yNHWXBV/QO9xKNm Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="fdroid.scm" Content-Transfer-Encoding: quoted-printable ;;; Copyright =C2=A9 2016 Efraim Flashner ;;; ;;; This file is an addendum to GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (wip fdroid) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix packages) #:use-module (guix build-system python) #:use-module (gnu packages python)) (define-public fdroidserver (package (name "fdroidserver") (version "0.6.0") (source (origin (method url-fetch) (uri (pypi-uri "fdroidserver" version)) (sha256 (base32 "1fi4kkgi59gd9nssy9zc86b8rki3m47pd29vc821jgsa89lgjqf5")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases ;; this prevents the examples from being installed ;; we want to fix this later (add-before 'install 'patch-install-locations (lambda _ (substitute* "setup.py" (("\\(data_prefix\\ \\+\\ '/share/doc/fdroidserve= r/examples',") "") (("\\['buildserver") "'buildserver") (("'\\]\\)") "'") ) #t))) #:python ,python-2)) ; after 0.6.0 it switches to python3 (inputs `(("python2-apache-libcloud" ,python2-apache-libcloud) ("python2-mwclient" ,python2-mwclient) ("python2-paramiko" ,python2-paramiko) ("python2-pillow" ,python2-pillow) ("python2-pyasn1" ,python2-pyasn1) ("python2-pyasn1-modules" ,python2-pyasn1-modules) ("python2-pyyaml" ,python2-pyyaml) ("python2-requests" ,python2-requests))) (propagated-inputs `(("python2-crypto" ,python2-crypto))) ; not sure this is the right one (home-page "https://f-droid.org") (synopsis "F-Droid Server Tools") (description "F-Droid Server Tools") (license license:agpl3+))) (define-public python-mwclient (package (name "python-mwclient") (version "0.8.1") (source (origin (method url-fetch) (uri (pypi-uri "mwclient" version)) (sha256 (base32 "1r322v6i6xps9xh861rbr4ggshydcgp8cycbdlmgy8qbrh8jg2az")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ (zero? (system* "py.test"))))))) (native-inputs `(("python-pytest-cache" ,python-pytest-cache) ("python-pytest-cov" ,python-pytest-cov) ("python-pytest-pep8" ,python-pytest-pep8))) (inputs `(("python-funcsigs" ,python-funcsigs) ("python-mock" ,python-mock) ("python-requests" ,python-requests) ("python-responses" ,python-responses) ("python-six" ,python-six))) (home-page "https://github.com/mwclient/mwclient") (synopsis "MediaWiki API client") (description "MediaWiki API client") (license license:expat) (properties `((python2-variant . ,(delay python2-mwclient)))))) (define-public python2-mwclient (let ((base (package-with-python2 (strip-python2-variant python-mwclient)))) (package (inherit base) (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) (define-public python-funcsigs (package (name "python-funcsigs") (version "1.0.2") (source (origin (method url-fetch) (uri (pypi-uri "funcsigs" version)) (sha256 (base32 "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; tests fail to recongnize unittest2 (native-inputs `(("python-setuptools" ,python-setuptools))) (home-page "http://funcsigs.readthedocs.org") (synopsis "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+") (description "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+") (license license:asl2.0))) (define-public python2-funcsigs (package-with-python2 python-funcsigs)) (define-public python-pytest-pep8 (package (name "python-pytest-pep8") (version "1.0.6") (source (origin (method url-fetch) (uri (pypi-uri "pytest-pep8" version)) (sha256 (base32 "06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3")))) (build-system python-build-system) (inputs `(("python-pep8" ,python-pep8) ("python-pytest" ,python-pytest) ("python-pytest-cache" ,python-pytest-cache))) (home-page "https://bitbucket.org/pytest-dev/pytest-pep8") (synopsis "pytest plugin to check PEP8 requirements") (description "pytest plugin to check PEP8 requirements") (license license:expat) (properties `((python2-variant . ,(delay python2-pytest-pep8)))))) (define-public python2-pytest-pep8 (let ((base (package-with-python2 (strip-python2-variant python-pytest-pep8)))) (package (inherit base) (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) (define-public python-apache-libcloud (package (name "python-apache-libcloud") (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "apache-libcloud" version ".tar.bz2")) (sha256 (base32 "15fqs5ppkrbky2s4lpq4aif9rki4v18jv9l1j74g88g8qlmh3iwl")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'check 'prep-tests (lambda _ ;; this test requires using ssh (delete-file "libcloud/test/compute/test_ssh_client.py") ;; this is required for the tests to run (copy-file "libcloud/test/secrets.py-dist" "libcloud/test/secrets.py")))))) (native-inputs `(("python-mock" ,python-mock))) (home-page "https://libcloud.apache.org/") (synopsis "A Python library to abstract away differences among cloud provider AP= Is") (description "Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud reso= urces through a unified and easy to use API. Resources you can manage with Libcl= oud are divided into compute, storage, load balancers, DNS, and container categories.") (license license:asl2.0))) (define-public python2-apache-libcloud (let ((base (package-with-python2 python-apache-libcloud))) (package (inherit base) (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) (define-public python-crypto (package (name "python-crypto") (version "1.4.1") (source (origin (method url-fetch) (uri (pypi-uri "crypto" version)) (sha256 (base32 "1gd9cvw1j5j9nxhi7gla2pggnp678zj7l2dc8n4c2r82d9syjblg")))) (build-system python-build-system) (inputs `(("python-naked" ,python-naked) ("python-pyyaml" ,python-pyyaml) ("python-shellescape" ,python-shellescape))) (home-page "https://github.com/chrissimpkins/crypto") (synopsis "Simple symmetric GPG file encryption and decryption") (description "Simple symmetric GPG file encryption and decryption") (license license:expat))) (define-public python2-crypto (let ((base (package-with-python2 python-crypto))) (package (inherit base) (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) (define-public python-shellescape (package (name "python-shellescape") (version "3.4.1") (source (origin (method url-fetch) (uri (pypi-uri "shellescape" version)) (sha256 (base32 "0n5ky1b2vw2y0d4xl3qybyp2rk0gq5frjs8nr8ak6mgj2fyb4676")))) (build-system python-build-system) (home-page "https://github.com/chrissimpkins/shellescape") (synopsis "Shell escape a string to safely use it as a token in a shell command = (backport of Python shlex.quote for Python versions 2.x & < 3.3)") (description "Shell escape a string to safely use it as a token in a shell command = (backport of Python shlex.quote for Python versions 2.x & < 3.3)") (license license:expat) (properties `((python2-variant . ,(delay python2-shellescape)))))) (define-public python2-shellescape (let ((base (package-with-python2 (strip-python2-variant python-shellescape)))) (package (inherit base) (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) (define-public python-naked (package (name "python-naked") (version "0.1.31") (source (origin (method url-fetch) (uri (pypi-uri "Naked" version)) (sha256 (base32 "0zk793hh6z4lirfxz73z4f5yzyx8khhx5w92jh1hfpar2j56pdqj")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-reference ;; installing is much easier when you don't depend on yourself (lambda _ (substitute* "setup.py" (("\\['Naked', ") "["))))))) (inputs `(("python-pyyaml" ,python-pyyaml) ("python-requests" ,python-requests))) (home-page "http://naked-py.com") (synopsis "A command line application framework") (description "A command line application framework") (license license:expat) (properties `((python2-variant . ,(delay python2-naked)))))) (define-public python2-naked (let ((base (package-with-python2 (strip-python2-variant python-naked)))) (package (inherit base) (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) --3yNHWXBV/QO9xKNm-- --XaUbO9McV5wPQijU Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJXzTx1AAoJEPTB05F+rO6TR9MP/jXuvEi0YQpM0VdFSCd3q+iR EBurV9N2IVoiy0sDq7WGziH4VgdLalBvA/5IE8xmBmtlC1P/l38mTZzZGdhR5FDn QcgNJc0sLFdX9rV0eA1muW+ATWAsVjqq5/NL+aIrQ10gFDmY51tmxfF8dHXNiaOj o48F4RN8xfxESBFquaTjHFTJQL7qEvArX3GRI4/kU/es0vwJ4EF5aqzt8zYJeOeM GMmmiklgQz7R8Cdb65hIrnQHyJjcMEwjsAxFWrghVzj2EisAdIE2J92EhuusLXWd 2qayAwoFpyuC+rruU1qTSumcak+KucUjS39PxFM3I33ZO2MY15ZF1eIr5ngkCHcu B4qXu3Om2UYIqz0wp1jyhTTCmj3WrAa1sPDT+7p+mbxiuh2wx1hBnnTy/l6rBTQJ loSreslPuQuZzMxL1Aoa5OadzUKl7wn+BxvA5Ae7/W1m+bpJQ+WCXKLllDNgUVza PGC/IezHyqu2AgrRg7a5m8JqArrocBL2pG0qAU15Kd93wAakx+noyxnu1G+uq9Qb 6t0F+DUaYmok2faP9FOlvPjs0YPhPSixg97IMs4KuxkdOjdNsDgsVub9wVfOeVSP TL3zZX7uw2aPcG4/YnIgvehFTJdUyaLvpXwFbSTkqwoGWKw0H6qdjO0uvI9ZjF3I moCA8IIZcZLXvoTggrN0 =xAkM -----END PGP SIGNATURE----- --XaUbO9McV5wPQijU--