No description
  • Scheme 80.7%
  • Tree-sitter Query 13.7%
  • Makefile 2.9%
  • M4 1.4%
  • Shell 1.3%
Find a file
Giacomo Leidi 115af26b7a
partisan: Add topology resolution ability.
This commit implements <layout>, the root user facing record type and the
procedures to visit its children nodes in topological order.

* Makefile.am: Regenerate.
* hall.scm: Add new files.
* partisan/storage.scm: Reformat some docstrings.
* partisan/topology.scm: New file, add the layout record, topological
visit and layout validation.
* partisan/topology/errors.scm: New file, add topology errors.
* scripts/hall_refresh.sh: Patch Makefile.am to have tests load
fixtures.
* tests/topology.scm: New file.
* tests/fixtures/partisan/types/test-disk.scm: New file.
* tests/fixtures/partisan/types/test-partition.scm: New file.
2026-07-24 16:40:08 +02:00
.guix/modules channel: Make UTF8 locales available in the build environment. 2026-06-30 10:31:10 +02:00
build-aux Add build system. 2026-06-23 00:20:40 +02:00
partisan partisan: Add topology resolution ability. 2026-07-24 16:40:08 +02:00
scripts partisan: Add topology resolution ability. 2026-07-24 16:40:08 +02:00
tests partisan: Add topology resolution ability. 2026-07-24 16:40:08 +02:00
.envrc Add build system. 2026-06-23 00:20:40 +02:00
.gitignore runtime: Add local runtime 2026-06-23 20:15:32 +02:00
.guix-authorizations Init. 2026-06-21 16:48:43 +02:00
.guix-channel .guix-channel: Depend on 'guix-records channel. 2026-06-22 22:26:55 +02:00
configure.ac Add build system. 2026-06-23 00:20:40 +02:00
COPYING COPYING: Add full text of the current GPL 3+. 2026-06-22 22:30:25 +02:00
guix.scm Add build system. 2026-06-23 00:20:40 +02:00
hall.scm partisan: Add topology resolution ability. 2026-07-24 16:40:08 +02:00
Makefile.am partisan: Add topology resolution ability. 2026-07-24 16:40:08 +02:00
manifest.scm Add build system. 2026-06-23 00:20:40 +02:00
pre-inst-env.in Add build system. 2026-06-23 00:20:40 +02:00
README.md Add README.md. 2026-06-22 22:30:25 +02:00

partisan

Building from source

Guix

To build with Guix you just need the guix command available on your system, then you can run:

guix build -f guix.scm

Autotools

To use autotools you need at least the following dependencies:

  • autoconf
  • automake
  • guile
  • guile-arguments
  • guile-fibers
  • guile-json
  • guile-parted
  • make
  • pkg-config

then you can run:

autoreconf -vif
./configure
make

Guix channel

This repository is also a Guix channel, add it to your channel list to have access to the partisan.git package built from the latest commit of the main branch:

(channel
  (name 'partisan)
  (url "https://codeberg.org/fishinthecalculator/partisan.git")
  (branch "main")
  ;; Enable signature verification:
  (introduction
    (make-channel-introduction
     "2a4fd1cac3dc14be08aaa1c81ef6e1baa027a856"
     (openpgp-fingerprint
      "50E1 7BE0 D210 C883 D675  3150 4A3D 07EF D05C 4045"))))

Contributing

All contributions are welcome. If you have commit access, once you clone this repository, please remember to setup the authentication hook with

guix git authenticate 2a4fd1cac3dc14be08aaa1c81ef6e1baa027a856 "50E1 7BE0 D210 C883 D675  3150 4A3D 07EF D05C 4045"

next runs can simply be:

guix git authenticate

Running the test suite

make check

Building the manual

# Build the HTML manual
make html

Licence

Unless otherwise stated all the files in this repository are to be considered under the GPL 3.0 terms.