summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive/TLPSRC.pm
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-06-20 03:01:48 +0000
committerNorbert Preining <preining@logic.at>2009-06-20 03:01:48 +0000
commit634b70566837aef2db1c5ea3dfcac32d5c610cdc (patch)
tree45553b02103180d07a97beda42c3c1c2c43ae3cb /Master/tlpkg/TeXLive/TLPSRC.pm
parent8064f0d122c46c018311861f531d604c5e64c6c8 (diff)
- extend %NAME% expansion in autopatterns to be able to remove stuff
at the beginning and end of the pkg name - add new category ConTeXt for context packages - define proper auto patterns for context packages - simplify all the context-* packages git-svn-id: svn://tug.org/texlive/trunk@13838 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive/TLPSRC.pm')
-rw-r--r--Master/tlpkg/TeXLive/TLPSRC.pm45
1 files changed, 40 insertions, 5 deletions
diff --git a/Master/tlpkg/TeXLive/TLPSRC.pm b/Master/tlpkg/TeXLive/TLPSRC.pm
index 19a32285a01..0825b23a95e 100644
--- a/Master/tlpkg/TeXLive/TLPSRC.pm
+++ b/Master/tlpkg/TeXLive/TLPSRC.pm
@@ -277,10 +277,23 @@ sub make_tlpobj
for my $a (@autoaddpat) {
my $type_patterns = $category_patterns->{$pattype};
for my $p (@{$type_patterns}) {
- # replace the string %NAME% with the actual package name
+ # the occurrence of %[str:]NAME[:str]% and its
+ # expansion is documented in 00texlive.autopatterns.tlpsrc
# we have to make a copy of $p otherwise we change it in the
# hash once and for all
- (my $pp = $p) =~ s/%NAME%/$a/g;
+ my $pp = $p;
+ while ($pp =~ m/%(([^%]*):)?NAME(:([^%]*))?%/) {
+ my $nn = $a;
+ if (defined($1)) {
+ $nn =~ s/^$2//;
+ }
+ if (defined($3)) {
+ $nn =~ s/$4$//;
+ }
+ $pp =~ s/%(([^%]*):)?NAME(:([^%]*))?%/$nn/;
+ }
+ # replace the string %NAME% with the actual package name
+ #(my $pp = $p) =~ s/%NAME%/$a/g;
# sort through the patterns, and make sure that * are added to
# tag the default patterns
if ($pp =~ m/^!(.*)$/) {
@@ -707,7 +720,7 @@ basic infrastructure functionality.
identifies the category into which this package belongs. This determines
the default patterns applied. Possible categories are defined in
C<TeXLive::TLConfig>, currently C<Collection>, C<Scheme>, C<TLCore>,
-C<Documentation>, C<Package>. Most packages will fall into the
+C<Documentation>, C<Package>, C<ConTeXt>. Most packages will fall into the
C<Package> category.
=item C<catalogue>
@@ -771,7 +784,7 @@ C<options> which gives the additional options for the C<fmtutil.cnf> file.
=back
-=item <postaction>
+=item C<postaction>
gives a free from entry of post install and removal actions to be
executed. The difference to the C<execute> statement is that
@@ -908,7 +921,7 @@ named C<00texlive.autopatterns.>I<Category>C<.tlpsrc>.
=item C<runpattern>
-for category C<Package>:
+For category C<Package>:
t texmf-dist topdir $name
@@ -916,6 +929,16 @@ where C<topdir> is one of: C<bibtex>, C<context>, C<dvips>, C<fonts>,
C<makeindex>, C<metafont>, C<metapost>, C<mft>, C<omega>, C<scripts>,
C<tex>, C<vtex>.
+For category C<ConTeXt>:
+
+ d texmf-dist/tex/context/third/%context-:NAME%
+ d texmf-dist/metapost/context/third/%context-:NAME%
+ f texmf-dist/tex/context/interface/third/*%context-:NAME%.xml
+
+(where C<%context-:NAME%> is replaced by the package name with an initial
+C<context-> is removed. E.g., if the package is called C<context-foobar>
+the replacement in the above rules will be C<foobar>.)
+
For other categories B<no> patterns are automatically added to the
list of C<runpattern>s.
@@ -925,12 +948,24 @@ for category C<Package>:
t texmf-dist doc $name
+for category C<ConTeXt>:
+
+ d texmf-dist/doc/context/third/%context-:NAME%
+
+(see above for the C<NAME> construct)
+
=item C<srcpattern>
for category C<Package>:
t texmf-dist source $name
+for category C<ConTeXt>:
+
+ d texmf-dist/source/context/third/%context-:NAME%
+
+(see above for the C<NAME> construct)
+
=item C<binpattern>
No C<binpattern>s are ever automatically added.