summaryrefslogtreecommitdiff
path: root/Master/tlpkg/installer/install-menu-extl.pl
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2018-08-08 20:43:24 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2018-08-08 20:43:24 +0000
commitf51a6f1c1458fa7b8e38fe1a3546648620ed1aa1 (patch)
tree4bab8692ea58ee7985e8a345c8e5c8845549ef0d /Master/tlpkg/installer/install-menu-extl.pl
parent2d2b56d95940ee3a154b0c739ee78a57a33eab46 (diff)
Options; basic mode; faster startup
git-svn-id: svn://tug.org/texlive/trunk@48374 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/installer/install-menu-extl.pl')
-rw-r--r--Master/tlpkg/installer/install-menu-extl.pl32
1 files changed, 28 insertions, 4 deletions
diff --git a/Master/tlpkg/installer/install-menu-extl.pl b/Master/tlpkg/installer/install-menu-extl.pl
index 4961108b9e4..b5e9e305091 100644
--- a/Master/tlpkg/installer/install-menu-extl.pl
+++ b/Master/tlpkg/installer/install-menu-extl.pl
@@ -30,7 +30,7 @@
# run_menu_extl returns to install-tl.
# by then, the frontend has switched to non-blocking i/o
# and will capture the output of the actual installation
-# inside a log window
+# on the fly inside a log window
our %vars; # only contains simple scalars
@@ -60,7 +60,7 @@ $::fileassocdesc[2] = "All";
$::deskintdesc[0] = "None";
$::deskintdesc[1] = "Menu shortcuts";
-if (win32() && is_seven()) { $::deskintdesc[2] = "Launcher"; }
+$::deskintdesc[2] = "Launcher";
# %vars hash should eventually include each binary, collection and scheme
# as individual schalars.
@@ -74,6 +74,7 @@ foreach my $pkg ($tlpdb->schemes) {
}
$vars{'scheme-custom'} = 0 unless defined $vars{'scheme-custom'};
+# reading back current %vars from the frontend
sub read_vars {
my $l = <STDIN>;
chomp $l;
@@ -94,6 +95,20 @@ sub read_vars {
return 0;
}
+# for each scheme and collection, print name, category and short description
+sub print_descs {
+ print "descs\n";
+ foreach my $p ($tlpdb->schemes) {
+ my $pkg = $tlpdb->get_package($p);
+ print $pkg->name, ': ', $pkg->category, ' ', $pkg->shortdesc || "", "\n";
+ }
+ foreach my $p ($tlpdb->collections) {
+ my $pkg = $tlpdb->get_package($p);
+ print $pkg->name, ': ', $pkg->category, ' ', $pkg->shortdesc || "", "\n";
+ }
+ print "enddescs\n";
+}
+
sub print_vars {
print "vars\n";
foreach my $key (sort keys %vars) {
@@ -102,20 +117,28 @@ sub print_vars {
print "endvars\n";
}
-# run_menu_extl should be invoked by install-tl.
+# run_menu_extl should be invoked by install-tl
+
sub run_menu_extl {
# make sure we have a value for total_size:
calc_depends();
print "menudata\n";
+ print "year: $texlive_release\n";
+ # for windows, add a key indicating elevated permissions
+ if (win32()) {
+ print "admin: ". TeXLive::TLWinGoo::admin() . "\n";
+ }
+ print_descs();
+
print_vars();
# tell the frontend the preferred order for schemes
my @schemes = schemes_ordered_for_presentation();
push @schemes, "scheme-custom";
print "schemes_order: ", join(' ', @schemes), "\n";
+
# binaries
print "binaries\n";
-
# binaries aren't packages; list their descriptions here
my @binaries = $tlpdb->available_architectures;
@binaries=sort TeXLive::TLUtils::sort_archs @binaries;
@@ -134,6 +157,7 @@ sub run_menu_extl {
# 'startinst': done with choices, tell install-tl to
# start installation
# 'quit': tell install-tl to clean up and quit
+
# read from frontend
while (1) {
my $l = <STDIN>;