Dear Remi, Thanks for the update, and Guile's lack of support for unions does sound like it would cause a painful diversion -- glad to hear you managed to navigate it nevertheless.
Maybe Ludo, me and you can have a brief mid-term chat over Mumble sometime 'soon'? I would like to discuss what adjustments we might want to make to the original roadmap and hear from you if we can do something to improve your mentoring situation. I can do pretty much any evening next week around 9pm. Happy hacking! Christian On 06/25/2015 01:02 PM, Rémi Birot-Delrue wrote: > Hello GnuNet! > > Here’s my second report on the “Guix through GnuNet” project. I am still > working on the GnuNet bindings: it’s been a much harder and longer work > than I thought, but the trickiest parts are done (for instance, Guile > had no utility to handle unions, therefore I had to write one to handle > the struct GNUNET_FS_ProgressInfo). > > The main data structures (URIs, configuration handles, metadata…) have > been bound and tested, the scheduler has also be bound. Moreover, the > dependency on GOOPS as well as the need of separated C library have been > completely removed. > > Code for the bindings are available on the Savannah repository: > > http://git.savannah.gnu.org/cgit/guix/gnunet.git/tree/ > > You’ll find, in the file `examples/search.scm`, a loose clone of the > `gnunet-search` utility that shows the (uncomplete) API. > > These next days, I’ll complete the bindings (upload & download, more > metadata, some syntactic sugar if needed) and start designing the next > step: how to share packages through GnuNet. > > Testing the bindings > ———————————————————— > > You’ll need a working GnuNet installation, of course, and Guile (which > is probably already installed on your computer, as it is often needed by > GNU Make). > > First, we assure Guile finds libgnunet — a step only necessary if you > installed Gnunet in a directory outside ld’s path: > > $ export LD_LIBRARY_PATH="/.guix-profile/lib/" > > The gnunet-search clone currently accepts no argument other than the > keywords of the search, and will start a 5 second search on them. As I > do not advise yet installing the bindings in your system, we have to > execute `search.scm` from the repository’s root (otherwise, Guile won’t > find the bindings). Here’s an example: > > $ echo "hi gnunet!" > foo.txt > $ gnunet-publish foo.txt > Publishing `/home/remi/foo.txt' done. > URI is `gnunet://fs/chk/R2VQDF2ORAIV9JJS6HQVAHTSQJ04VF7U599MJCFSG…'. > $ git clone git://git.savannah.gnu.org/guix/gnunet.git > […] > $ cd gnunet/ > $ examples/search.scm "foo" > gnunet-download -o "foo.txt" gnunet://fs/chk/R2VQDF2ORAIV9JJS6HQV…'. > > ———— > > As usual, if you have any question, suggestion or remark, please do not > hesitate to contact me! (through email or IRC; nick remi`bd) > > Good afternoon, >
0xE29FC3CC.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
