diff --git a/.codespellrc b/.codespellrc
index 1816cb1ef..6520d3fde 100644
--- a/.codespellrc
+++ b/.codespellrc
@@ -1,3 +1,3 @@
[codespell]
-skip = ./.git,./tmp,./data,./extern,./tst,./bin,./libtool,configure,configure~,./gh-pages,./autom4te.cache,./cnf,aclocal.m4,./m4,./doc/*.log,./doc/*.html,./doc/*.txt,./doc/*.six,./doc/*.js,./doc/*.bbl,./doc/*.tex,./doc/*.bib
+skip = ./.git,./tmp,./data,./extern,./tst,./bin,./libtool,configure,configure~,./gh-pages,./autom4te.cache,./cnf,aclocal.m4,./m4,./doc/*.log,./doc/*.html,./doc/*.txt,./doc/*.six,./doc/*.js,./doc/*.bbl,./doc/*.tex,./doc/*.bib,./digraphs-lib/*
ignore-words-list=ist,manuel,MIS,mis
diff --git a/.github/workflows/gap.yml b/.github/workflows/gap.yml
new file mode 100644
index 000000000..9ec6f1a19
--- /dev/null
+++ b/.github/workflows/gap.yml
@@ -0,0 +1,133 @@
+name: "GAP"
+on:
+ workflow_dispatch:
+ pull_request:
+ push:
+ branches:
+ - main
+ - stable-*.*
+ schedule:
+ # Every day at 3:30 AM UTC
+ - cron: '30 3 * * *'
+
+env:
+ DIGRAPHS_LIB: digraphs-lib-0.6
+
+jobs:
+ test-unix:
+ name: "${{ matrix.os }}${{ matrix.ABI }} / GAP ${{ matrix.gap-branch }}"
+ runs-on: "${{ matrix.os }}-latest"
+ strategy:
+ fail-fast: false
+ matrix:
+ os:
+ - ubuntu
+ gap-branch:
+ - master
+ - stable-4.11
+ - stable-4.12
+ - stable-4.13
+ ABI: ['']
+ pkgs-to-clone:
+ - NautyTracesInterface
+
+ include:
+ - gap-branch: master
+ os: macos
+ pkgs-to-clone: "NautyTracesInterface"
+ - gap-branch: master
+ os: ubuntu
+ ABI: 32
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: "Install dependencies"
+ if: ${{ runner.os == 'macOS' }}
+ run: brew install automake
+ - name: "Install GAP and clone/compile necessary packages"
+ uses: gap-actions/setup-gap@v2
+ with:
+ GAP_PKGS_TO_CLONE: "${{ matrix.pkgs-to-clone }} digraphs/graphviz"
+ GAP_PKGS_TO_BUILD: "io orb profiling grape NautyTracesInterface datastructures"
+ GAPBRANCH: ${{ matrix.gap-branch }}
+ ABI: ${{ matrix.ABI }}
+ - name: "Build Digraphs"
+ uses: gap-actions/build-pkg@v1
+ with:
+ ABI: ${{ matrix.ABI }}
+ - name: "Install digraphs-lib"
+ run: |
+ curl --retry 5 -L -O "https://digraphs.github.io/Digraphs/${{ env.DIGRAPHS_LIB }}.tar.gz"
+ tar xf "${{ env.DIGRAPHS_LIB }}.tar.gz"
+ - name: "Run DigraphsTestInstall"
+ uses: gap-actions/run-pkg-tests@v2
+ with:
+ GAP_TESTFILE: "tst/github_actions/install.g"
+ - name: "Run DigraphsTestStandard"
+ uses: gap-actions/run-pkg-tests@v2
+ with:
+ GAP_TESTFILE: "tst/github_actions/standard.g"
+ - name: "Run DigraphsTestManualExamples"
+ uses: gap-actions/run-pkg-tests@v2
+ with:
+ GAP_TESTFILE: "tst/github_actions/examples.g"
+ - name: "Run DigraphsTestExtreme"
+ uses: gap-actions/run-pkg-tests@v2
+ with:
+ GAP_TESTFILE: "tst/github_actions/extreme.g"
+ - uses: gap-actions/process-coverage@v2
+ - uses: codecov/codecov-action@v3
+
+ test-cygwin:
+ name: "cygwin / GAP master"
+ runs-on: windows-2019
+ env:
+ CHERE_INVOKING: 1
+ steps:
+ - uses: actions/checkout@v4
+ - uses: gap-actions/setup-cygwin@v1
+ - uses: gap-actions/setup-gap@cygwin-v2
+ with:
+ GAP_PKGS_TO_BUILD: "io orb profiling grape datastructures"
+ GAP_PKGS_TO_CLONE: "digraphs/graphviz"
+ - uses: gap-actions/build-pkg@cygwin-v1
+ - name: "Install digraphs-lib"
+ run: |
+ curl --retry 5 -L -O "https://digraphs.github.io/Digraphs/${{ env.DIGRAPHS_LIB }}.tar.gz"
+ tar xf "${{ env.DIGRAPHS_LIB }}.tar.gz"
+ - uses: gap-actions/run-pkg-tests@cygwin-v2
+ - uses: gap-actions/process-coverage@cygwin-v2
+ - uses: codecov/codecov-action@v3
+
+ with-external-planarity-bliss:
+ runs-on: "ubuntu-latest"
+ env:
+ GAPBRANCH: "stable-4.12"
+ ABI: 64
+ PKG_CONFIG_PATH: "/home/runner/micromamba/envs/digraphs/lib/pkgconfig:/home/runner/micromamba/envs/digraphs/share/pkgconfig/"
+ LD_LIBRARY_PATH: "/home/runner/micromamba/envs/digraphs/lib"
+ CFLAGS: "-I/home/runner/micromamba/envs/digraphs/include"
+ LDFLAGS: "-L/home/runner/micromamba/envs/digraphs/lib"
+ defaults:
+ run:
+ shell: bash -l {0}
+ steps:
+ - uses: actions/checkout@v4
+ - name: "Install micromamba environment from environment.yml . . ."
+ uses: mamba-org/setup-micromamba@v1
+ with:
+ environment-file: environment.yml
+ cache-environment: true
+ - name: "Activate \"digraphs\" environment . . ."
+ run: micromamba activate digraphs
+ - name: "Install GAP and clone/compile necessary packages"
+ uses: gap-actions/setup-gap@v2
+ with:
+ GAP_PKGS_TO_BUILD: "io orb profiling grape datastructures"
+ GAP_PKGS_TO_CLONE: "digraphs/graphviz"
+ - name: "Build Digraphs"
+ uses: gap-actions/build-pkg@v1
+ with:
+ CONFIGFLAGS: --with-external-planarity --with-external-bliss
+ - name: "Run Digraphs package's tst/teststandard.g"
+ uses: gap-actions/run-pkg-tests@v2
diff --git a/PackageInfo.g b/PackageInfo.g
index 977a2f72d..cb4de63c8 100644
--- a/PackageInfo.g
+++ b/PackageInfo.g
@@ -10,12 +10,13 @@
## <#GAPDoc Label="PKGVERSIONDATA">
##
-##
+##
##
##
##
##
##
+##
##
##
## <#/GAPDoc>
@@ -387,9 +388,10 @@ PackageDoc := rec(
),
Dependencies := rec(
- GAP := ">=4.10.0",
+ GAP := ">=4.11.0",
NeededOtherPackages := [["io", ">=4.5.1"],
["orb", ">=4.8.2"],
+ ["graphviz", ">=0.0.0"],
["datastructures", ">=0.2.5"]],
SuggestedOtherPackages := [["GAPDoc", ">=1.6.3"],
["grape", ">=4.8.1"],
diff --git a/doc/display.xml b/doc/display.xml
index f064d9a05..7086f1929 100644
--- a/doc/display.xml
+++ b/doc/display.xml
@@ -1,518 +1,282 @@
#############################################################################
##
#W display.xml
-#Y Copyright (C) 2011-17 James D. Mitchell
+#Y Copyright (C) 2014-24 James D. Mitchell
##
## Licensing information can be found in the README file of this package.
##
#############################################################################
##
+<#GAPDoc Label="DotDigraph">
+