Commit Graph

21 Commits

Author SHA1 Message Date
Ludovic Courtès b36ec7d915 build: Capture the location of the GNUnet libraries.
* 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.
2015-11-05 17:39:49 +01:00
Rémi Birot-Delrue dc6f74d269 Add tools to manipulate `file-information` objects, and a few other things.
* 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.
2015-08-21 20:50:56 +02:00
Rémi Birot-Delrue 2304d664bb Minor modifications to get all examples working.
* 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.
2015-08-12 20:17:58 +02:00
Rémi Birot-Delrue cd20d8d6d0 Add a record type for GNUNET_FS_ProgressInfo and a few tests.
* 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`.
2015-08-12 19:31:27 +02:00
Rémi Birot-Delrue 5581107a9d Small typo and improvements (add a few time management functions).
* 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`.
2015-08-12 19:25:14 +02:00
Rémi Birot-Delrue 9cef3b7d43 Code cleaning: various improvements and bug fixes.
* 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!`
2015-08-10 19:18:22 +02:00
Rémi Birot-Delrue 51a4fd3496 Remove `set-next-task!`, as the corresponding functions have been removed
from GNUnet.
2015-08-10 19:09:22 +02:00
Rémi Birot-Delrue cb2028f885 Complete the container/metadata bindings. 2015-08-06 16:44:52 +02:00
Rémi Birot-Delrue 5259c5c20a Add `close-filesharing-service` and dynamic allocation in `open-filesharing-handle`. 2015-08-03 17:01:54 +02:00
Rémi Birot-Delrue 12e8a31b23 Add `time-rel` to replace all ad-hoc time calculations. 2015-08-03 15:57:09 +02:00
Rémi Birot-Delrue ff8e19b523 Rewrite of examples/publish.scm, small bug fixes and typos.
* examples/publish.scm: rewritten to correctly handle namespaces.
* gnu/gnunet/binding-utils.scm: add `or%`.
* gnu/gnunet/fs.scm: bug fix: `start-*` function throw an error instead of
                    returning %null-pointer.
* gnu/gnunet/identity.scm: typo.
2015-08-03 12:38:31 +02:00
Rémi Birot-Delrue 8fce653b32 Add `examples/identity.scm`, `examples/identity-bis.scm`, `examples/search-ns.scm`, and a few minor modifications.
* 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`.
2015-07-31 12:10:34 +02:00
Rémi Birot-Delrue ac1479fa17 Small bug fixes and add publishing in namespaces for examples/publish.scm
* 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.
2015-07-24 21:31:42 +02:00
Rémi Birot-Delrue 96048086c6 Bind GNUNET_FS_IDENTITY_* functions and add support for publishing in namespaces.
* 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`
2015-07-21 19:26:51 +02:00
Rémi Birot-Delrue 8f48b792a2 Add draft support for indexing/publication.
* 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.
2015-07-21 13:03:07 +02:00
Rémi Birot-Delrue 6fc73cee9b Add a few utility functions.
* binding-utils.scm: add `pointer->string*`.
* common.scm: add `bool->int` and `int->bool`, two functions to easily convert
              `gnunet-ok`, `gnunet-no`, `gnunet-syserror` values to booleans.
* fs/uri.scm: export `keyword-list->string`.
* tests/uri.scm: test `keyword-list->string`.
* scheduler.scm: add `cancel-task!`.
2015-07-21 13:01:28 +02:00
Rémi Birot-Delrue 7790951783 Bind basic download functionalities
* 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`.
2015-07-17 12:32:39 +02:00
Rémi Birot-Delrue bee3516b83 API cleanup: separates search and URI, adds sks URIs.
* 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.
2015-07-03 13:39:56 +02:00
Rémi Birot-Delrue c294a124d8 Corrects a small bug. 2015-07-03 00:00:48 +02:00
Rémi Birot-Delrue c40fcacfbc Replaces the crappy “union handling” functions with better ones (inside “system/foreign/”); has the stub gnunet-search working. 2015-06-24 13:20:18 +02:00
Rémi Birot-Delrue 04bbbcef56 Initial commit. 2015-06-20 22:16:34 +02:00