diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 04461a825ee162..7d4b0c752f2b25 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -2,7 +2,7 @@ , texlive , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext -, perl, pkgconfig, autoreconfHook +, perl, perlPackages, pkgconfig, autoreconfHook , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr , cairo, pixman, xorg, clisp, biber , makeWrapper @@ -364,4 +364,30 @@ xindy = stdenv.mkDerivation { ''; }; +latexindent = perlPackages.buildPerlPackage rec { + inherit (src) name version; + + src = stdenv.lib.head (builtins.filter (p: p.tlType == "run") texlive.latexindent.pkgs); + + outputs = [ "out" ]; + + propagatedBuildInputs = with perlPackages; [ FileHomeDir LogDispatch LogLog4perl UnicodeLineBreak YAMLTiny ]; + + postPatch = '' + substituteInPlace scripts/latexindent/LatexIndent/GetYamlSettings.pm \ + --replace '$FindBin::RealBin/defaultSettings.yaml' ${src}/scripts/latexindent/defaultSettings.yaml + ''; + + # Dirty hack to apply perlFlags, but do no build + preConfigure = '' + touch Makefile.PL + ''; + buildPhase = ":"; + installPhase = '' + install -D ./scripts/latexindent/latexindent.pl "$out"/bin/latexindent + mkdir -p "$out"/${perl.libPrefix} + cp -r ./scripts/latexindent/LatexIndent "$out"/${perl.libPrefix}/ + ''; +}; + }