[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNUnet-developers] GSoC: Binary package distribution through GnuNet
From: |
Christian Grothoff |
Subject: |
Re: [GNUnet-developers] GSoC: Binary package distribution through GnuNet (report 2) |
Date: |
Thu, 25 Jun 2015 15:51:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0 |
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