Compare commits

..

2 Commits

Author SHA1 Message Date
Simon Bruder 3068d3e035
Add hydra build
continuous-integration/drone/push Build is failing Details
2021-05-13 14:02:46 +02:00
Simon Bruder cb5792e729
Convert to flake 2021-05-13 13:56:47 +02:00
1 changed files with 96 additions and 85 deletions

181
flake.nix
View File

@ -9,7 +9,7 @@
let
pkgs = nixpkgs.legacyPackages.${system};
in
rec {
rec {
packages = nixpkgs.lib.mapAttrs
(name: value: pkgs.python3Packages.callPackage value { })
{
@ -75,115 +75,126 @@
doCheck = false; # circular depdendency
};
pymdown-extensions =
{ buildPythonPackage, fetchPypi, markdown }:
pymdown-extensions =
{ buildPythonPackage, fetchPypi, markdown }:
buildPythonPackage rec {
pname = "pymdown-extensions";
version = "8.0.1";
buildPythonPackage rec {
pname = "pymdown-extensions";
version = "8.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "07p5xks6qf73nbv0qb7jrspkpmxdyr7dpxv3rnkh9p2b5l2h99wv";
};
propagatedBuildInputs = [
markdown
];
doCheck = false; # they fail?
src = fetchPypi {
inherit pname version;
sha256 = "07p5xks6qf73nbv0qb7jrspkpmxdyr7dpxv3rnkh9p2b5l2h99wv";
};
mkdocs-material-extensions =
{ buildPythonPackage, fetchPypi }:
propagatedBuildInputs = [
markdown
];
buildPythonPackage rec {
pname = "mkdocs-material-extensions";
version = "1.0.1";
doCheck = false; # they fail?
};
src = fetchPypi {
inherit pname version;
sha256 = "13y617sql4hqs376c3dfcb6v7q41km9x7fh52k3f74a2brzzniv9";
};
mkdocs-material-extensions =
{ buildPythonPackage, fetchPypi }:
# circular dependency
doCheck = false;
postPatch = ''
sed -i 's/mkdocs-material>=5.0.0//' requirements/project.txt
'';
};
buildPythonPackage rec {
pname = "mkdocs-material-extensions";
version = "1.0.1";
mkdocs-material =
{ buildPythonPackage, fetchPypi, markdown, pygments }:
src = fetchPypi {
inherit pname version;
sha256 = "13y617sql4hqs376c3dfcb6v7q41km9x7fh52k3f74a2brzzniv9";
};
buildPythonPackage rec {
pname = "mkdocs-material";
version = "6.1.2";
# circular dependency
doCheck = false;
postPatch = ''
sed -i 's/mkdocs-material>=5.0.0//' requirements/project.txt
'';
};
src = fetchPypi {
inherit pname version;
sha256 = "0yifc1df94rsaxy72hqnhjkv4c50c30j5kg0yxybkxy07p7kafic";
};
mkdocs-material =
{ buildPythonPackage, fetchPypi, markdown, pygments }:
propagatedBuildInputs = [
markdown
pygments
buildPythonPackage rec {
pname = "mkdocs-material";
version = "6.1.2";
packages.mkdocs
packages.mkdocs-material-extensions
packages.pymdown-extensions
];
};
src = fetchPypi {
inherit pname version;
sha256 = "0yifc1df94rsaxy72hqnhjkv4c50c30j5kg0yxybkxy07p7kafic";
};
iosevka-web =
{ stdenv, fetchzip }:
propagatedBuildInputs = [
markdown
pygments
stdenv.mkDerivation rec {
pname = "iosevka-web";
version = "3.7.1";
packages.mkdocs
packages.mkdocs-material-extensions
packages.pymdown-extensions
];
};
src = fetchzip {
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/pkg-iosevka-${version}.zip";
sha256 = "0d012aqfnyqlpl4smfa2x2qz2qmbbfxb6jr4awv8gp6r359rc9k1";
stripRoot = false;
};
iosevka-web =
{ stdenv, fetchzip }:
dontBuild = true;
stdenv.mkDerivation rec {
pname = "iosevka-web";
version = "3.7.1";
installPhase = ''
mkdir -p $out
cp -r woff woff2 ttf *.css $out
'';
};
src = fetchzip {
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/pkg-iosevka-${version}.zip";
sha256 = "0d012aqfnyqlpl4smfa2x2qz2qmbbfxb6jr4awv8gp6r359rc9k1";
stripRoot = false;
};
wiki =
{ stdenv }:
dontBuild = true;
stdenv.mkDerivation {
name = "wiki";
installPhase = ''
mkdir -p $out
cp -r woff woff2 ttf *.css $out
'';
};
src = self;
wiki =
{ stdenv }:
buildPhase = "mkdocs build -d $out";
stdenv.mkDerivation {
name = "wiki";
installPhase = ''
mkdir -p $out/assets/fonts
ln -s ${packages.iosevka-web} $out/assets/fonts/iosevka
'';
src = self;
nativeBuildInputs = [
packages.mkdocs
packages.mkdocs-material
];
};
buildPhase = ''
mkdocs build -d $out
echo "doc wiki $out" >> $out/nix-support/hydra-build-products
'';
installPhase = ''
mkdir -p $out/assets/fonts
ln -s ${packages.iosevka-web} $out/assets/fonts/iosevka
'';
nativeBuildInputs = [
packages.mkdocs
packages.mkdocs-material
];
};
};
defaultPackage = packages.wiki;
defaultPackage = packages.wiki;
apps = {
serve = pkgs.writeShellScriptBin "serve" ''
${pkgs.miniserve}/bin/miniserve --index index.html ${packages.wiki}
'';
};
apps = {
serve = pkgs.writeShellScriptBin "serve" ''
${pkgs.miniserve}/bin/miniserve --index index.html ${packages.wiki}
'';
};
# My hydra only has x86_64-linux builders
hydraJobs =
if builtins.elem system [ "x86_64-linux" ]
then {
build = packages.wiki;
}
else { };
});
}