1 # Nix package for SimGrid's sphinx documentation.
2 # Example usage: nix-build ./default.nix -A simgrid-doc && firefox result/index.html
3 { pkgs ? import (fetchTarball {
4 url = "https://github.com/NixOS/nixpkgs/archive/21.05.tar.gz";
5 sha256 = "1ckzhh24mgz6jd1xhfgx0i9mijk6xjqxwsshnvq789xsavrmsc36";
10 pythonPackages = pkgs.python3Packages;
11 buildPythonPackage = pythonPackages.buildPythonPackage;
15 simgrid-doc = pkgs.stdenv.mkDerivation rec {
21 pythonPackages.sphinx_rtd_theme
22 pythonPackages.breathe
26 phases = [ "unpackPhase" "buildPhase" "installPhase" ];
29 rm -rf build # this is not done in your directory, this is on the copy made by the Nix build daemon
30 sphinx-build -b html source build
38 # sphinx extensions (and their dependencies) shenanigans
39 javalang = buildPythonPackage rec {
42 src = pythonPackages.fetchPypi {
43 inherit pname version;
44 sha256 = "0k22ldm4xn0sb26qclp5zz0fc9dy589zvvby5ba1d0d5h2jab08n";
46 buildInputs = with pythonPackages; [ six ];
50 javasphinx = buildPythonPackage rec {
52 version = "0.9.15+simgrid";
53 src = pkgs.fetchFromGitHub {
56 rev = "659209069603a5f221596dd039e724cb89b31b82";
57 sha256 = "1nbz822zd2ikzzmpyqsrrpqvlpng72qvl86wcqfn89szbp85c20a";
59 propagatedBuildInputs = with pythonPackages; [
69 sphinx-tabs = pythonPackages.buildPythonPackage rec {
70 pname = "sphinx-tabs";
72 name = "${pname}-${version}";
74 src = pythonPackages.fetchPypi {
75 inherit pname version;
76 sha256 = "0kv935qhml40mly33rk5am128g2ygqkfvizh33vf29hjkf32mvjy";
79 propagatedBuildInputs = with pythonPackages; [