aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranon2026-02-18 14:55:27 +0100
committeranon2026-02-18 14:55:27 +0100
commit8a0d04c35fa0aab2530bd3664fdb76057c6475a2 (patch)
tree765c85906b16a54760ac0be276c7257d339c5875
parentf3f87e6b65d53eb165617511c3ed13c44873db07 (diff)
downloadlibchad-8a0d04c35fa0aab2530bd3664fdb76057c6475a2.tar.xz
libchad-8a0d04c35fa0aab2530bd3664fdb76057c6475a2.tar.zst
bump
-rw-r--r--README.md21
-rw-r--r--peru.yaml21
2 files changed, 39 insertions, 3 deletions
diff --git a/README.md b/README.md
index e346104..a0a436f 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,8 @@
## Rationele
C libraries are hard to find; good libraries are even harder.
+Libchad is a collection of quality, general-purpose, high-level libraries
+aimed at modern C development.
## Compatibility
Libchad is standard C23.
@@ -59,6 +61,7 @@ gains appropriate maturity.
| Lib | Lang | Description |
| :--- | :---: | :---------- |
| qx.h | Perl | Capture output of exec. |
+| slurp.h | Perl | Simple reading/writing/modifying of complete files. |
| remove\_all.h | C++ | Remove a directory recursively. |
---
@@ -73,13 +76,29 @@ Experimental libraries on the other hand are volatile.
| bits.h | Various miscellaneous functionalities. |
## Criteria
-
* A clear way in which the functionality can be described as.
(e.g.: "generic datastructures" - good; "roguelike stuff" - bad)
* Clean and simple interface which can be learned under a few minutes.
Complexity has its place: within its own library.
* Must be amalgamable into a single header.
* No project-namespacing.
+* The top of the headers must have a *description comment*.
+* The *description comment* must be followed by declarations.
+* License comments may not take up more than 3 lines (worst case being a title, the license body and the list of people holding the copyright).
+* Each library must come with a `man(1)` compatible manual.
+
+## Recommendations
+Some subjects are outside of the scope of this project,
+but not outside of its interest.
+For such cases, a recommendations table exists.
+Any item on the recommendations table have been throughly reviewed
+and is believed to be the best-of-its-kind as of now.
+Consequently, only one item per subject should be provided
+and a clean-cut predicate to choose between items of similar subjects.
+
+| Library | Subject | Description |
+| :------ | :------ | :---------- |
+| XXX | XXX | XXX |
## Todo
* peru is nice as a concept, but 1) depends on py-yaml, 2) yaml makes make me vomit from my eyes
diff --git a/peru.yaml b/peru.yaml
index f729f37..9f0c980 100644
--- a/peru.yaml
+++ b/peru.yaml
@@ -3,25 +3,42 @@ imports:
qx: extern/
remove_all: extern/
sds: extern/
+ strlist: extern/
+ slurp: extern/
kvec: extern/experimental/
git module dictate:
url: https://github.com/agvxov/dictate.git
export: source/
pick: source/
+ rev: c3f53e3c3cd168f02dc200a324dbaa9642c4f8af
git module kvec:
- url: https://bis64wqhh3louusbd45iyj76kmn4rzw5ysawyan5bkxwyzihj67c5lid.onion/anon/kvec.git
- pick: [kvec.h, klist.h]
+ url: https://github.com/agvxov/haste-containers.git
+ pick: [hvec.h, hlist.h]
+ rev: d24260750c255a6a671855ac4ab9d2ca41aa8536
git module qx:
url: https://github.com/agvxov/qx.git
pick: qx.h
+ rev: 48d26ca90e2c5f146ebca8e6aa538897e27e7cd7
git module remove_all:
url: https://github.com/agvxov/remove_all.git
pick: remove_all.h
+ rev: 03f32353f0f8a525db0350b901f7577d86644e7f
git module sds:
url: https://github.com/jcorporation/sds.git
pick: [sds.c, sds.h, sdsalloc.h]
+ rev: a7752dc1f1cb5550b88f15d441920de0f4841509
+
+git module strlist:
+ url: https://github.com/agvxov/strlist.git
+ pick: strlist.h
+ rev: f51a214aebd7a8be6593b3a23d3038c596407537
+
+git module slurp:
+ url: https://github.com/agvxov/slurp.git
+ pick: slurp.h
+ rev: a1cd0aa0767dd5e407f75e312b71a2e54e05ed13