about summary refs log tree commit diff
path: root/src/c-rbtree
diff options
context:
space:
mode:
Diffstat (limited to 'src/c-rbtree')
-rw-r--r--src/c-rbtree/.github/workflows/ci.yml13
-rw-r--r--src/c-rbtree/NEWS.md14
-rw-r--r--src/c-rbtree/meson.build4
-rw-r--r--src/c-rbtree/src/c-rbtree.h4
-rw-r--r--src/c-rbtree/src/docs/.readthedocs.yaml (renamed from src/c-rbtree/.readthedocs.yaml)7
-rw-r--r--src/c-rbtree/src/docs/conf.py13
-rw-r--r--src/c-rbtree/src/docs/requirements.txt6
-rw-r--r--src/c-rbtree/src/meson.build2
8 files changed, 40 insertions, 23 deletions
diff --git a/src/c-rbtree/.github/workflows/ci.yml b/src/c-rbtree/.github/workflows/ci.yml
index 489433c2..ac00c843 100644
--- a/src/c-rbtree/.github/workflows/ci.yml
+++ b/src/c-rbtree/.github/workflows/ci.yml
@@ -1,10 +1,15 @@
-name: Continuous Integration
+name: "Continuous Integration"
 
 on:
-  push:
   pull_request:
-  schedule:
-  - cron:  '0 0 * * *'
+  push:
+    branches-ignore: ["pr/**"]
+    tags: ["**"]
+  workflow_dispatch:
+
+defaults:
+  run:
+    shell: "bash"
 
 jobs:
   ci-linux:
diff --git a/src/c-rbtree/NEWS.md b/src/c-rbtree/NEWS.md
index 71415f67..f3829b7d 100644
--- a/src/c-rbtree/NEWS.md
+++ b/src/c-rbtree/NEWS.md
@@ -1,5 +1,19 @@
 # c-rbtree - Intrusive Red-Black Tree Collection
 
+## CHANGES WITH 3.2.0:
+
+        * Use new c-stdaux variables to allow dynamic-linking and fix
+          problems with pkg-config and variables including dashes.
+
+        * Add hawmoth/sphinx based documentation.
+
+        * Adjust to the new c-util CI workflows. This simplifies the entire
+          CI system significantly.
+
+        Contributions from: David Rheinsberg
+
+        - Dußlingen, 2023-12-12
+
 ## CHANGES WITH 3.1.0:
 
         * Add 'ptrace' build option to enable running tests using 'ptrace'
diff --git a/src/c-rbtree/meson.build b/src/c-rbtree/meson.build
index 3e7af9ce..7eb415ae 100644
--- a/src/c-rbtree/meson.build
+++ b/src/c-rbtree/meson.build
@@ -6,7 +6,7 @@ project(
         ],
         license: 'Apache',
         meson_version: '>=0.60.0',
-        version: '3.1.0',
+        version: '3.2.0',
 )
 major = meson.project_version().split('.')[0]
 project_description = 'Intrusive Red-Black Tree Collection'
@@ -14,7 +14,7 @@ project_description = 'Intrusive Red-Black Tree Collection'
 mod_pkgconfig = import('pkgconfig')
 use_ptrace = get_option('ptrace')
 
-dep_cstdaux = dependency('libcstdaux-1')
+dep_cstdaux = dependency('libcstdaux-1', version: '>=1.5.0')
 add_project_arguments(dep_cstdaux.get_variable('cflags').split(' '), language: 'c')
 
 subdir('src')
