Commit Graph

688 Commits

Author SHA1 Message Date
8a277485ba container: root: plugin: common: add PluggableSpace entrypoint 2026-01-08 15:30:35 -08:00
cf5c2c4baa container: root: common: utility: add PluggableSpace entrypoint 2026-01-08 14:47:09 -08:00
1f0b8e914e container: root: common: type: add PluggableSpace entrypoint 2026-01-08 14:46:52 -08:00
843add3d63 Merge pull request #260 into master
a3e03880 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.51.2 (Aaron Fiore)
2026-01-08 10:26:26 -08:00
a3e03880bc client: Dockerfiles: remote: hledger-suite: bump hledger to 1.51.2 2026-01-08 10:25:49 -08:00
026a3388a8 Merge pull request #259 into master
f407ce38 container: hledger-flow: discover: credit: remove comma(s) from description (Aaron Fiore)
2026-01-08 10:24:30 -08:00
f407ce3811 container: hledger-flow: discover: credit: remove comma(s) from description 2026-01-06 16:59:49 -08:00
bdfb91f3aa Merge pull request #257 into master
4debfda7 client: Dockerfiles: remote: root: bump to 6.38.00-3 (Aaron Fiore)
550de736 client: Dockerfiles: remote: hledger-suite: bump hledger-flow to v0.16.2 (Aaron Fiore)
2026-01-06 12:00:03 -08:00
4debfda786 client: Dockerfiles: remote: root: bump to 6.38.00-3 2026-01-06 10:52:05 -08:00
550de73651 client: Dockerfiles: remote: hledger-suite: bump hledger-flow to v0.16.2 2026-01-06 10:52:05 -08:00
bda01d68e4 Merge pull request #256 into master
6a7087f1 container: root: test: unit: common: PluggableSpace: add case for conversions (Aaron Fiore)
ce12412d container: root: common: PluggableSpace: add character checks/conversions (Aaron Fiore)
736a71e9 container: root: test: unit: common: PluggablePath: add case for invalid characters (Aaron Fiore)
8bc6477c container: root: common: PluggablePath: add checks for invalid characters (Aaron Fiore)
d2ff942f container: root: test: unit: common: PluggablePath: update/add case for invalid family (Aaron Fiore)
b775992d container: root: common: PluggablePath: expand parent path, refactor (Aaron Fiore)
2026-01-05 13:10:09 -08:00
6a7087f175 container: root: test: unit: common: PluggableSpace: add case for conversions 2026-01-05 13:06:54 -08:00
ce12412d10 container: root: common: PluggableSpace: add character checks/conversions 2026-01-05 13:06:54 -08:00
736a71e9d1 container: root: test: unit: common: PluggablePath: add case for invalid characters 2026-01-05 13:06:54 -08:00
8bc6477c27 container: root: common: PluggablePath: add checks for invalid characters 2026-01-05 13:06:54 -08:00
d2ff942fa0 container: root: test: unit: common: PluggablePath: update/add case for invalid family 2026-01-05 13:06:54 -08:00
b775992d63 container: root: common: PluggablePath: expand parent path, refactor 2026-01-05 13:06:54 -08:00
f11c139359 Merge pull request #254 into master
c3d128ea container: root: test: benchmark/unit: add bitcoin plugin support (Aaron Fiore)
0bf4c359 container: root: macro: add bitcoin plugin support (Aaron Fiore)
2268ae80 container: root: src: add bitcoin plugin support (Aaron Fiore)
8d6a7960 container: plugins: root: add bitcoin plugin (Aaron Fiore)
d130d078 client: add bitcoin plugin, update custom build deps (Aaron Fiore)
2026-01-05 13:02:30 -08:00
c3d128ea62 container: root: test: benchmark/unit: add bitcoin plugin support
- Adds test cases and benchmark for bitcoin's RNG via `dfi`'s `Random`
  * Currently only supports one of bitcoin's RNG's (`FastRandomContext`)
2025-12-18 16:20:38 -08:00
0bf4c359b1 container: root: macro: add bitcoin plugin support
- Adds support to existing macros for bitcoin's RNG via `dfi`'s `Random`
  * Currently only supports one of bitcoin's RNG's (`FastRandomContext`)
