unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Christian Grothoff <grothoff@gnunet.org>
Cc: guix-devel@gnu.org, gnunet-developers@gnu.org
Subject: Re: [GNUnet-developers] GSoC: Binary package distribution through GnuNet (report 1)
Date: Fri, 05 Jun 2015 09:39:21 +0200	[thread overview]
Message-ID: <87d21appsm.fsf@gnu.org> (raw)
In-Reply-To: <556F51AA.8050708@gnunet.org> (Christian Grothoff's message of "Wed, 03 Jun 2015 21:12:42 +0200")

Christian Grothoff <grothoff@gnunet.org> skribis:

> On 06/03/2015 05:15 PM, Ludovic Courtès wrote:
>> asgeir@free.fr skribis:
>> 
>>> This first week started with cleaning and organizing the draft
>>> bindings I’ve been working on previously (set up of a proper directory
>>> structure, a small Makefile, etc.), then most of the work has been on
>>> mapping GnuNet’s data structures.
>>>
>>> This week, I’m heading for the remaining “most-needed” functions (URI
>>> handling, scheduling) and some testing, and also writing a simplified
>>> version of the `gnunet-search` utility, as it could be a good test and
>>> example of usage for the bindings.
>> 
>> OK, sounds like a good plan!
>> 
>> Are you already using a public repo that we could look at?  If not, we
>> should set up a Git repository at gnunet.org or Savannah, whichever is
>> more convenient.
>
> gnunet.org isn't quite setup for *public* Git's yet...

OK, I have requested the creation of a repo under the Guix project on
Savannah:

  https://savannah.gnu.org/support/?108833

Rémi: I will add you on Savannah so you can push your code there when
the repo is ready.  Make sure to add a ‘COPYING’ for the GNU GPL v3, as
well as copyright and license headers (see how this is done in Guix.)
Feel free to contact me off-list for additional details.

>>> Options handling: the standard way of writing software that uses
>>> GnuNet’s API is to let GnuNet handle the command line options: the
>>> API’s entry point, must be fed directly with the C arguments vector
>>> `argv`; it assures that all GnuNet programs have a uniform CLI. The
>>> first difficulty I encountred is: how to properly handle these
>>> options? After some work, I decided to manually craft a fake `argv` as
>>> a quick temporary fix.
>> 
>> OK.  Question for the GNUnet people: What’s the recommended way to
>> handle argc/argv if we want to provide a library?
>
> Well, libgnunetutil contains a wrapper around getopt for our own
> convenience, but I'm totally fine with using a language-specific
> argv-parser for command-line tools. Note that GNUnet *libraries*
> obviously also don't take command-line arguments, so I'm not sure what
> the question is.
>
>> Typically a Guile
>> module cannot be passed any arguments, and the initialization that
>> happens is just that its top-level forms are evaluated when it’s loaded.
>> Having to explicitly call an initialization function that takes an argv
>> would look unidiomatic.
>
> Right, same applies for (most) GNUnet APIs, with the exception of our
> "service" and "program" abstractions which are there to make it easy to
> write a 'main' function.  But I don't see a need to expose those two
> APIs to Guile.

OK, so I guess there’s nothing to worry about in the end.  :-)

Thanks for your feedback!

Ludo’.

  reply	other threads:[~2015-06-05  7:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <943646258.39342922.1433338288276.JavaMail.root@zimbra53-e8.priv.proxad.net>
2015-06-03 13:38 ` GSoC: Binary package distribution through GnuNet (report 1) asgeir
2015-06-03 15:15   ` Ludovic Courtès
2015-06-03 19:12     ` [GNUnet-developers] " Christian Grothoff
2015-06-05  7:39       ` Ludovic Courtès [this message]
2015-06-12 19:57         ` Ludovic Courtès
2015-06-13 15:12           ` asgeir
2015-06-13 20:30             ` [GNUnet-developers] " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d21appsm.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=gnunet-developers@gnu.org \
    --cc=grothoff@gnunet.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).