summaryrefslogtreecommitdiff
path: root/lang/ptoc
diff options
context:
space:
mode:
authorSergey A. Osokin <osa@FreeBSD.org>2003-09-24 13:32:25 +0000
committerSergey A. Osokin <osa@FreeBSD.org>2003-09-24 13:32:25 +0000
commit4c52f6c9333e53a81e2b4780543606958b306821 (patch)
treecca55e9cc2dd9ef46d3603b0ec6f1696b376196e /lang/ptoc
parentUpdate to version 3.0.5. (diff)
Update to 3.54.
Utilize ${DOCSDIR} and ${EXAMPLESDIR}. Use new name schema for patch files. Fix ${MASTER_SITES} and home page URL. Take maintainership.
Notes
Notes: svn path=/head/; revision=89217
Diffstat (limited to 'lang/ptoc')
-rw-r--r--lang/ptoc/Makefile18
-rw-r--r--lang/ptoc/distinfo2
-rw-r--r--lang/ptoc/files/patch-ae11
-rw-r--r--lang/ptoc/files/patch-main.cxx (renamed from lang/ptoc/files/patch-aa)0
-rw-r--r--lang/ptoc/files/patch-makefile.bsd (renamed from lang/ptoc/files/patch-ad)0
-rw-r--r--lang/ptoc/files/patch-parser.y272
-rw-r--r--lang/ptoc/files/patch-tpexpr.cxx (renamed from lang/ptoc/files/patch-ac)0
-rw-r--r--lang/ptoc/files/patch-trnod.cxx (renamed from lang/ptoc/files/patch-ab)0
-rw-r--r--lang/ptoc/pkg-descr2
-rw-r--r--lang/ptoc/pkg-plist82
10 files changed, 197 insertions, 190 deletions
diff --git a/lang/ptoc/Makefile b/lang/ptoc/Makefile
index c8319539c401..0d95d601b4ae 100644
--- a/lang/ptoc/Makefile
+++ b/lang/ptoc/Makefile
@@ -6,11 +6,11 @@
#
PORTNAME= ptoc
-PORTVERSION= 3.50
+PORTVERSION= 3.54
CATEGORIES= lang
-MASTER_SITES= http://www.ispras.ru/~knizhnik/
+MASTER_SITES= http://www.garret.ru/~knizhnik/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= osa@FreeBSD.org
COMMENT= ANSI/Turbo Pascal to C/C++ converter
WRKSRC= ${WRKDIR}/${PORTNAME}
@@ -40,17 +40,17 @@ do-install:
.for file in array.h graph.h io.h paslib.h ptoc.h set.h
${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/include/ptoc
.endfor
- @${MKDIR} ${PREFIX}/share/ptoc
+ @${MKDIR} ${DATADIR}
.for file in graph.pas ptoc.pas tptoc.pas
- ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/share/ptoc
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${DATADIR}
.endfor
- @${MKDIR} ${PREFIX}/share/examples/ptoc
+ @${MKDIR} ${EXAMPLESDIR}
.for file in ${EXAMPLES}
- ${INSTALL_DATA} ${WRKSRC}/examples/${file} ${PREFIX}/share/examples/ptoc
+ ${INSTALL_DATA} ${WRKSRC}/examples/${file} ${EXAMPLESDIR}
.endfor
.if !defined(NOPORTDOCS)
- @${MKDIR} ${PREFIX}/share/doc/ptoc
- ${INSTALL_DATA} ${WRKSRC}/Readme.htm ${PREFIX}/share/doc/ptoc
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/Readme.htm ${DOCSDIR}
.endif
.include <bsd.port.mk>
diff --git a/lang/ptoc/distinfo b/lang/ptoc/distinfo
index d0b0ec5b600b..142b730b2c36 100644
--- a/lang/ptoc/distinfo
+++ b/lang/ptoc/distinfo
@@ -1 +1 @@
-MD5 (ptoc-3.50.tar.gz) = 8e371aa97d5432ea75cd4842c1df4d73
+MD5 (ptoc-3.54.tar.gz) = 2d82e50267c1875aa2a8d78efcbf7915
diff --git a/lang/ptoc/files/patch-ae b/lang/ptoc/files/patch-ae
deleted file mode 100644
index 38422e5f9053..000000000000
--- a/lang/ptoc/files/patch-ae
+++ /dev/null
@@ -1,11 +0,0 @@
---- parser.y.orig Sat Nov 7 10:42:00 1998
-+++ parser.y Sat Oct 21 04:59:01 2000
-@@ -5,8 +5,6 @@
- #include <string.h>
- #ifdef __DECCXX
- #include <alloca.h>
--#else
--#include <malloc.h>
- #endif
-
- #include "nmtbl.h"
diff --git a/lang/ptoc/files/patch-aa b/lang/ptoc/files/patch-main.cxx
index 617a95ee998a..617a95ee998a 100644
--- a/lang/ptoc/files/patch-aa
+++ b/lang/ptoc/files/patch-main.cxx
diff --git a/lang/ptoc/files/patch-ad b/lang/ptoc/files/patch-makefile.bsd
index 3ec01eae7fb0..3ec01eae7fb0 100644
--- a/lang/ptoc/files/patch-ad
+++ b/lang/ptoc/files/patch-makefile.bsd
diff --git a/lang/ptoc/files/patch-parser.y b/lang/ptoc/files/patch-parser.y
index 1d3f2140754c..b895a2dc13ed 100644
--- a/lang/ptoc/files/patch-parser.y
+++ b/lang/ptoc/files/patch-parser.y
@@ -1,21 +1,25 @@
---- parser.y.orig Mon Dec 2 11:28:18 2002
-+++ parser.y Mon Dec 2 11:34:32 2002
-@@ -84,7 +84,6 @@
- IMPLEMENTATION
- INTERFACE
- LABEL
-- LET
- LOOPHOLE
- OBJECT
- OF
-@@ -283,20 +282,24 @@
+--- parser.y.orig Mon Mar 26 10:02:40 2001
++++ parser.y Wed Sep 17 13:34:05 2003
+@@ -3,11 +3,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#if defined(__DECCXX) || defined(__GNUC__)
+-#include <alloca.h>
+-#else
+-#include <malloc.h>
+-#endif
+
+ #include "nmtbl.h"
+ #include "token.h"
+@@ -285,23 +280,27 @@
$2->attrib(ctx_program);
$2->translate(ctx_program);
}
+;
input_file: program | module | unit
-+ ;
++ ;
program: block '.' { $$ = new program_node(NULL, NULL, NULL, NULL, $1, $2); }
| PROGRAM IDENT prog_param_list ';' block '.'
@@ -24,32 +28,36 @@
}
+;
- module: decl_part_list { $$ = new module_node(NULL, NULL, NULL, NULL, $1); }
- | PROGRAM IDENT prog_param_list ';' decl_part_list
+ progend: { $$ = NULL; } | '.'
++;
+
+ module: decl_part_list { $$ = new module_node(NULL, NULL, NULL, NULL, $1, NULL); }
+ | PROGRAM IDENT prog_param_list ';' decl_part_list progend
{
- $$ = new module_node($1, $2, $3, $4, $5);
+ $$ = new module_node($1, $2, $3, $4, $5, $6);
}
+-
+;
-
/* Turbo Pascal specific */
-@@ -309,38 +312,48 @@
+
+@@ -313,38 +312,46 @@
{ $$ = new unit_node(NULL, NULL, NULL, $1, $2, $3, $4, NULL, $5, $6); }
| INTERFACE unit_decl_list IMPLEMENTATION unit_def_list compoundst '.'
{ $$ = new unit_node(NULL, NULL, NULL, $1, $2, $3, $4, $5, NULL, $6); }
-+ ;
++ ;
unit_def_list: decl_part_list
-+ ;
-
+-
++ ;
prog_param_list: { $$ = NULL; }
| '(' ident_list ')' { $$ = new import_list_node($1, $2, $3); }
-+ ;
++ ;
ident_list: IDENT ',' ident_list { $$ = new token_list($1, $3); }
| IDENT { $$ = new token_list($1); }
-+ ;
++ ;
block: decl_part_list compoundst
{
@@ -59,126 +67,134 @@
decl_part_list: { $$ = NULL; }
| decl_part decl_part_list { $1->next = $2; $$ = $1; }
-+ ;
++;
decl_part: label_decl_part | const_def_part | type_def_part | var_decl_part
| proc_def | proc_fwd_decl | unit_spec
-+ ;
++;
unit_spec: UNIT IDENT ';' INTERFACE unit_decl_list UNIT_END
{ $$ = new unit_spec_node($1, $2, $3, $4, $5); }
| INTERFACE unit_decl_list UNIT_END
{ $$ = new unit_spec_node(NULL, NULL, NULL, $1, $2); }
-+ ;
-
+-
++;
unit_decl_list: { $$ = NULL; }
| unit_decl unit_decl_list { $1->next = $2; $$ = $1; }
-+ ;
++;
unit_decl: label_decl_part | const_def_part | type_def_part | var_decl_part
| proc_spec | proc_fwd_decl | unit_spec
-+ ;
++;
/*
//=============================================================================
-@@ -397,15 +410,20 @@
+@@ -401,15 +408,20 @@
| ICONST ':' statement { $$ = new label_node($1, $2, $3); }
| IDENT ':' statement { $$ = new label_node($1, $2, $3); }
| compoundst { $$ = $1; }
-+ ;
++;
compoundst: BEGIN sequence END { $$ = new compound_node($1, $2, $3); }
-+ ;
++;
sequence: statement | statement ';' sequence { $1->next = $3; $$ = $1; }
-+ ;
++;
actual_params: { $$ = NULL; } | expr_group { $$ = $1; }
-+ ;
++;
write_params: { $$ = NULL; }
| '(' write_list ')' { $$ = new write_list_node($1, $2, $3); }
-+ ;
++;
case_list: case_items
| case_items otherwise sequence
-@@ -419,20 +437,26 @@
+@@ -423,20 +435,26 @@
$$ = new case_node(NULL, $2, $3);
}
}
-+ ;
++;
otherwise: OTHERWISE | ELSE /* Turbo Pascal */
-+ ;
++;
case_items: { $$ = NULL; }
| case_item
| case_item ';' case_items { $1->next = $3; $$ = $1; }
-+ ;
++;
case_item: case_elem_list ':' statement { $$ = new case_node($1, $2, $3); }
-+ ;
++;
case_elem_list: case_elem
| case_elem ',' case_elem_list { $1->next = $3; $$ = $1; }
-+ ;
++;
case_elem: expr { $$ = $1; }
| expr DOTS expr { $$ = new case_range_node($1, $2, $3); }
-+ ;
++;
/*
//=============================================================================
-@@ -488,6 +512,7 @@
+@@ -485,6 +503,7 @@
+ | expr OR expr { $$ = new op_node(tn_or, $1, $2, $3); }
+ | expr XOR expr { $$ = new op_node(tn_xor, $1, $2, $3); }
+
++
+ | expr GT expr { $$ = new op_node(tn_gt, $1, $2, $3); }
+ | expr LT expr { $$ = new op_node(tn_lt, $1, $2, $3); }
+ | expr LE expr { $$ = new op_node(tn_le, $1, $2, $3); }
+@@ -492,6 +511,7 @@
| expr EQ expr { $$ = new op_node(tn_eq, $1, $2, $3); }
| expr NE expr { $$ = new op_node(tn_ne, $1, $2, $3); }
| expr IN expr { $$ = new op_node(tn_in, $1, $2, $3); }
-+ ;
++;
simple_expr: primary
| PLUS simple_expr %prec UPLUS {
-@@ -498,6 +523,7 @@
+@@ -502,6 +522,7 @@
{ $$ = new op_node(tn_not, NULL, $1, $2); }
| '@' primary { $$ = new address_node($1, $2); }
| AND primary %prec ADDRESS { $$ = new address_node($1, $2); }
-+ ;
++;
primary: constant
| '(' expr_list ')' { $$ = new expr_group_node($1, $2, $3); }
-@@ -506,6 +532,7 @@
+@@ -510,6 +531,7 @@
| primary '^' { $$ = new deref_expr_node($1, $2); }
| primary '[' expr_list ']' { $$ = new idx_expr_node($1, $2, $3, $4); }
| LOOPHOLE '(' type ',' expr ')' { $$ = new loophole_node($1, $2, $3, $4, $5, $6); }
-+ ;
++;
constant: record_constant
| ICONST { $$ = new integer_node($1); }
-@@ -513,40 +540,52 @@
+@@ -517,41 +539,49 @@
| SCONST { $$ = new string_node($1); }
| '[' set_elem_list ']' { $$ = new set_node($1, $2, $3); }
| IDENT { $$ = new atom_expr_node($1); }
-+ ;
++;
set_elem_list: { $$ = NULL; }
| set_elem
| set_elem ',' set_elem_list { $1->next = $3; $$ = $1; }
-+ ;
++;
set_elem: expr { $$ = new set_elem_node($1); }
| expr DOTS expr { $$ = new set_range_node($1, $2, $3); }
-+ ;
++;
expr_list: expr | expr ',' expr_list { $1->next = $3; $$ = $1; }
-+ ;
++;
act_param_list: act_param
| act_param ',' act_param_list { $1->next = $3; $$ = $1; }
-+ ;
++;
act_param: expr | { $$ = new skipped_node(curr_token->prev_relevant()); }
-+ ;
-
+-
++;
record_constant: '(' field_init_list ')' {
$$ = new record_constant_node($1, $2, $3);
@@ -187,45 +203,46 @@
field_init_list: field_init_item { $$ = $1; }
| field_init_item ';' field_init_list { $1->next = $3; $$ = $1; }
-+ ;
++;
field_init_item: IDENT ':' expr { $$ = new field_init_node($1, $2, $3); }
-+ ;
-
+-
++;
expr_group: '(' expr_list ')' { $$ = new expr_group_node($1, $2, $3); }
-+ ;
-
+-
++;
write_list: write_param | write_param ',' write_list { $1->next = $3; $$ = $1; }
-+ ;
++;
write_param: expr { $$ = new write_param_node($1); }
| expr ':' expr { $$ = new write_param_node($1, $2, $3); }
| expr ':' expr ':' expr { $$ = new write_param_node($1, $2, $3, $4, $5); }
-+ ;
-
+-
++;
/*
-@@ -590,31 +629,40 @@
+ //=============================================================================
+@@ -594,31 +624,40 @@
label_decl_part: LABEL label_list ';'
{ $$ = new label_decl_part_node($1, $2, $3); }
-+ ;
++;
label_list: ICONST { $$ = new token_list($1); }
| ICONST ',' label_list { $$ = new token_list($1, $3); }
| IDENT { $$ = new token_list($1); }
| IDENT ',' label_list { $$ = new token_list($1, $3); }
-+ ;
++;
const_def_part: CONST const_def_list
{ $$ = new const_def_part_node($1, $2); }
-+ ;
++;
const_def_list: { $$ = NULL; }
| const_def ';' const_def_list { $1->next = $3; $$ = $1; }
-+ ;
++;
const_def: IDENT EQ expr { $$ = new const_def_node($1, $2, $3); }
| IDENT ':' const_type EQ expr { $$ = new typed_const_def_node($1, $2, $3, $4, $5); }
@@ -233,205 +250,206 @@
type_def_part: TYPE type_def_list
{ $$ = new type_def_part_node($1, $2); }
-+ ;
++;
type_def_list: { $$ = NULL; }
| type_def ';' type_def_list { $1->next = $3; $$ = $1; }
-+ ;
++;
type_def: IDENT EQ type { $$ = new type_def_node($1, $2, $3); }
-+ ;
++;
var_decl_part: VAR var_decl_list
{ $$ = new var_decl_part_node($1, $2); }
-+ ;
++;
var_decl_list: { $$ = NULL; }
| var_decl
-@@ -630,16 +678,19 @@
+@@ -634,29 +673,33 @@
$1->next = $5; $$ = $1;
}
| var_decl ';' var_decl_list { $1->next = $3; $$ = $1; }
-+ ;
++;
var_decl: ident_list ':' type { $$ = new var_decl_node($1, $2, $3); }
| IDENT ORIGIN expr ':' simple_type
{ $$ = (var_decl_node*)new var_origin_decl_node($1, $2, $3, $4, $5); }
-+ ;
++;
proc_decl:
PROCEDURE IDENT formal_params
{ $$ = new proc_decl_node($1, $2, $3); }
| FUNCTION IDENT formal_params ':' type
{ $$ = new proc_decl_node($1, $2, $3, $4, $5); }
-+ ;
-
+-
++;
proc_fwd_decl:
-@@ -647,12 +698,14 @@
+ PROCEDURE IDENT formal_params ';' qualifiers ';'
{ $$ = new proc_fwd_decl_node($1, $2, $3, NULL, NULL, $4, $5, $6); }
| FUNCTION IDENT formal_params ':' type ';' qualifiers ';'
{ $$ = new proc_fwd_decl_node($1, $2, $3, $4, $5, $6, $7, $8); }
-+ ;
++;
proc_spec:
PROCEDURE IDENT formal_params ';'
{ $$ = new proc_fwd_decl_node($1, $2, $3, NULL, NULL, $4); }
| FUNCTION IDENT formal_params ':' type ';'
{ $$ = new proc_fwd_decl_node($1, $2, $3, $4, $5, $6); }
-+ ;
++;
proc_def:
PROCEDURE IDENT formal_params ';' block ';'
-@@ -671,26 +724,33 @@
+@@ -675,135 +718,166 @@
{ $$ = new proc_def_node($1, NULL, NULL, $2, $3, $4, $5, $6, $7, $8, $9, $10); }
| FUNCTION IDENT ';' FAR ';' block ';'
{ $$ = new proc_def_node($1, NULL, NULL, $2, NULL, NULL, NULL, $3, $4, $5, $6, $7); }
-+ ;
++;
qualifiers: IDENT qualifiers { $$ = new token_list($1, $2); }
| SCOPE qualifiers { $$ = new token_list($1, $2); }
| IDENT { $$ = new token_list($1); }
| SCOPE { $$ = new token_list($1); }
-+ ;
-
+-
++;
formal_params: { $$ = NULL; }
| '(' formal_param_list ')' { $$ = new param_list_node($1, $2, $3); }
-+ ;
++;
formal_param_list: formal_param
| formal_param ';' formal_param_list { $1->next = $3; $$ = $1; }
-+ ;
++;
formal_param: VAR param_decl { $$ = new var_decl_part_node($1, $2); }
| param_decl { $$ = $1; } | proc_decl
-+ ;
++;
param_decl: ident_list ':' param_type { $$ = new var_decl_node($1, $2, $3); }
| ident_list { $$ = new var_decl_node($1, NULL, NULL); }
-+ ;
++;
param_type: simple_type | conformant_array_type
-+ ;
-
-
+-
+-
++;
-@@ -698,81 +758,106 @@
+ /* Types definition */
type: simple_type | array_type | record_type | object_type | set_type | file_type
| pointer_type | enum_type | range_type | string_type | fptr_type
-+ ;
++;
const_type: simple_type | const_array_type | record_type | const_set_type | string_type
-+ ;
++;
fptr_type: FUNCTION formal_params ':' type
{ $$ = new fptr_tpd_node($1, $2, $3, $4); }
| PROCEDURE formal_params { $$ = new fptr_tpd_node($1, $2); }
-+ ;
++;
string_type: STRING '[' expr ']' { $$ = new varying_tpd_node($1, $2, $3, $4); }
-+ ;
++;
simple_type: IDENT { $$ = new simple_tpd_node($1); }
| STRING { $$ = new string_tpd_node($1); }
-+ ;
++;
array_type: packed ARRAY '[' indices ']' OF type
{ $$ = new array_tpd_node($1, $2, $3, $4, $5, $6, $7); }
-+ ;
++;
const_array_type: packed ARRAY '[' indices ']' OF const_type
{ $$ = new array_tpd_node($1, $2, $3, $4, $5, $6, $7); }
-+ ;
++;
conformant_array_type: packed ARRAY '[' conformant_indices ']' OF simple_type
{ $$ = new array_tpd_node($1, $2, $3, $4, $5, $6, $7); }
| packed ARRAY '[' conformant_indices ']' OF conformant_array_type
{ $$ = new array_tpd_node($1, $2, $3, $4, $5, $6, $7); }
-+ ;
++;
enum_type: '(' ident_list ')' { $$ = new enum_tpd_node($1, $2, $3); }
-+ ;
++;
range_type: expr DOTS expr
{ $$ = new range_tpd_node($1, $2, $3); }
-+ ;
++;
pointer_type: '^' type { $$ = new ptr_tpd_node($1, $2); }
-+ ;
++;
set_type: packed SET OF type { $$ = new set_tpd_node($1, $2, $3, $4); }
-+ ;
++;
const_set_type: packed SET OF const_type { $$ = new set_tpd_node($1, $2, $3, $4); }
-+ ;
++;
record_type: packed RECORD field_list END
{ $$ = new record_tpd_node($1, $2, $3, $4); }
-+ ;
++;
object_type: OBJECT object_components END
{ $$ = new object_tpd_node($1, NULL, NULL, NULL, $2, $3); }
| OBJECT '(' IDENT ')' object_components END
{ $$ = new object_tpd_node($1, $2, $3, $4, $5, $6); }
-+ ;
++;
object_components: object_fields object_methods
{ $1->next = $2; $$ = $1; }
| object_methods
| object_fields
-+ ;
++;
object_fields: field_decl_list
{ $$ = new var_decl_part_node(NULL, $1); }
-+ ;
++;
field_decl_list: var_decl
| var_decl ';' { $$ = $1; }
| var_decl ';' field_decl_list { $1->next = $3; $$ = $1; }
-+ ;
++;
object_methods: proc_fwd_decl | proc_spec
| proc_fwd_decl object_methods { $1->next = $2; $$ = $1; }
| proc_spec object_methods { $1->next = $2; $$ = $1; }
-+ ;
-
-
+-
+-
++;
file_type: packed FIL OF type { $$ = new file_tpd_node($1, $2, $3, $4); }
-+ ;
++;
- packed: { $$ = NULL; } | PACKED
-+ ;
+-packed: { $$ = NULL; } | PACKED
++packed: { $$ = NULL; } | PACKED
++;
conformant_indices: conformant_index
| conformant_index ';' conformant_indices { $1->next = $3; $$ = $1; }
-+ ;
++;
conformant_index: IDENT DOTS IDENT ':' type
{ $$ = new conformant_index_node($1, $2, $3, $4, $5); }
-+ ;
++;
indices: index_spec | index_spec ',' indices
{ $1->next = $3; $$ = $1; }
-+ ;
++;
index_spec: simple_type { $$ = new type_index_node($1); }
| expr DOTS expr { $$ = new range_index_node($1, $2, $3); }
-+ ;
-
+-
++;
field_list:
-@@ -780,26 +865,32 @@
+ fixed_part variant_part
{ $$ = new field_list_node($1, $2); }
| fixed_part
{ $$ = new field_list_node($1); }
-+ ;
++;
fixed_part: var_decl_list
-+ ;
++;
variant_part: CASE selector OF variant_list
{
@@ -441,13 +459,13 @@
selector: IDENT ':' type { $$ = new selector_node($1, $2, $3); }
| type { $$ = new selector_node(NULL, NULL, $1); }
-+ ;
-
+-
++;
variant_list: variant
| variant ';' { $$ = $1; }
| variant ';' variant_list { $1->next = $3; $$ = $1; }
-+ ;
++;
variant: expr_list ':' '(' field_list ')'
{
diff --git a/lang/ptoc/files/patch-ac b/lang/ptoc/files/patch-tpexpr.cxx
index e0cc7c3de880..e0cc7c3de880 100644
--- a/lang/ptoc/files/patch-ac
+++ b/lang/ptoc/files/patch-tpexpr.cxx
diff --git a/lang/ptoc/files/patch-ab b/lang/ptoc/files/patch-trnod.cxx
index 553e1d8d34bc..553e1d8d34bc 100644
--- a/lang/ptoc/files/patch-ab
+++ b/lang/ptoc/files/patch-trnod.cxx
diff --git a/lang/ptoc/pkg-descr b/lang/ptoc/pkg-descr
index 06e71fad1297..939763c74dca 100644
--- a/lang/ptoc/pkg-descr
+++ b/lang/ptoc/pkg-descr
@@ -16,4 +16,4 @@ Also emulation libraries of Borland Graphics Interface (BGI) for
X Window System included in this distribution (BGI emulators can
be also used without converter for C programs using BGI).
-WWW: http://www.ispras.ru/~knizhnik/
+WWW: http://www.garret.ru/~knizhnik/
diff --git a/lang/ptoc/pkg-plist b/lang/ptoc/pkg-plist
index 40e630ae73ea..bdabdd6dbee7 100644
--- a/lang/ptoc/pkg-plist
+++ b/lang/ptoc/pkg-plist
@@ -9,45 +9,45 @@ include/ptoc/ptoc.h
include/ptoc/set.h
lib/libXbgi.a
lib/libptoc.a
-%%PORTDOCS%%share/doc/ptoc/Readme.htm
-share/examples/ptoc/arr.pas
-share/examples/ptoc/bgidemo.pas
-share/examples/ptoc/ccall.pas
-share/examples/ptoc/coord.txt
-share/examples/ptoc/dos.h
-share/examples/ptoc/dos.pas
-share/examples/ptoc/func.pas
-share/examples/ptoc/hello.pas
-share/examples/ptoc/impact.pas
-share/examples/ptoc/lister.pas
-share/examples/ptoc/makefile.bsd
-share/examples/ptoc/nested.pas
-share/examples/ptoc/objpas.pas
-share/examples/ptoc/polut2.pas
-share/examples/ptoc/printer.pas
-share/examples/ptoc/q2.txt
-share/examples/ptoc/random.txt
-share/examples/ptoc/rename.cxx
-share/examples/ptoc/rename.pas
-share/examples/ptoc/set.pas
-share/examples/ptoc/str.pas
-share/examples/ptoc/test.c
-share/examples/ptoc/test.cxx
-share/examples/ptoc/test.pas
-share/examples/ptoc/test.txt
-share/examples/ptoc/tpascal.pas
-share/examples/ptoc/trinor.pas
-share/examples/ptoc/vibrkinp.pas
-share/examples/ptoc/vibrkinp.txt
-share/examples/ptoc/vibrtabl.pas
-share/examples/ptoc/war2.pas
-share/examples/ptoc/war2.txt
-share/examples/ptoc/xy2.txt
-share/examples/ptoc/xy2orig.txt
-share/ptoc/graph.pas
-share/ptoc/ptoc.pas
-share/ptoc/tptoc.pas
-@dirrm share/examples/ptoc
-@dirrm share/ptoc
-%%PORTDOCS%%@dirrm share/doc/ptoc
+%%PORTDOCS%%%%DOCSDIR%%/Readme.htm
+%%EXAMPLESDIR%%/arr.pas
+%%EXAMPLESDIR%%/bgidemo.pas
+%%EXAMPLESDIR%%/ccall.pas
+%%EXAMPLESDIR%%/coord.txt
+%%EXAMPLESDIR%%/dos.h
+%%EXAMPLESDIR%%/dos.pas
+%%EXAMPLESDIR%%/func.pas
+%%EXAMPLESDIR%%/hello.pas
+%%EXAMPLESDIR%%/impact.pas
+%%EXAMPLESDIR%%/lister.pas
+%%EXAMPLESDIR%%/makefile.bsd
+%%EXAMPLESDIR%%/nested.pas
+%%EXAMPLESDIR%%/objpas.pas
+%%EXAMPLESDIR%%/polut2.pas
+%%EXAMPLESDIR%%/printer.pas
+%%EXAMPLESDIR%%/q2.txt
+%%EXAMPLESDIR%%/random.txt
+%%EXAMPLESDIR%%/rename.cxx
+%%EXAMPLESDIR%%/rename.pas
+%%EXAMPLESDIR%%/set.pas
+%%EXAMPLESDIR%%/str.pas
+%%EXAMPLESDIR%%/test.c
+%%EXAMPLESDIR%%/test.cxx
+%%EXAMPLESDIR%%/test.pas
+%%EXAMPLESDIR%%/test.txt
+%%EXAMPLESDIR%%/tpascal.pas
+%%EXAMPLESDIR%%/trinor.pas
+%%EXAMPLESDIR%%/vibrkinp.pas
+%%EXAMPLESDIR%%/vibrkinp.txt
+%%EXAMPLESDIR%%/vibrtabl.pas
+%%EXAMPLESDIR%%/war2.pas
+%%EXAMPLESDIR%%/war2.txt
+%%EXAMPLESDIR%%/xy2.txt
+%%EXAMPLESDIR%%/xy2orig.txt
+%%DATADIR%%/graph.pas
+%%DATADIR%%/ptoc.pas
+%%DATADIR%%/tptoc.pas
+@dirrm %%EXAMPLESDIR%%
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm include/ptoc