* gnu/gnunet/config.scm.in: New file.
* gnu/gnunet/common.scm: Use (gnu gnunet config).
(gnunet-util-ffi, gnunet-fs-ffi, gnunet-identity-ffi): Use the new
%libgnunet-util etc. variables.
* configure.ac: Substitute GNUNETUTIL_LIBDIR, GNUNETFS_LIBDIR, and
GNUNETIDENTITY_LIBDIR.
* Makefile.am (GOBJECTS): Add gnu/gnunet/config.go.
* common.scm: add the constant `%time-relative-forever`.
* container/metadata.scm: add `#:filename` and `#:narinfo` meta-types.
* fs.scm: add tools to create and manipulate `file-information` objects:
`file-information-add!`, `file-information-iterate`,
`file->file-information` and `directory->file-information`,
remove `make-file-information`.
* tests/fs.scm: test those functions a little.
* binding-utils.scm: add `and=>%` (`and=>` for foreign pointers).
* fs/progress-info.scm: bug fix: on '(#:publish #:complete) do not assert any
more there’s a SKS URI (we don’t always publish in a
namespace).
* examples/search.scm: add a one-line help message.
* examples/search-ns.scm,
examples/publish.scm: typos.
* progress-info.scm: add a record type for `GNUNET_FS_ProgressInfo` and alter
`parse-c-progress-info` to handle it.
* fs.scm: - correct `make-file-information`;
- deprecate directory-scan (too many bugs to fix,
`make-file-information will` do for now);
- replace `*block-options*` with `make-block-options`;
- update `procedure->*` functions to use `parse-c-progress-info`.
* examples/*.scm: follow modifications on fs.scm.
* tests/progress-info.scm: add a fake progress-info to test
`parse-c-progress-info`.
* tests/fs.scm: add a small test for `make-file-information`.
* common.scm: - add `bool->int` and `int->bool`;
- add `time-rel`, `current-time`, `time-absolute->string`,
and `time-relative->absolute`.
* uri.scm: minor typo and add LOC URIs to `uri-file-size`.
* identity.scm: `open-identity-service` now throws an exception on failure.
* binding-utils.scm: just add `destructuring-bind`.
* common.scm: `time-rel` now throws an exception instead of returning a
meaningless negative result; add `setup-log`.
* container/metadata.scm: `metadata-set!` now throws an exception on error.
* tests/container-metadata.scm: add tests for `metadata-copy`,
`metadata-clear`, `metadata-equal?`
and `add-publication-date!`
* examples/search-ns.scm: a basic tool to search namespaces.
* examples/identity.scm: a basic tool to list egos.
* examples/identity-bis.scm: idem, but using `start-identity-lookup`.
* fs/uri.scm: `wrap-uri` throws an `invalid-arg` exception when given a
null pointer.
* tests/uri.scm: c.f. ↑
* configuration.scm: add `configuration-value-set?`.
* identity.scm: add `ecdsa-public-key->string`.
* common.scm: add `gnunet-id-ffi` (FFI for libgnunetidentity).
* identity.scm: replace `define-gnunet-fs` with `define-gnunet-id`.
* fs.scm: corrects a bug in `start-publish` (gave `GNUNET_FS_publish_start` a
pointer to the ego in place of a pointer to its private key).
* examples/publish.scm: add handling of namespaces and replace simple global
variables with parameters.
* identity.scm: complete bindings of GNUNET_FS_IDENTITY
* fs.scm: add support for egos/namespaces to `start-publish`
* binding-utils: remove the useless import of `assert`
* fs.scm:
- add a `<file-information>` type and associated functions
(`wrap-file-information`, `unwrap-file-information`, and
`make-file-information`);
- add incomplete bindings to `GNUNET_FS_directory_scan_*` functions
(`start-directory-scan`, `stop-directory-scan`, `directory-scanner-result`)
- add `share-tree->file-information`
- add `start-publish` and `stop-publish`
* examples/publish.scm: a very simple and ugly `gnunet-publish` clone.
* examples/download.scm: a loose `gnunet-download' clone.
* system/foreign/unions.scm: add the possibility to specify #f as a
union variant to get a padding of the
size of the union.
* gnu/gnunet/fs/progress-info.scm: just adapted to the modification to
unions.scm.
* gnu/gnunet/fs/uri.scm: add a few utility functions: `parse-uri' and
`uri-file-size'.
* gnu/gnunet/fs/fs.scm: add `start-download` and `stop-download`.
* examples/search.scm: echo changes in the API;
* gnu/gnunet/common.scm: add ecdsa-public-key? and string->data-pointer;
* gnu/gnunet/fs.scm: replace search-service-open with open-filesharing-service,
replace start-ksk-search with start-search;
* gnu/gnunet/fs/uri.scm: add make-sks-uri-pointer and make-sks-uri;
* tests/uri.scm: add tests for make-sks-uri-pointer and make-sks-uri.