Commit Graph

679 Commits

Author SHA1 Message Date
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
221a5f7049 client: docker: add exec wrapper, update completion 2025-11-25 15:51:05 -08:00
a75f8add47 Merge pull request #245 into master
8eb03f6d container: root: rootlogon: update the help process (Aaron Fiore)
9fec1b42 container: root: change base path, related refactor (Aaron Fiore)
273f2cef container: root: internal: update TODO re: c++23 (Aaron Fiore)
2025-11-24 10:58:51 -08:00
8eb03f6d95 container: root: rootlogon: update the help process
- Less noisy, less intrusive, more helpful
- Will allow for isolating usage help on a per-namespace level
2025-11-21 17:32:38 -08:00
9fec1b427c container: root: change base path, related refactor
The base path is now *outside* of the macro directory; allowing for a
more integrated view of `dfi`'s entire `root` system. This is more
apparent once running an interactive session where the expectation is
(more intuitively) that any path should be relative to 'src/root' and
not 'src/root/macro'.

The rationale for why this was in 'src/root/macro' to begin with stems
from how `root` (by default) will automatically load rootlogon.C in the
directory that `root` is started. This is causing more confusion than
not because `dfi`'s usage of `root` is not limited to macros.

These changes skirt the line between needing a major API bump and not
but, so far, appears to be on the side of *not*. However, the TODOs
noted for macro loading should be addressed prior to any API changes.
2025-11-21 17:32:25 -08:00
273f2cef49 container: root: internal: update TODO re: c++23 2025-11-21 11:28:14 -08:00
4780f79716 Merge pull request #244 into master
9faebb6c container: plugins: root: fix example3()'s usage of throw handler (Aaron Fiore)
ca591691 container: root: rewrite throw handler, refactor using common types (Aaron Fiore)
fa91fd02 container: root: factor out internal types to common (Aaron Fiore)
2025-11-21 11:22:14 -08:00
9faebb6cea container: plugins: root: fix example3()'s usage of throw handler
The old macros should *not* have been used in any example; as they
were intended for internal use only.

This was noted in Doxygen ...by not noting them as publicly consumable.
2025-11-21 11:15:58 -08:00
ca59169116 container: root: rewrite throw handler, refactor using common types
- Refactor using common types that were once internal
- Removes ancient macro approaches to C++20 solutions
- Changes `Exception` message type to use std::string
  * std::string_view isn't worthwhile in this context
2025-11-21 11:15:58 -08:00
fa91fd02e8 container: root: factor out internal types to common
These types and handlers are too generic to be kept internal only.

They can now be used across all root macros, plugins and overall API.
2025-11-20 17:44:32 -08:00