On 1/17/20 11:05 AM, Bas Couwenberg wrote:
> In preparation of the netcdf-fortran transition as test rebuild of your
> package was done which FTBFS:
>
> make doc
> make[4]: Entering directory
> '/build/oasis3-3.mct+dfsg.121022/lib/mct/doc/texsrc'
> perl ../../protex/protex -b m_Accumulator.F90 > m_Accumulator.tex
> Assigning non-zero to $[ is no longer possible at ../../protex/protex line
> 87.
> make[4]: *** [Makefile:27: m_Accumulator.tex] Error 255
It helps to update protex to a version that works with Perl 5.30 as per
the attached patch, but the package still FTBFS further on, see the
attached log.
Kind Regards,
Bas
--
GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146 50D1 6750 F10A E88D 4AF1
diff -Nru oasis3-3.mct+dfsg.121022/debian/patches/protex.patch oasis3-3.mct+dfsg.121022/debian/patches/protex.patch
--- oasis3-3.mct+dfsg.121022/debian/patches/protex.patch 1970-01-01 01:00:00.000000000 +0100
+++ oasis3-3.mct+dfsg.121022/debian/patches/protex.patch 2020-01-19 09:43:34.000000000 +0100
@@ -0,0 +1,656 @@
+Description: Fix 'Assigning non-zero to $[ is no longer possible' error with Perl 5.30.
+Origin: https://sourceforge.net/p/elk/discussion/897822/thread/37afb1f97d/#4ecb
+
+--- a/lib/mct/protex/protex
++++ b/lib/mct/protex/protex
+@@ -1,4 +1,7 @@
+ #!/usr/bin/perl
++#
++# $Id: protex,v 1.15 2004/06/03 23:49:46 eschwab Exp $
++#
+ #BOP
+ #
+ # !ROUTINE: ProTeX v. 2.00 - Translates DAO Prologues to LaTeX
+@@ -19,6 +22,7 @@
+ # \begin{tabular}{|c|l|} \hline \hline
+ # -h & Help mode: list command line options \\ \hline
+ # -b & Bare mode, meaning no preamble, etc. \\ \hline
++# -i & internal mode: omit prologues marked !BOPI \\ \hline
+ # +/-n & New Page for each subsection (wastes paper) \\ \hline
+ # +/-l & Listing mode, default is prologues only \\ \hline
+ # +/-s & Shut-up mode, i.e., ignore any code from BOC to EOC \\ \hline
+@@ -77,14 +81,18 @@
+ # and hangcaption.
+ # 10May2000 C. Redder Revised LaTeX command "\label{sec:prologues}"
+ # to "\label{app:ProLogues}"
+-# 24May2001 da Silva Added !PARAMETERS/!REURN VALUE: keywords for CAM.
++# 10/10/2002 da Silva Introduced ARGUMENTS keyword, touch ups.
++#
++# 15Jan2003 R. Staufer Modified table of contents to print only section headers - no descriptions
++#
++# 25Feb2003 R. Staufer Added BOPI/EOPI and -i (internal) switch to provide the option of omitting prologue information from output files.
+ #
+ #EOP
+ #----------------------------------------------------------------------------
+
+ # Keep this if you don't know what it does...
+ # -------------------------------------------
+- $[ = 1; # set array base to 1
++### $[ = 1; # set array base to 1 (removed to maintain Perl 5.30 compatibility)
+ $, = ' '; # set output field separator
+ $\ = "\n"; # set output record separator
+
+@@ -92,7 +100,7 @@
+ # -----------------------
+ $GlobOptions = 'hb'; # Global options (i.e for all files)
+ $LangOptions = 'ACFS'; # Options for setting programming languages
+- $SwOptions = 'flnsx'; # Options that can change for each input
++ $SwOptions = 'flinsx'; # Options that can change for each input
+ # file
+ $RegOptions = "$GlobOptions$LangOptions";
+ # Scan for global options until first first
+@@ -112,7 +120,7 @@ Arg:
+ }# end if
+ }# end foreach
+
+-# If all inut arguments are options, then assume the
++# If all input arguments are options, then assume the
+ # filename, "-", for the standard input
+ # --------------------------------------------------
+ if ( $NFiles == 0 ) { push (@ARGV, "-"); }
+@@ -129,10 +137,13 @@ Arg:
+ @keys = ( "!INTERFACE:",
+ "!USES:",
+ "!PUBLIC TYPES:",
++ "!PRIVATE TYPES:",
+ "!PUBLIC MEMBER FUNCTIONS:",
++ "!PRIVATE MEMBER FUNCTIONS:",
+ "!PUBLIC DATA MEMBERS:",
+- "!DEFINED PARAMETERS:",
+ "!PARAMETERS:",
++ "!ARGUMENTS:",
++ "!DEFINED PARAMETERS:",
+ "!INPUT PARAMETERS:",
+ "!INPUT/OUTPUT PARAMETERS:",
+ "!OUTPUT PARAMETERS:",
+@@ -188,8 +199,12 @@ ARG:
+ $eoi_string = '!EOI';
+ $bop_string = '!BOP';
+ $eop_string = '!EOP';
++ $bopi_string = '!BOPI';
++ $eopi_string = '!EOPI';
+ $boc_string = '!BOC';
+ $eoc_string = '!EOC';
++ $boe_string = '!BOE';
++ $eoe_string = '!EOE';
+ #}# end if
+
+ if ( $opt_A ) { # ADA
+@@ -198,8 +213,12 @@ ARG:
+ $eoi_string = '--EOI';
+ $bop_string = '--BOP';
+ $eop_string = '--EOP';
++ $bopi_string = '--BOPI';
++ $eopi_string = '--EOPI';
+ $boc_string = '--BOC';
+ $eoc_string = '--EOC';
++ $boe_string = '--BOE';
++ $eoe_string = '--EOE';
+ }# end if
+
+ if ( $opt_C ) {
+@@ -208,8 +227,12 @@ ARG:
+ $eoi_string = '//EOI';
+ $bop_string = '//BOP';
+ $eop_string = '//EOP';
++ $bopi_string = '//BOPI';
++ $eopi_string = '//EOPI';
+ $boc_string = '//BOC';
+ $eoc_string = '//EOC';
++ $boe_string = '//BOE';
++ $eoe_string = '//EOE';
+ }# end if
+
+ if ( $opt_S ) { # Script
+@@ -218,8 +241,12 @@ ARG:
+ $eoi_string = '#EOI';
+ $bop_string = '#BOP';
+ $eop_string = '#EOP';
++ $bopi_string = '#BOPI';
++ $eopi_string = '#EOPI';
+ $boc_string = '#BOC';
+ $eoc_string = '#EOC';
++ $boe_string = '#BOE';
++ $eoe_string = '#EOE';
+ }# end if
+
+ # Set file name parameters
+@@ -241,20 +268,25 @@ ARG:
+
+ # Print page header
+ # -----------------
+- printf "\n\\markboth{Left}{Source File: %s, Date: %s}\n\n",
+- $FileBaseName, $Date;
++# printf "\n\\markboth{Left}{Source File: %s, Date: %s}\n\n",
++# $FileBaseName, $Date;
+
+ LINE:
+ # Inner loop --- for processing each line of the input file
+ # ---------------------------------------------------------
+ while ( <InputFile> ) {
+ chop; # strip record separator
++
++# !PARAMETERS: really mean !ARGUMENTS:
++# ------------------------------------
++# s/!PARAMETERS:/!ARGUMENTS:/g;
++
+ @Fld = split(' ', $_, 9999);
+
+ # Straight quote
+ # --------------
+- if ($Fld[1] eq '!QUOTE:') {
+- for ($i = 2; $i <= $#Fld; $i++) {
++ if ($Fld[0] eq '!QUOTE:') {
++ for ($i = 1; $i <= $#Fld - 1; $i++) {
+ printf '%s ', $Fld[$i];
+ }# end for
+ print " ";
+@@ -263,13 +295,13 @@ LINE:
+
+ # Handle optional Title Page and Introduction
+ # -------------------------------------------
+- if ($Fld[1] eq $boi_string) {
++ if ($Fld[0] eq $boi_string) {
+ print ' ';
+ $intro = 1;
+ next LINE;
+ }# end if
+
+- if ($Fld[2] eq '!TITLE:') {
++ if ($Fld[1] eq '!TITLE:') {
+ if ( $intro ) {
+ shift @Fld;
+ shift @Fld;
+@@ -279,7 +311,7 @@ LINE:
+ }# end if
+ }# end if
+
+- if ($Fld[2] eq '!AUTHORS:') {
++ if ($Fld[1] eq '!AUTHORS:') {
+ if ( $intro ) {
+ shift @Fld;
+ shift @Fld;
+@@ -289,7 +321,7 @@ LINE:
+ }# end if
+ }# end if
+
+- if ($Fld[2] eq '!AFFILIATION:') {
++ if ($Fld[1] eq '!AFFILIATION:') {
+ if ( $intro ) {
+ shift @Fld;
+ shift @Fld;
+@@ -299,7 +331,7 @@ LINE:
+ }# end if
+ }# end if
+
+- if ($Fld[2] eq '!DATE:') {
++ if ($Fld[1] eq '!DATE:') {
+ if ( $intro ) {
+ shift @Fld;
+ shift @Fld;
+@@ -309,7 +341,7 @@ LINE:
+ }# end if
+ }# end if
+
+- if ($Fld[2] eq '!INTRODUCTION:') {
++ if ($Fld[1] eq '!INTRODUCTION:') {
+ if ( $intro ) {
+ &do_beg();
+ print ' ';
+@@ -324,7 +356,7 @@ LINE:
+
+ # End of introduction
+ # -------------------
+- if ($Fld[1] eq $eoi_string) {
++ if ($Fld[0] eq $eoi_string) {
+ print ' ';
+ print '%/////////////////////////////////////////////////////////////';
+ print "\\newpage";
+@@ -334,10 +366,10 @@ LINE:
+
+ # Beginning of prologue
+ # ---------------------
+- if ($Fld[1] eq $bop_string) {
++ if ($Fld[0] eq $bop_string) {
+ if ( $source ) { &do_eoc(); }
+ print ' ';
+- print '%/////////////////////////////////////////////////////////////';
++ print '%/////////////////////////////////////////////////////////////';
+ &do_beg();
+ if ($first == 0) {
+ ### print "\\newpage";
+@@ -347,18 +379,44 @@ LINE:
+ else {
+ unless($opt_b){print "\\section{Routine/Function Prologues} \\label{app:ProLogues}";}
+ }# end if
+-
++
+ $first = 0;
+ $prologue = 1;
+ $verb = 0;
+ $source = 0;
+ &set_missing(); # no required keyword yet
+ next LINE;
+-}# end if
++}# end if
++
++# Beginning of internal prologue
++# ------------------------------
++ if ($Fld[0] eq $bopi_string) {
++ if ($opt_i) {$prologue = 0;}
++ else {
++ if ($source) { &do_eoc(); }
++ print ' ';
++ print '%/////////////////////////////////////////////////////////////';
++ &do_beg();
++ if ($first ==0) {
++ ### print "\\newpage";
++ print " ";
++ print "\\mbox{}\\hrulefill\\";
++ print " ";}
++ else {
++ unless($opt_b){print "\\section{Routine/Function Prologues} \\label{app:ProLogues}";}
++}# endif
++ $first = 0;
++ $prologue = 1;
++ $verb = 0;
++ $source = 0;
++ &set_missing(); # no required keyword yet
++ next LINE;
++ }# endelse
++ }# endif
+
+ # A new subroutine/function
+ # -------------------------
+- if ($Fld[2] eq '!ROUTINE:' ) {
++ if ($Fld[1] eq '!ROUTINE:' ) {
+ if ($prologue) {
+ shift @Fld;
+ shift @Fld;
+@@ -376,7 +434,7 @@ LINE:
+
+ # A new Module
+ # ------------
+- if ($Fld[2] eq '!MODULE:' ) {
++ if ($Fld[1] eq '!MODULE:' ) {
+ if ($prologue) {
+ shift @Fld;
+ shift @Fld;
+@@ -384,8 +442,8 @@ LINE:
+ $name_is = $_;
+ s/_/\\_/g; # Replace "_" with "\_"
+ if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
+- unless($opt_f) {printf "\\subsection{Module %s (Source File: %s)}\n\n", $_, $FileBaseName;}
+- else {printf "\\subsection{Module %s }\n\n", $_;}
++ unless($opt_f) {printf "\\subsection{Fortran: Module Interface %s (Source File: %s)}\n\n", $_, $FileBaseName;}
++ else {printf "\\subsection{Fortran: Module Interface %s }\n\n", $_;}
+ $have_name = 1;
+ $have_intf = 1; # fake it, it does not need one.
+ $not_first = 1;
+@@ -395,7 +453,7 @@ LINE:
+
+ # A new include file
+ # ------------------
+- if ($Fld[2] eq '!INCLUDE:' ) {
++ if ($Fld[1] eq '!INCLUDE:' ) {
+ if ($prologue) {
+ shift @Fld;
+ shift @Fld;
+@@ -411,22 +469,78 @@ LINE:
+ next LINE;
+ }# end if
+ }# end if
+-
++
+ # A new INTERNAL subroutine/function
+ # ----------------------------------
+- if ($Fld[2] eq '!IROUTINE:') { # Internal routine
++ if ($Fld[1] eq '!IROUTINE:') { # Internal routine
+ if ($prologue) {
+ shift @Fld;
+ shift @Fld;
+ $_ = join(' ', @Fld);
+ $name_is = $_;
+ s/_/\\_/g; # Replace "_" with "\_"
+- printf "\\subsubsection{%s}\n\n", $_;
++ @words = split " ", $_;
++ printf "\\subsection [$words[1]] {$_}\n\n";
+ $have_name = 1;
+ next LINE;
+ }# end if
+ }# end if
+
++# A new CLASS
++# ------------
++ if ($Fld[1] eq '!CLASS:' ) {
++ if ($prologue) {
++ shift @Fld;
++ shift @Fld;
++ $_ = join(' ', @Fld);
++ $name_is = $_;
++ s/_/\\_/g; # Replace "_" with "\_"
++ if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
++ unless($opt_f) {printf "\\subsection{C++: Class Interface %s (Source File: %s)}\n\n", $_, $FileBaseName;}
++ else {printf "\\subsection{C++: Class Interface %s }\n\n", $_;}
++ $have_name = 1;
++ $have_intf = 1; # fake it, it does not need one.
++ $not_first = 1;
++ next LINE;
++}# end if
++}# end if
++
++# A new Method
++# -------------------------
++ if ($Fld[1] eq '!METHOD:' ) {
++ if ($prologue) {
++ shift @Fld;
++ shift @Fld;
++ $_ = join(' ', @Fld);
++ $name_is = $_;
++ s/_/\\_/g; # Replace "_" with "\_"
++ if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
++ unless ($opt_f) {printf "\\subsection{%s (Source File: %s)}\n\n", $_, $FileBaseName;}
++ else {printf "\\subsection{%s }\n\n", $_;}
++ $have_name = 1;
++ $not_first = 1;
++ next LINE;
++}# end if
++}# end if
++
++# A new function
++# -------------------------
++ if ($Fld[1] eq '!FUNCTION:' ) {
++ if ($prologue) {
++ shift @Fld;
++ shift @Fld;
++ $_ = join(' ', @Fld);
++ $name_is = $_;
++ s/_/\\_/g; # Replace "_" with "\_"
++ if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
++ unless ($opt_f) {printf "\\subsection{%s (Source File: %s)}\n\n", $_, $FileBaseName;}
++ else {printf "\\subsection{%s }\n\n", $_;}
++ $have_name = 1;
++ $not_first = 1;
++ next LINE;
++}# end if
++}# end if
++
+ # Description: what follows will be regular LaTeX (no verbatim)
+ # -------------------------------------------------------------
+ if (/!DESCRIPTION:/) {
+@@ -442,7 +556,7 @@ LINE:
+ $verb = 1;
+ $first_verb = 1; }
+ else {
+- for ($i = 3; $i <= $#Fld; $i++) {
++ for ($i = 2; $i <= $#Fld - 1; $i++) {
+ printf '%s ', $Fld[$i];
+ }# end for
+ }# end if
+@@ -465,13 +579,14 @@ KEY: foreach $key ( @keys ) {
+ }# end if
+ $k = sprintf('%s', $key);
+ $ln = length($k);
+- ###printf "\\subsubsection*{%s}\n", substr($k, 2, $ln - 1);
++ ###printf "\\subsection*{%s}\n", substr($k, 2, $ln - 1);
+ ###printf "{\\Large \\em %s}\n", ucfirst lc substr($k, 2, $ln - 1);
+ $_ = $key;
+- if( /USES/ || /INPUT/ || /OUTPUT/ || /PARAMETERS/ || /VALUE/ ) {
+- printf "{\\em %s}\n", substr($k, 2, $ln - 1); } # italics
++ if( /USES/ || /INPUT/ || /OUTPUT/ || /PARAMETERS/ ||
++ /VALUE/ || /ARGUMENTS/ ) {
++ printf "{\\em %s}\n", substr($k, 1, $ln - 1); } # italics
+ else {
+- printf "{\\sf %s}\n", substr($k, 2, $ln - 1); # san serif
++ printf "{\\sf %s}\n", substr($k, 1, $ln - 1); # san serif
+ }# end if
+
+ printf "\\begin{verbatim} ";
+@@ -487,30 +602,46 @@ KEY: foreach $key ( @keys ) {
+
+ # End of prologue
+ # ---------------
+- if ($Fld[1] eq $eop_string) {
++ if ($Fld[0] eq $eop_string) {
+ if ($verb) {
+ print "\\end{verbatim}";
+ $verb = 0;
+ }# end if
+ $prologue = 0;
+- &check_if_all_there(); # check if all required keyword are there.
++# &check_if_all_there(); # check if all required keywords are there.
+ if ( $opt_l ) {
+- $Fld[1] = $boc_string;}
++ $Fld[0] = $boc_string;}
+ else { next LINE; }
+ }# end if
+
+ unless ( $opt_s ) {
++
++# End of Internal Prologue
++# ------------------------
++
++ if ($Fld[0] eq $eopi_string) {
++ if ($verb) {
++ print "\\end{verbatim}";
++ $verb = 0;
++}# endif
++ $prologue = 0;
++# &check_if_all_there(); # check if all required keywords are there.
++ if ($opt_l) {
++ $Fld[0] = $boc_string;}
++ else { next LINE; }
++}# endif
++
+ #
+ # Beginning of source code section
+ # --------------------------------
+- if ($Fld[1] eq $boc_string) {
++ if ($Fld[0] eq $boc_string) {
+ print ' ';
+ print '%/////////////////////////////////////////////////////////////';
+ $first = 0;
+ $prologue = 0;
+ $source = 1;
+- ### printf "\\subsubsection*{CONTENTS:}\n\n", $Fld[3];
+- printf "{\\sf CONTENTS:}";
++ ### printf "\\subsection*{CONTENTS:}\n\n", $Fld[3];
++ ###printf "{\\sf CONTENTS:}";
+ printf "\n \\begin{verbatim}\n";
+ $verb = 1;
+ next LINE;
+@@ -518,20 +649,47 @@ KEY: foreach $key ( @keys ) {
+
+ # End of source code
+ # ------------------
+- if ($Fld[1] eq $eoc_string) {
++ if ($Fld[0] eq $eoc_string) {
+ &do_eoc();
+ $prologue = 0;
+ next LINE;
+ }# end if
++
++# Beginning of example prologue
++# -----------------------------
++ if ($Fld[0] eq $boe_string) {
++ if ( $source ) { &do_eoc(); }
++ print ' ';
++ print '%/////////////////////////////////////////////////////////////';
++ $first = 0;
++ $prologue = 1;
++ $verb = 0;
++ $source = 0;
++ next LINE;
++}# end if
++
++# End of example prologue
++# -----------------------
++ if ($Fld[0] eq $eoe_string) {
++ if ($verb) {
++ print "\\end{verbatim}";
++ $verb = 0;
++}# end if
++ $prologue = 0;
++ if ( $opt_l ) {
++ $Fld[0] = $boc_string;}
++ else { next LINE; }
++}# end if
++
+ }# end unless
+
+ # Prologue or Introduction, print regular line (except for !)
+ # -----------------------------------------------------------
+ if ($prologue||$intro) {
+- if ( $verb && $#Fld == 1 && ( $Fld[1] eq $comment_string ) ) {
++ if ( $verb && $#Fld == 0 && ( $Fld[0] eq $comment_string ) ) {
+ next LINE; # to eliminate excessive blanks
+ }# end if
+- if ( $Fld[2] eq "\\ev" ) { # special handling
++ if ( $Fld[1] eq "\\ev" ) { # special handling
+ $_ = $comment_string . " \\end{verbatim}";
+ }# end if
+ s/^$comment_string/ /; # replace comment string with blank
+@@ -559,6 +717,11 @@ KEY: foreach $key ( @keys ) {
+ print $_;
+ if ( $source ) { &do_eoc(); }
+ print '%...............................................................';
++
++ # see comment above where these are originally set.
++ #print "\\setlength{\\parskip}{\\oldparskip}";
++ #print "\\setlength{\\parindent}{\\oldparindent}";
++ #print "\\setlength{\\baselineskip}{\\oldbaselineskip}";
+
+ unless ( $opt_b ) {
+ print "\\end{document}";
+@@ -771,10 +934,13 @@ sub print_preamble {
+
+ unless ( $opt_b ) {
+ print "%------------------------ PREAMBLE --------------------------";
+- print "\\documentclass[11pt]{article}";
++ print "\\documentclass[a4paper,11pt]{article}";
+ print "\\usepackage{amsmath}";
++ print "\\usepackage{amssymb}";
+ print "\\usepackage{epsfig}";
+- print "\\usepackage{hangcaption}";
++ print "\\usepackage{tabularx}";
++ print "\\usepackage{color}";
++ print "\\usepackage[linkbordercolor={0 0 1}]{hyperref}";
+ print "\\textheight 9in";
+ print "\\topmargin 0pt";
+ print "\\headsep 1cm";
+@@ -783,14 +949,32 @@ sub print_preamble {
+ print "\\oddsidemargin 0in";
+ print "\\evensidemargin 0in";
+ print "\\marginparpush 0pt";
+- print "\\pagestyle{myheadings}";
++ print "\\pagestyle{plain}";
+ print "\\markboth{}{}";
+ print "%-------------------------------------------------------------";
+-}#end unless
++}# end unless
+
+- print "\\parskip 0pt";
+- print "\\parindent 0pt";
+- print "\\baselineskip 11pt";
++ # in your main document before you include any protex-generated files
++ # for the first time, if you define these three variables as length
++ # settings (like this:)
++ # \newlength{\oldparskip}
++ # \newlength{\oldparindent}
++ # \newlength{\oldbaselineskip}
++ # then 1) comment in all the lines below, and 2) find the 3 reset lines
++ # further down and comment in them as well.
++ # then protex will override the paragraph and skip settings during
++ # the source sections, but will restore the original document settings
++ # at the end. if someone can figure out how to check to see if a
++ # latex variable exists, and do a conditional section, we could make
++ # this fully self-contained.
++ # nsc feb 2003
++
++ #print "\\setlength{\\oldparskip}{\\parskip}";
++ print "\\setlength{\\parskip}{0pt}";
++ #print "\\setlength{\\oldparindent}{\\parindent}";
++ print "\\setlength{\\parindent}{0pt}";
++ #print "\\setlength{\\oldbaselineskip}{\\baselineskip}";
++ print "\\setlength{\\baselineskip}{11pt}";
+
+ }# end sub print_preamble
+
+@@ -820,20 +1004,38 @@ sub print_macros {
+ print "\\def\\diag{\\mathop{\\rm diag}}";
+ print "\\def\\tr{\\mathop{\\rm tr}}";
+ print "%-------------------------------------------------------------";
++ print " ";
++ print "%------------------------ Elk commands -----------------------";
++ print "\\newcommand{\\block}[2]{";
++ print "\\color{blue}\\subsection{\\tt #1}\\color{black}";
++ print "\\begin{tabularx}{\\textwidth}[h]{|l|X|c|c|}";
++ print "\\hline";
++ print "#2 \\\\";
++ print "\\hline";
++ print "\\end{tabularx}\\vskip 0.25cm";
++ print "}";
++ print "%-------------------------------------------------------------";
+
+ }# end sub print_macros
+
+ sub do_beg {
+ unless ( $opt_b ) {
+ if ( $begdoc == 0 ) {
+- if ( $tpage ) {
++ if ( $tpage ) {
+ print "\\title{@title}";
+- print "\\author{{\\sc @author}\\\\ {\\em @affiliation}}";
++ print "\\author{@author\\\\ {\\em @affiliation}}";
+ print "\\date{@date}";
+ }
+ print "\\begin{document}";
+ if ( $tpage ) {
++ print "\\pagecolor[rgb]{1,0.95,0.85}";
++ print "\\fcolorbox{black}{white}{\\fbox{";
++ print "\\begin{minipage}[t]{\\linewidth}";
+ print "\\maketitle";
++ print "\\end{minipage}}}";
++ print "\\thispagestyle{empty}";
++ print "\\newpage";
++ print "\\pagecolor{white}";
+ }
+ print "\\tableofcontents";
+ print "\\newpage";
+@@ -843,12 +1045,12 @@ sub do_beg {
+ }# end sub do_beg
+
+ sub do_eoc {
+- print ' ';
+- if ($verb) {
+- print "\\end{verbatim}";
+- $verb = 0;
+- }
+- $source = 0;
++ print ' ';
++ if ($verb) {
++ print "\\end{verbatim}";
++ $verb = 0;
++ }
++ $source = 0;
+ }# end sub do_eoc
+
+ sub set_missing {
+@@ -874,6 +1076,6 @@ $have_intf ||
+ die "ProTeX: invalid prologue, missing !INTERFACE: in <$name_is>";
+
+ $have_hist ||
+-die "ProTeX: invalid prologue, missing !REVISION HISTORY: in <$name_is>";
++ die "ProTeX: invalid prologue, missing !REVISION HISTORY: in <$name_is>";
+
+ }# end sub check_if_all_there
diff -Nru oasis3-3.mct+dfsg.121022/debian/patches/series oasis3-3.mct+dfsg.121022/debian/patches/series
--- oasis3-3.mct+dfsg.121022/debian/patches/series 2018-10-23 11:41:07.000000000 +0200
+++ oasis3-3.mct+dfsg.121022/debian/patches/series 2020-01-19 09:43:34.000000000 +0100
@@ -1,2 +1,3 @@
make-debian.patch
reproducible.patch
+protex.patch
make[4]: Entering directory '/build/oasis3-3.mct+dfsg.121022/lib/mct/doc'
latex mct_APIs.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(./mct_APIs.tex
LaTeX2e <2019-10-01> patch level 3
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/10/25 v1.4k Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/dvips.def))))
No file mct_APIs.aux.
Underfull \hbox (badness 10000) in paragraph at lines 47--49
Underfull \hbox (badness 10000) in paragraph at lines 55--61
[1] [2] [3]
No file mct_APIs.toc.
[4] (./texsrc/m_MCTWorld.tex
Overfull \hbox (0.14703pt too wide) in paragraph at lines 48--48
[]\OT1/cmr/bx/n/12 Fortran: Mod-ule In-ter-face m[]MCTWorld -- MCT-World Class
(Source
Overfull \hbox (49.3758pt too wide) in paragraph at lines 83--83
[] \OT1/cmtt/m/n/10 ! each c
omponent is on (e.g. rank of its[]
Overfull \hbox (49.3758pt too wide) in paragraph at lines 83--83
[] \OT1/cmtt/m/n/10 integer,dimension(:,:),pointer :: idGprocid ! Transl
ate between local component rank[]
[1] [2] [3]
Overfull \hbox (7.37616pt too wide) in paragraph at lines 281--281
[] \OT1/cmtt/m/n/10 integer, intent(in) :: ncomps ! to
tal number of components[]
Overfull \hbox (75.62556pt too wide) in paragraph at lines 281--281
[] \OT1/cmtt/m/n/10 integer, dimension(:),intent(in) :: rnprocspid ! nu
mber of processors for each component[]
[4]
Overfull \hbox (86.12547pt too wide) in paragraph at lines 281--281
[] \OT1/cmtt/m/n/10 integer, dimension(:,:),intent(in) :: ridGprocid ! an
array of size (1:ncomps) x (0:Gsize-1)[]
Overfull \hbox (7.37616pt too wide) in paragraph at lines 281--281
[] \OT1/cmtt/m/n/10 ! it
's actually 1:Gsize here[]
[5]
Overfull \hbox (15.12784pt too wide) in paragraph at lines 402--402
[]\OT1/cmr/bx/n/12 ComponentRootRank[] - Rank of com-po-nent root on COMM[]WORL
D.
[6]) [7] (./texsrc/m_AttrVect.tex
! LaTeX Error: Command \block already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.43 }
?
! Emergency stop.
...
l.43 }
Output written on mct_APIs.dvi (11 pages, 21428 bytes).
Transcript written on mct_APIs.log.
make[4]: *** [Makefile:25: mct_APIs.dvi] Error 1