Héllo all, I restarted from scratch the gnunet-guile bindings. It was made much easier thanks to the work of ng0 on gnunet documentation and guile-bytestructures to handle C structs and unions.
You need guix from today with latest guile-bytestructures 1.0.1. You can get the code using the following command: git clone git://gnunet.org/gnunet-guile2.git You can install a recent-ish gnunet using the following command: guix package -f guix.scm Then, you can do usual cli dance: ./bootstrap && ./configure && make Ahem, now it's time to run gnunet services. I put together gnunet configuration that might not be very good even if it works. For instance, it seems like gnunet manages to reach the outside world. It's based on configuration files found in gnunet distribution: gnunet-arm -c etc/p2.conf -s At this point you will be able to test the bindings. To publish a FILE, use the following command: ./pre-inst-env ./gnunet-guile publish etc/p2.conf FILE To download the above file into OUT, you need to copy paste the gnunet:// URI from the previous command output and execute the following command: ./pre-inst-env ./gnunet-guile download etc/p2.conf URI OUT That is all! There is no support for identity and various stuff are missing. There might be memory leaks and other issues (like proper disjoint types for pointers). I just finished the code. I think I need to know what's the plan/design for gnunet/guix integration to continue. TIA!