2025-12-18 16:20:38 -08:00
2268ae8083 container: root: src: add bitcoin plugin support
- Adds bitcoin plugin support to `Random` specialization/implementation
  * Currently only supports one of bitcoin's RNG's (`FastRandomContext`)
2025-12-18 16:20:38 -08:00
8d6a796022 container: plugins: root: add bitcoin plugin
Utilizes `libbitcoinkernel` for symbols and headers but also pulls from
non-kernel headers as needed (since current kernel design is a WIP).

See the code documentation in this commit for details.
2025-12-18 16:20:38 -08:00
d130d078ca client: add bitcoin plugin, update custom build deps
Adds bitcoin building plugin and finance image build dependencies.

See the code documentation in this commit for details.
2025-12-18 16:20:38 -08:00
2ba5777773 Merge pull request #255 into master
bbf4e0e4 client: Dockerfiles: remote: root: bump to 6.38.00-2 (Aaron Fiore)
2025-12-18 16:17:53 -08:00
bbf4e0e439 client: Dockerfiles: remote: root: bump to 6.38.00-2 2025-12-18 15:04:47 -08:00
44edaa63e1 Merge pull request #253 into master
a609e4d9 container: plugins: root: update example plugin (Aaron Fiore)
a54c7f25 container: root: add getter for `dfi`'s `root` path (Aaron Fiore)
6f415bd8 container: root: remove loading `dfi` src API headers by default (Aaron Fiore)
0c35fe1e container: root: refactor scope for internal/common types (Aaron Fiore)
2025-12-18 10:02:50 -08:00
a609e4d936 container: plugins: root: update example plugin
`dfi` API headers must be managed on an as-needed basis.
2025-12-17 17:04:41 -08:00
a54c7f25a5 container: root: add getter for dfi's root path
Adds impl/test for getting absolute path to all `dfi`'s `root` code.
2025-12-17 17:04:40 -08:00
6f415bd847 container: root: remove loading dfi src API headers by default
Because of the nature of the interpreter, these headers should be
loaded/unloaded on an as-needed basis.

This commit is particularly useful for pluggables in that, if the
pluggable requires that the `dfi` API (or API-related implementations)
have certain preprocessor requisites fulfilled for the pluggable, the
API can now be compiled *after* the pluggable has been loaded but also
*before* the pluggable *requires* the use of the API (or API-related).

In other words, without this commit, a pluggable's `#define`s will be
useless *after* the API (or API-related implementations) is loaded and
compiled (at least not without an API reload, but that is not needed).

NOTE: this change does not affect `dfi`'s pluggable auto-(un|re)loading,
as the pluggable will have already been loaded prior to any other `dfi`
API compiling.
2025-12-17 17:04:34 -08:00
0c35fe1edd container: root: refactor scope for internal/common types
Avoid programmer/compiler confusion for internal/common types.
2025-12-17 16:38:52 -08:00
e8374a6c1f Merge pull request #252 into master
7b819703 container: root: test: unit: add pluggable cases (Aaron Fiore)
29574ca7 container: plugins: root: rewrite example plugin (Aaron Fiore)
8055a949 container: root: new pluggable framework (Aaron Fiore)
2025-12-17 12:59:13 -08:00
7b81970330 container: root: test: unit: add pluggable cases
Focuses on base pluggables, pluggable data types and functionality.
2025-12-16 17:13:06 -08:00
29574ca74d container: plugins: root: rewrite example plugin
- Reorganizes to utilize new pluggable framework
- Refactors, adds/updates documentation
2025-12-16 17:13:06 -08:00
8055a9494f container: root: new pluggable framework
- Implements pluggable auto-(un|re)loading
- Refactors, adds/updates documentation
2025-12-16 17:13:06 -08:00
8a3b44d727 Merge pull request #251 into master
c7fcebfe client: Dockerfiles: remote: root: update multi-stage (Aaron Fiore)
2025-12-10 13:05:00 -08:00
c7fcebfe0b client: Dockerfiles: remote: root: update multi-stage
Parses out build stage into separate build target.
2025-12-10 12:43:53 -08:00
70417cc889 Merge pull request #250 into master
f669c01f client: Dockerfiles: remote: hledger-suite: use multi-stage (Aaron Fiore)
a88dbf57 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.51.1 (Aaron Fiore)
2025-12-10 12:00:40 -08:00
f669c01f97 client: Dockerfiles: remote: hledger-suite: use multi-stage
The previous hledger-suite image was treated as a monolithic development
image that was never intended to be pulled from directly, at least
outside of the `dfi` build system.