diff --git a/src/c-rbtree/src/c-rbtree.h b/src/c-rbtree/src/c-rbtree.h
index 2d9a1d20..74a402ab 100644
--- a/src/c-rbtree/src/c-rbtree.h
+++ b/src/c-rbtree/src/c-rbtree.h
@@ -71,9 +71,9 @@ typedef struct CRBTree CRBTree;
  * or :c:macro:`C_RBNODE_INIT()`.
  */
 struct CRBNode {
-        /** Anonymous union for alignment guarantees */
+        /* Anonymous union for alignment guarantees */
         union {
-                /** Internal state encoding the parent pointer and state */
+                /* Internal state encoding the parent pointer and state */
                 unsigned long __parent_and_flags;
                 /* enforce >=4-byte alignment for @__parent_and_flags */
                 alignas(4) unsigned char __align_dummy;
diff --git a/src/c-rbtree/.readthedocs.yaml b/src/c-rbtree/src/docs/.readthedocs.yaml
index fd02d297..8a63c034 100644
--- a/src/c-rbtree/.readthedocs.yaml
+++ b/src/c-rbtree/src/docs/.readthedocs.yaml
@@ -4,11 +4,13 @@ version: 2
 
 build:
   apt_packages:
-  - "clang"
+  - "libclang-14-dev"
   jobs:
     pre_build:
     - meson subprojects download
-  os: "ubuntu-22.04"
+    post_install:
+    - python -m pip install --upgrade --no-cache-dir clang==14.0.6
+  os: "ubuntu-lts-latest"
   tools:
     python: "3"
 
@@ -17,7 +19,6 @@ formats: "all"
 python:
   install:
   - requirements: "src/docs/requirements.txt"
-  system_packages: true
 
 sphinx:
   configuration: "src/docs/conf.py"
diff --git a/src/c-rbtree/src/docs/conf.py b/src/c-rbtree/src/docs/conf.py
index f804486c..f945ead0 100644
--- a/src/c-rbtree/src/docs/conf.py
+++ b/src/c-rbtree/src/docs/conf.py
@@ -25,20 +25,17 @@ capidocs.kerneldoc.hawkmoth_conf()
 exclude_patterns = []
 
 extensions = [
+    'capidocs.kerneldoc',
     'hawkmoth',
 ]
 
 # Hawkmoth Options
 
-cautodoc_clang = capidocs.kerneldoc.hawkmoth_include_args()
-cautodoc_clang += ["-I" + os.path.abspath("..")]
-cautodoc_clang += capidocs.kerneldoc.hawkmoth_glob_includes("../../subprojects", "libc*/src")
+hawkmoth_clang = capidocs.kerneldoc.hawkmoth_include_args()
+hawkmoth_clang += ["-I" + os.path.abspath("..")]
+hawkmoth_clang += capidocs.kerneldoc.hawkmoth_glob_includes("../../subprojects", "libc*/src")
 
-cautodoc_root = os.path.abspath('..')
-
-cautodoc_transformations = {
-    'kerneldoc': capidocs.kerneldoc.hawkmoth_converter,
-}
+hawkmoth_root = os.path.abspath('..')
 
 # HTML Options
 
diff --git a/src/c-rbtree/src/docs/requirements.txt b/src/c-rbtree/src/docs/requirements.txt
index 77973ebd..e2ee14cb 100644
--- a/src/c-rbtree/src/docs/requirements.txt
+++ b/src/c-rbtree/src/docs/requirements.txt
@@ -1,5 +1,5 @@
-c-apidocs>=0.0.3
-clang>=6
-hawkmoth>=0.7
+c-apidocs>=1.0.0
+hawkmoth>=0.20
 meson>=0.60
 ninja>=1.10
+sphinx-rtd-theme>=3.0.0
diff --git a/src/c-rbtree/src/meson.build b/src/c-rbtree/src/meson.build
index 94612031..cd7542be 100644
--- a/src/c-rbtree/src/meson.build
+++ b/src/c-rbtree/src/meson.build
@@ -19,7 +19,7 @@ libcrbtree_both = both_libraries(
         ],
         dependencies: libcrbtree_deps,
         install: not meson.is_subproject(),
-        link_args: dep_cstdaux.get_variable('version-scripts') == 'yes' ? [
+        link_args: dep_cstdaux.get_variable('version_scripts') == 'yes' ? [
                 '-Wl,--version-script=@0@'.format(libcrbtree_symfile),
         ] : [],
         link_depends: libcrbtree_symfile,