Loading scripts/sphinx-pre-install +50 −18 Original line number Diff line number Diff line Loading @@ -83,6 +83,17 @@ sub check_missing(%) foreach my $prog (sort keys %missing) { my $is_optional = $missing{$prog}; # At least on some LTS distros like CentOS 7, texlive doesn't # provide all packages we need. When such distros are # detected, we have to disable PDF output. # # So, we need to ignore the packages that distros would # need for LaTeX to work if ($is_optional == 2 && !$pdf) { $optional--; next; } if ($is_optional) { print "Warning: better to also install \"$prog\".\n"; } else { Loading Loading @@ -333,10 +344,10 @@ sub give_debian_hints() if ($pdf) { check_missing_file("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", "fonts-dejavu", 1); "fonts-dejavu", 2); } check_program("dvipng", 1) if ($pdf); check_program("dvipng", 2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading Loading @@ -371,22 +382,40 @@ sub give_redhat_hints() # # Checks valid for RHEL/CentOS version 7.x. # my $old = 0; my $rel; $rel = $1 if ($system_release =~ /release\s+(\d+)/); if (!($system_release =~ /Fedora/)) { $map{"virtualenv"} = "python-virtualenv"; } my $release; if ($rel && $rel < 8) { $old = 1; $pdf = 0; $release = $1 if ($system_release =~ /Fedora\s+release\s+(\d+)/); printf("Note: texlive packages on RHEL/CENTOS <= 7 are incomplete. Can't support PDF output\n"); printf("If you want to build PDF, please read:\n"); printf("\thttps://www.systutorials.com/241660/how-to-install-tex-live-on-centos-7-linux/\n"); } } else { if ($rel && $rel < 26) { $old = 1; } } if (!$rel) { printf("Couldn't identify release number\n"); $old = 1; $pdf = 0; } check_rpm_missing(\@fedora26_opt_pkgs, 1) if ($pdf && $release >= 26); check_rpm_missing(\@fedora_tex_pkgs, 1) if ($pdf); check_missing_tex(1) if ($pdf); check_rpm_missing(\@fedora26_opt_pkgs, 2) if ($pdf && !$old); check_rpm_missing(\@fedora_tex_pkgs, 2) if ($pdf); check_missing_tex(2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); if ($release >= 18) { if (!$old) { # dnf, for Fedora 18+ printf("You should run:\n\n\tsudo dnf install -y $install\n"); } else { Loading Loading @@ -425,8 +454,8 @@ sub give_opensuse_hints() "texlive-zapfding", ); check_rpm_missing(\@suse_tex_pkgs, 1) if ($pdf); check_missing_tex(1) if ($pdf); check_rpm_missing(\@suse_tex_pkgs, 2) if ($pdf); check_missing_tex(2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading @@ -450,7 +479,7 @@ sub give_mageia_hints() "texlive-fontsextra", ); check_rpm_missing(\@tex_pkgs, 1) if ($pdf); check_rpm_missing(\@tex_pkgs, 2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading @@ -473,7 +502,8 @@ sub give_arch_linux_hints() "texlive-latexextra", "ttf-dejavu", ); check_pacman_missing(\@archlinux_tex_pkgs, 1) if ($pdf); check_pacman_missing(\@archlinux_tex_pkgs, 2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading @@ -492,7 +522,7 @@ sub give_gentoo_hints() ); check_missing_file("/usr/share/fonts/dejavu/DejaVuSans.ttf", "media-fonts/dejavu", 1) if ($pdf); "media-fonts/dejavu", 2) if ($pdf); check_missing(\%map); Loading Loading @@ -560,7 +590,7 @@ sub check_distros() my %map = ( "sphinx-build" => "sphinx" ); check_missing_tex(1) if ($pdf); check_missing_tex(2) if ($pdf); check_missing(\%map); print "I don't know distro $system_release.\n"; print "So, I can't provide you a hint with the install procedure.\n"; Loading Loading @@ -589,11 +619,13 @@ sub check_needs() check_program("make", 0); check_program("gcc", 0); check_python_module("sphinx_rtd_theme", 1) if (!$virtualenv); check_program("xelatex", 1) if ($pdf); check_program("dot", 1); check_program("convert", 1); check_program("rsvg-convert", 1) if ($pdf); check_program("latexmk", 1) if ($pdf); # Extra PDF files - should use 2 for is_optional check_program("xelatex", 2) if ($pdf); check_program("rsvg-convert", 2) if ($pdf); check_program("latexmk", 2) if ($pdf); check_distros(); Loading Loading
scripts/sphinx-pre-install +50 −18 Original line number Diff line number Diff line Loading @@ -83,6 +83,17 @@ sub check_missing(%) foreach my $prog (sort keys %missing) { my $is_optional = $missing{$prog}; # At least on some LTS distros like CentOS 7, texlive doesn't # provide all packages we need. When such distros are # detected, we have to disable PDF output. # # So, we need to ignore the packages that distros would # need for LaTeX to work if ($is_optional == 2 && !$pdf) { $optional--; next; } if ($is_optional) { print "Warning: better to also install \"$prog\".\n"; } else { Loading Loading @@ -333,10 +344,10 @@ sub give_debian_hints() if ($pdf) { check_missing_file("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", "fonts-dejavu", 1); "fonts-dejavu", 2); } check_program("dvipng", 1) if ($pdf); check_program("dvipng", 2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading Loading @@ -371,22 +382,40 @@ sub give_redhat_hints() # # Checks valid for RHEL/CentOS version 7.x. # my $old = 0; my $rel; $rel = $1 if ($system_release =~ /release\s+(\d+)/); if (!($system_release =~ /Fedora/)) { $map{"virtualenv"} = "python-virtualenv"; } my $release; if ($rel && $rel < 8) { $old = 1; $pdf = 0; $release = $1 if ($system_release =~ /Fedora\s+release\s+(\d+)/); printf("Note: texlive packages on RHEL/CENTOS <= 7 are incomplete. Can't support PDF output\n"); printf("If you want to build PDF, please read:\n"); printf("\thttps://www.systutorials.com/241660/how-to-install-tex-live-on-centos-7-linux/\n"); } } else { if ($rel && $rel < 26) { $old = 1; } } if (!$rel) { printf("Couldn't identify release number\n"); $old = 1; $pdf = 0; } check_rpm_missing(\@fedora26_opt_pkgs, 1) if ($pdf && $release >= 26); check_rpm_missing(\@fedora_tex_pkgs, 1) if ($pdf); check_missing_tex(1) if ($pdf); check_rpm_missing(\@fedora26_opt_pkgs, 2) if ($pdf && !$old); check_rpm_missing(\@fedora_tex_pkgs, 2) if ($pdf); check_missing_tex(2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); if ($release >= 18) { if (!$old) { # dnf, for Fedora 18+ printf("You should run:\n\n\tsudo dnf install -y $install\n"); } else { Loading Loading @@ -425,8 +454,8 @@ sub give_opensuse_hints() "texlive-zapfding", ); check_rpm_missing(\@suse_tex_pkgs, 1) if ($pdf); check_missing_tex(1) if ($pdf); check_rpm_missing(\@suse_tex_pkgs, 2) if ($pdf); check_missing_tex(2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading @@ -450,7 +479,7 @@ sub give_mageia_hints() "texlive-fontsextra", ); check_rpm_missing(\@tex_pkgs, 1) if ($pdf); check_rpm_missing(\@tex_pkgs, 2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading @@ -473,7 +502,8 @@ sub give_arch_linux_hints() "texlive-latexextra", "ttf-dejavu", ); check_pacman_missing(\@archlinux_tex_pkgs, 1) if ($pdf); check_pacman_missing(\@archlinux_tex_pkgs, 2) if ($pdf); check_missing(\%map); return if (!$need && !$optional); Loading @@ -492,7 +522,7 @@ sub give_gentoo_hints() ); check_missing_file("/usr/share/fonts/dejavu/DejaVuSans.ttf", "media-fonts/dejavu", 1) if ($pdf); "media-fonts/dejavu", 2) if ($pdf); check_missing(\%map); Loading Loading @@ -560,7 +590,7 @@ sub check_distros() my %map = ( "sphinx-build" => "sphinx" ); check_missing_tex(1) if ($pdf); check_missing_tex(2) if ($pdf); check_missing(\%map); print "I don't know distro $system_release.\n"; print "So, I can't provide you a hint with the install procedure.\n"; Loading Loading @@ -589,11 +619,13 @@ sub check_needs() check_program("make", 0); check_program("gcc", 0); check_python_module("sphinx_rtd_theme", 1) if (!$virtualenv); check_program("xelatex", 1) if ($pdf); check_program("dot", 1); check_program("convert", 1); check_program("rsvg-convert", 1) if ($pdf); check_program("latexmk", 1) if ($pdf); # Extra PDF files - should use 2 for is_optional check_program("xelatex", 2) if ($pdf); check_program("rsvg-convert", 2) if ($pdf); check_program("latexmk", 2) if ($pdf); check_distros(); Loading