hledger-suite has now been parsed out into separate build targets for
faster maintenance and development, with the final production image
being a massively slimmer "placeholder" image for the built binaries.

`hledger-suite:latest` can now be pulled from directly without pulling
the entire build system and related artifacts.
2025-12-10 11:56:43 -08:00
a88dbf5704 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.51.1 2025-12-10 09:35:24 -08:00
14f34e7631 Merge pull request #249 into master
7ca01776 container: root: refactor using common utility (Aaron Fiore)
d156f62f container: root: common: utility: refactor/add tests (Aaron Fiore)
ea204131 container: root: common: utility: refactor/deprecate, add/enhance free functions (Aaron Fiore)
2025-12-09 15:13:56 -08:00
7ca01776fc container: root: refactor using common utility 2025-12-09 15:09:51 -08:00
d156f62fa7 container: root: common: utility: refactor/add tests 2025-12-09 15:09:51 -08:00
ea20413107 container: root: common: utility: refactor/deprecate, add/enhance free functions
- Factors out (and deprecates) `Command`
- Deprecates certain free functions
- Adds better error handling
- Adds more free functions
- Refactors file handling
- Improves documentation

Notes on file loading (and general file handlers):

The interpreter command `.L` will load files but appears to not fail if
the file isn't source code or a library.

Calling `gSystem->Load()` will load a given library but not source file,
and appears to not accept paths (which will be needed for pluggables).

Because `gInterpreter->LoadFile("path")` will load either a source file
or library by given "path", and is consistent with `dfi`'s approach to
path handling, this function appears to be the winner (for now).
2025-12-09 15:09:51 -08:00
ee82e6852f Merge pull request #248 into master
a84c404c container: root: internal: fix calling base CRTP template functions (Aaron Fiore)
2025-12-01 16:30:04 -08:00
a84c404c5b container: root: internal: fix calling base CRTP template functions
ROOT 6.38.00 brings LLVM 20 which errors (or ROOT's Cling errors) when
calling certain base CRTP template functions without a `this` pointer.

Resolves:

  "error: call to non-static member function without an object argument"

NOTE: RandomImpl is not currently affected but is refactored for consistency.
2025-12-01 16:23:42 -08:00
6cb8be88d5 Merge pull request #247 into master
5e45f307 client: Dockerfiles: local: root: package updates (Aaron Fiore)
70be50b0 client: Dockerfiles: remote: root: use multi-stage (Aaron Fiore)
8816d5fd client: Dockerfiles: remote: root: bump to 6.38.00 (Aaron Fiore)
2025-12-01 15:00:39 -08:00
5e45f307ad client: Dockerfiles: local: root: package updates
- Prevents system upgrades from using Arch's `root` package
  * Currently, their package does not build with C++20 support

- Updates remote image package artifact location
  * Remote image's build artifact moved from /home/builder to /root

- Uses wildcard for local `root` package version
  * Reduces maintenance since any remote bump should rebuild this module
2025-12-01 14:59:11 -08:00
70be50b0d4 client: Dockerfiles: remote: root: use multi-stage
A single development stage ended up not being needed.

NOTE: `dfi` will still only pull the package artifact from the final image.
2025-12-01 14:58:58 -08:00
8816d5fd17 client: Dockerfiles: remote: root: bump to 6.38.00 2025-12-01 09:24:30 -08:00
34b200d46f Merge pull request #246 into master
221a5f70 client: docker: add `exec` wrapper, update completion (Aaron Fiore)
2025-11-26 10:48:49 -08:00