From c89eae53321289b457fe66301cd6a843c1417033 Mon Sep 17 00:00:00 2001 From: angicque <antoine.a.gicquel@inria.fr> Date: Sun, 26 Jan 2025 23:29:47 +0100 Subject: [PATCH] guix: add minimal guix set-up to build the documentation using guix --- .guix | 1 + README.md | 8 ++++ guix-tools/python-exhale.scm | 57 +++++++++++++++++++++++++++++ guix-tools/scalfmm-manifest-doc.scm | 20 ++++++++++ 4 files changed, 86 insertions(+) create mode 120000 .guix create mode 100644 guix-tools/python-exhale.scm create mode 100644 guix-tools/scalfmm-manifest-doc.scm diff --git a/.guix b/.guix new file mode 120000 index 00000000..546e858b --- /dev/null +++ b/.guix @@ -0,0 +1 @@ +guix-tools/ \ No newline at end of file diff --git a/README.md b/README.md index e6bcc952..df3e5d7c 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,14 @@ guix time-machine -C .guix/scalfmm-channels.scm -- shell -C -m .guix/scalfmm-man We provide several manifest files: `scalfmm-manifest-openblas.scm`, `scalfmm-manifest-mkl.scm`. +### Build the documentation with guix + +TODO: provide instructions to build the documentations using `guix time-machine` and `guix shell` + +``` bash +guix time-machine -C .guix/scalfmm-channels.scm -- shell -C -m .guix/scalfmm-manifest-doc.scm -L .guix/ +``` + ## Contributing and development guidelines ### Gitlab flow diff --git a/guix-tools/python-exhale.scm b/guix-tools/python-exhale.scm new file mode 100644 index 00000000..387a9017 --- /dev/null +++ b/guix-tools/python-exhale.scm @@ -0,0 +1,57 @@ +(define-module (python-exhale) + #:use-module (guix) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix hg-download) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages certs) + #:use-module (gnu packages check) + #:use-module (gnu packages fonts) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages jupyter) + #:use-module (gnu packages python) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages xml) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages time) + #:use-module (gnu packages python-science) + #:use-module (gnu packages graph) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (guix build-system gnu)) + +(define-public python-exhale + (package + (name "python-exhale") + (version "0.3.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "exhale" version)) + (sha256 + (base32 "1n5hsrg7swh535bd5b3f55ldcb343yld849kjcfm2mlllp89cakm")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-beautifulsoup4 python-breathe python-lxml + python-six python-sphinx)) + (native-inputs (list python-setuptools python-wheel)) + (home-page "https://github.com/svenevs/exhale") + (synopsis + "Automatic C++ library API documentation generator using Doxygen, Sphinx, and") + (description + "Automatic C++ library API documentation generator using Doxygen, Sphinx, and.") + (license #f))) + +;; python-exhale diff --git a/guix-tools/scalfmm-manifest-doc.scm b/guix-tools/scalfmm-manifest-doc.scm new file mode 100644 index 00000000..5b84cd5d --- /dev/null +++ b/guix-tools/scalfmm-manifest-doc.scm @@ -0,0 +1,20 @@ +;; What follows is a "manifest" equivalent to the command line you gave. +;; You can store it in a file that you may then pass to any 'guix' command +;; that accepts a '--manifest' (or '-m') option. + +(specifications->manifest + (list "openblas" + "fftw" + "fftwf" + "cmake" + "make" + "gcc-toolchain" + "pkg-config" + "doxygen" + "coreutils" + "python" + "python-sphinx" + "python-recommonmark" + "python-breathe" + "python-sphinx-rtd-theme" + "python-exhale")) -- GitLab