Re: GForth in F-Droid repository?

Bernd Paysan <[email protected]> Mon, 03 Aug 2020 13:40:52 +0200
Newsgroups gmane.comp.lang.forth.gforth
Message-ID <5568206.fZDg0OLlCl@liubei>
Am Montag, 3. August 2020, 01:34:32 CEST schrieb J. R. Haigh:
> Hi GForth team,
> 	I didn't know that GForth runs on Android until just this evening, 
when I
> checked https://GForth.org for another reason. I'd be very keen to
> programme Android using GForth if I was able to install it and had
> documentation for how to develop applications with it. However, it seems
> that it's only available on Google Play, which I nolonger use, and is not
> available in the F-Droid repository. Furthermore, the manual contents
> listing does not even mention Android. Please could you consider targetting
> F-Droid?

The problem is that F-Droid wants to build the app from source, and, as far as 
I can see, F-Droid assumes that your app is a normal Java Android app, with a 
ant or gradle build.  We don't do that.  Gforth on Android is a (pretty 
contrived) make build, because what we build is a native C library, and Forth 
images, and have lots of interdependencies, need a running Gforth on the host, 
a modified version of swig for generating the C bindings from Forth, and 
whatnot.  Finally, we package that, including the dependency libraries, which 
are also build the make build system, and then, we run gradle on a small Java 
wrapper, which just is a replacement for the NativeActivity, which is too 
buggy.

I have no idea how to get that build process into F-Droid.

> https://f-droid.org/en/docs/FAQ_-_App_Developers/#how-do-i-get-my-app-inclu
> ded Please could you provide a demonstration application that I can use as a
> starting point to develop Android applications written in GForth?

net2o is such an example. The important part is AndroidManifest/apps, here, 
you can declare which Forth source you can provide as starting point.

You need a makefile with extra-install: as additional target (that installs 
the stuff you need on Android).  The makefile can build additional libraries 
and whatever other thing you need, just like Gforth's makefile.

I should add instructions how to build, but essentially, it is running BUILD-
FROM-SCRATCH in gforth/arch/arm/android. This assumes you have a working 
Android SDK build environment with gradle, including signing key. The BUILD-
FROM-SCRATCH also shows how you integrate your own app similar to net2o.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o id: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
https://net2o.de/
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEERJ1NDqPQRwYnwBjr9y2Uk5MtoGcFAl8n98QACgkQ9y2Uk5Mt
oGfMnw/6A02ZHx3JqbUvh7bTy81hM3m641cYA5vLaiSoLSNkzkQSXv2zY8rhZI00
AlPkRCVIE+wZEvqGDEnxxiJ3+x20OM8N/LuRCE/FiAvaExtcy1pnM6EbCx2qmKjZ
XiWhn2mUNicv7X6k7iYX+FRKgS2dHZB48gHtU0NEmyB9IPKdczQs0nMm/eObuyf7
WTcIHuB8E0Nh0uPmHR9GHvkdBcHEDuGx06fMlUmRmq1jk+sdSRUGH3CLJgFmHV6f
ogj2jKHTv+94XDnB/OLYO7Sq8ImAHz9acq2BUNGu0ezUglOzOENdPnvnOOyLA+0+
AnyfI/M9e/sgy/LjVy6WMIge6muDSk4zvk4h02nbnoM1sZqIQAdYz3YYWiPxjBjz
hIUAz03KKELFHPJ8lswvFTztlZcJmFq0+FjOF690En5vxIN/V8UwvAURdlP+TNQz
2Vv9ODV+gLGaP3VzUP/H95NNBvmCJ6SxoXBJ8hzUfAUkD3F7J5l/Kbq5KeNzOq68
H5Pcpkt2U4wfTdV+gS6cJ6aN3Vq1HGpoK4qOR3Bh/rtP8E2Ez9W5/aetqQ7/qHW+
KOc4dJ27Hu3luobQ/DCKymszRczY+IK5WFC/qs1vnMXO1OlRKu34PpfyvTDLlNcB
8grDGI3A9qT/m69UMWDxzDHFbej/ruoK+k0k4XbNOgFEDooPQc4=
=57CH
-----END PGP SIGNATURE-----