[121939] trunk/dports/textproc/texinfo

mojca at macports.org mojca at macports.org
Fri Jul 11 13:57:55 PDT 2014


Revision: 121939
          https://trac.macports.org/changeset/121939
Author:   mojca at macports.org
Date:     2014-07-11 13:57:55 -0700 (Fri, 11 Jul 2014)
Log Message:
-----------
texinfo: remove non-functional recoding as in upstream to avoid problems with sed (#43617)

Modified Paths:
--------------
    trunk/dports/textproc/texinfo/Portfile

Added Paths:
-----------
    trunk/dports/textproc/texinfo/files/
    trunk/dports/textproc/texinfo/files/patch-util-texi2dvi.diff

Modified: trunk/dports/textproc/texinfo/Portfile
===================================================================
--- trunk/dports/textproc/texinfo/Portfile	2014-07-11 20:50:08 UTC (rev 121938)
+++ trunk/dports/textproc/texinfo/Portfile	2014-07-11 20:57:55 UTC (rev 121939)
@@ -5,6 +5,7 @@
 
 name                texinfo
 version             5.2
+revision            1
 categories          textproc
 platforms           darwin
 license             GPL-3+
@@ -24,6 +25,7 @@
                     if only the info command is used).
 homepage            http://www.gnu.org/software/texinfo/
 
+depends_build       port:help2man
 depends_lib         port:gettext \
                     port:libiconv \
                     port:ncurses
@@ -33,6 +35,10 @@
 checksums           rmd160  564fb99e6876f982cc03c8570f88edc8100d3aab \
                     sha256  5471ef683a64588a7cfef46ef2bdd3fbcbca89d847e10832612293f105e44eda
 
+# temporary patch until the next release
+# https://trac.macports.org/ticket/43617
+patchfiles          patch-util-texi2dvi.diff
+
 destroot.target-append  install-tex
 destroot.args           TEXMF=${prefix}/share/texmf
 

Added: trunk/dports/textproc/texinfo/files/patch-util-texi2dvi.diff
===================================================================
--- trunk/dports/textproc/texinfo/files/patch-util-texi2dvi.diff	                        (rev 0)
+++ trunk/dports/textproc/texinfo/files/patch-util-texi2dvi.diff	2014-07-11 20:57:55 UTC (rev 121939)
@@ -0,0 +1,409 @@
+http://ftp.gnu.org/gnu/texinfo/texi2dvi
+http://svn.savannah.gnu.org/viewvc?view=rev&root=texinfo&revision=5704
+https://trac.macports.org/ticket/43617
+
+--- util/texi2dvi.orig
++++ util/texi2dvi
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources.
+-# $Id: texi2dvi 5381 2013-09-26 23:03:58Z karl $
++# $Id: texi2dvi 5704 2014-07-07 17:45:16Z karl $
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
+ # Free Software Foundation, Inc.
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -33,10 +33,13 @@ unset RUNNING_KSH
+ # No failure shall remain unpunished.
+ set -e
+ 
++# In case the default sed doesn't suffice.
++: ${SED=sed}
++
+ # This string is expanded automatically when this file is checked out.
+-rcs_revision='$Revision: 5381 $'
++rcs_revision='$Revision: 5704 $'
+ rcs_version=`set - $rcs_revision; echo $2`
+-program=`echo $0 | sed -e 's!.*/!!'`
++program=`echo $0 | $SED -e 's!.*/!!'`
+ 
+ build_mode=${TEXI2DVI_BUILD_MODE:-local}
+ build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.}
+@@ -52,11 +55,10 @@ escape="\\"
+ expand=false    # true for expansion via makeinfo
+ includes=
+ line_error=true # pass --file-line-error to TeX
+-max_iters=-1    # keep going forever
++max_iters=7     # when to quit
+ oname=          # --output
+ out_lang=dvi
+ quiet=false     # let the tools' message be displayed
+-recode=false
+ set_language=
+ src_specials=
+ shell_escape=
+@@ -65,7 +67,6 @@ textra=         # Extra TeX commands to insert in the input file.
+ txiprereq=19990129 # minimum texinfo.tex version with macro expansion
+ verb=false      # true for verbose mode
+ translate_file= # name of charset translation file
+-recode_from=    # if not empty, recode from this encoding to @documentencoding
+ 
+ orig_pwd=`pwd`
+ 
+@@ -162,7 +163,7 @@ cd_orig ()
+ func_dirname ()
+ {
+   dirname "$1" 2>/dev/null \
+-  || { echo "$1" | sed 's!/[^/]*$!!;s!^$!.!'; }
++  || { echo "$1" | $SED 's!/[^/]*$!!;s!^$!.!'; }
+ }
+ 
+ 
+@@ -171,7 +172,7 @@ func_dirname ()
+ # Return FILE with one extension remove.  foo.bar.baz -> foo.bar.
+ noext ()
+ {
+-  echo "$1" | sed -e 's/\.[^/.][^/.]*$//'
++  echo "$1" | $SED -e 's/\.[^/.][^/.]*$//'
+ }
+ 
+ 
+@@ -186,7 +187,7 @@ absolute ()
+       echo "$1"
+       ;;
+    *) local slashes
+-      slashes=`echo "$1" | sed -n 's,.*[^/]\(/*\)$,\1,p'`
++      slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'`
+       local rel
+       rel=$orig_pwd/`func_dirname "$1"`
+       if test -d "$rel"; then
+@@ -341,8 +342,6 @@ TeX tuning:
+   -I DIR                     search DIR for Texinfo files
+   -l, --language=LANG        specify LANG for FILE, either latex or texinfo
+       --no-line-error        do not pass --file-line-error to TeX
+-  -r, --recode               call recode before TeX to translate input
+-      --recode-from=ENC      recode from ENC to the @documentencoding
+       --shell-escape         pass --shell-escape to TeX
+       --src-specials         pass --src-specials to TeX
+   -t, --command=CMD          insert CMD in copy of input file
+@@ -358,7 +357,7 @@ Build modes:
+                          defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir]
+   --mostly-clean       remove the auxiliary files and directories
+                          but not the output
+-  --max-iterations=N   don't process files more than N times
++  --max-iterations=N   don't process files more than N times [$max_iters]
+ 
+ The MODE specifies where the TeX compilation takes place, and, as a
+ consequence, how auxiliary files are treated.  The build mode
+@@ -392,7 +391,7 @@ using \\graphicspath): in that case, use -I to specify the additional
+ directories to consider.
+ 
+ The values of the BIBER, BIBTEX, DVIPDF, DVIPS, HEVEA, LATEX, MAKEINDEX,
+-MAKEINFO, PDFLATEX, PDFTEX, T4HT, TEX, TEX4HT, TEXINDEX, and THUMBPDF
++MAKEINFO, PDFLATEX, PDFTEX, SED, T4HT, TEX, TEX4HT, TEXINDEX, and THUMBPDF_CMD
+ environment variables are used to run those commands, if they are set.
+ 
+ Regarding --dvipdf, if DVIPDF is not set in the environment, the
+@@ -430,7 +429,7 @@ version ()
+   cat <<EOF
+ texi2dvi (GNU Texinfo 5.2) $rcs_version
+ 
+-Copyright (C) 2013 Free Software Foundation, Inc.
++Copyright (C) 2014 Free Software Foundation, Inc.
+ License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+ This is free software: you are free to change and redistribute it.
+ There is NO WARRANTY, to the extent permitted by law.
+@@ -472,7 +471,7 @@ list_concat_dirs ()
+                        -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
+   save_IFS=$IFS
+   IFS=$path_sep
+-  set x `echo "$2" | eval sed $replace_EMPTY`; shift
++  set x `echo "$2" | eval $SED $replace_EMPTY`; shift
+   IFS=$save_IFS
+   local dir
+   for dir
+@@ -614,7 +613,7 @@ absolute_filenames ()
+                        -e 's/$path_sep\$/${path_sep}EMPTY/g' \
+                        -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
+   local res
+-  res=`echo "$1" | eval sed $replace_empty`
++  res=`echo "$1" | eval $SED $replace_empty`
+   save_IFS=$IFS
+   IFS=$path_sep
+   set x $res; shift
+@@ -653,7 +652,7 @@ output_base_name ()
+      *) local out_noext
+         out_noext=`noext "$oname"`
+         local file_ext
+-        file_ext=`echo "$1" | sed 's/^.*\.//'`
++        file_ext=`echo "$1" | $SED 's/^.*\.//'`
+         echo "$out_noext.$file_ext"
+       ;;
+   esac
+@@ -775,7 +774,7 @@ bibaux_file_p ()
+ index_file_p ()
+ {
+   test -f "$1" || return 1
+-  case $in_lang:$latex2html:`out_lang_tex`:`sed '1q' "$1"` in
++  case $in_lang:$latex2html:`out_lang_tex`:`$SED '1q' "$1"` in
+     # When working with TeX4HT, *.idx are created by LaTeX.  They must
+     # be processed to produce *.4ix, *.4dx files.  The *.4dx file is
+     # passed to makeindex to produce the *.ind file.  This sequence is
+@@ -803,7 +802,7 @@ xref_file_p ()
+   # process it.  It's suitable if the first character is a
+   # backslash or right quote or at, as long as the first line isn't
+   # \input texinfo.
+-  case `sed '1q' "$1"` in
++  case `$SED '1q' "$1"` in
+     "\\input texinfo"*) return 1;;
+     [\\''@]*)           return 0;;
+            *)           return 1;;
+@@ -824,7 +823,7 @@ generated_files_get ()
+   # Gather the files created by TeX.
+   (
+     if test -f "$1.log"; then
+-      sed -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log"
++      $SED -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log"
+     fi
+     echo "$1.log"
+   ) |
+@@ -841,10 +840,10 @@ generated_files_get ()
+       latex)
+         if aux_file_p $file; then
+           # bibtex: *.aux -> *.bbl and *.blg.
+-          echo $file | sed 's/^\(.*\)\.aux$/\1.bbl/'
+-          echo $file | sed 's/^\(.*\)\.aux$/\1.blg/'
++          echo $file | $SED 's/^\(.*\)\.aux$/\1.bbl/'
++          echo $file | $SED 's/^\(.*\)\.aux$/\1.blg/'
+           # -recorder: .fls
+-          echo $file | sed 's/^\(.*\)\.aux$/\1.fls/'
++          echo $file | $SED 's/^\(.*\)\.aux$/\1.fls/'
+        fi
+        ;;
+     esac
+@@ -915,10 +914,10 @@ xref_files_changed ()
+ 
+   # Compare each file until we find a difference.
+   for this_file in $xref_files_new; do
+-    verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..."
++    verbose "Comparing xref file `echo $this_file | $SED 's|\./||g'` ..."
+     # cmp -s returns nonzero exit status if files differ.
+     if cmp -s "$this_file" "$work_bak/$this_file"; then :; else
+-      verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..."
++      verbose "xref file `echo $this_file | $SED 's|\./||g'` differed ..."
+       if $debug; then
+         diff -u "$work_bak/$this_file" "$this_file"
+       fi
+@@ -972,7 +971,7 @@ run_tex ()
+   # subdirectory to exist.
+   case $in_lang:$tidy in
+     latex:true)
+-       sed -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" |
++       $SED -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" |
+        sort -u |
+        while read d
+        do
+@@ -1103,14 +1102,15 @@ run_bibtex ()
+   # bibtex would never be run.
+   if test -r "$in_noext.aux" \
+      && test -r "$in_noext.log" \
+-     && ((grep 'Warning:.*Citation.*undefined' "$in_noext.log" \
++     && ( (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \
+           || grep '.*Undefined citation' "$in_noext.log" \
+           || grep 'No file .*\.bbl\.' "$in_noext.log") \
+           || (grep 'No \.aux file' "$in_noext.log" \
+-              && grep '^\\bibdata' "$in_noext.aux")) \
++              && grep '^\\bibdata' "$in_noext.aux") ) \
+         >&6 2>&1; \
+   then
+-    for f in `generated_files_get "$in_noext" bibaux_file_p`; do
++    bibtex_aux=`generated_files_get "$in_noext" bibaux_file_p`
++    for f in $bibtex_aux; do
+       run $bibtex "$f"
+     done
+   fi
+@@ -1199,7 +1199,7 @@ run_thumbpdf ()
+      && test -r "$in_noext.log" \
+      && grep 'thumbpdf\.sty'  "$in_noext.log" >&6 2>&1; \
+   then
+-    thumbpdf=${THUMBPDF:-thumbpdf}
++    thumbpdf=${THUMBPDF_CMD:-thumbpdf}
+     thumbcmd="$thumbpdf $in_dir/$in_noext"
+     verbose "Running $thumbcmd ..."
+     if $thumbcmd >&5; then
+@@ -1229,7 +1229,7 @@ run_dvipdf ()
+   # 'input -o output'.  They all seem to accept 'input' only,
+   # outputting using the expected file name.
+   run $dvipdf "$1"
+-  if test ! -f `echo "$1" | sed -e 's/\.dvi$/.pdf/'`; then
++  if test ! -f `echo "$1" | $SED -e 's/\.dvi$/.pdf/'`; then
+     error 1 "cannot find output file"
+   fi
+ }
+@@ -1261,9 +1261,9 @@ run_tex_suite ()
+ 
+     xref_files_save
+ 
+-    # We run bibtex first, because I can see reasons for the indexes
+-    # to change after bibtex is run, but I see no reason for the
+-    # converse.
++    # We run bibtex first, because it's more likely for the indexes
++    # to change after bibtex is run than the reverse, though either
++    # would be rare.
+     run_bibtex
+     run_index
+     run_core_conversion
+@@ -1376,7 +1376,7 @@ to tex itself simply not working."
+       cat "$version_test_dir/txiversion.err" >&2
+       error 1 "quitting."
+     fi
+-    eval `sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"`
++    eval `$SED -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"`
+     verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..."
+     if test "$txiprereq" -le "$txiversion" >&6 2>&1; then
+       makeinfo=
+@@ -1402,10 +1402,10 @@ to tex itself simply not working."
+     # (running missing) and then we end up with things like '"-I"',
+     # and "-I" (including the quotes) is not an option name.  This
+     # happens with gettext 0.14.5, at least.
+-    sed "$comment_iftex" "$command_line_filename" \
++    $SED "$comment_iftex" "$command_line_filename" \
+       | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \
+         -o /dev/null --macro-expand=- \
+-      | sed "$uncomment_iftex" >"$in_src"
++      | $SED "$uncomment_iftex" >"$in_src"
+     # Continue only if everything succeeded.
+     if test $? -ne 0 \
+        || test ! -r "$in_src"; then
+@@ -1433,7 +1433,7 @@ insert_commands ()
+       texinfo) textra_cmd='/^@setfilename/a';;
+       *)       error 1 "internal error, unknown language: $in_lang";;
+     esac
+-    sed "$textra_cmd\\
++    $SED "$textra_cmd\\
+ $textra" "$in_input" >"$in_xtr"
+     in_input=$in_xtr
+   fi
+@@ -1453,45 +1453,6 @@ $textra" "$in_input" >"$in_xtr"
+   esac
+ }
+ 
+-# run_recode ()
+-# -------------
+-# If this is a Texinfo file with a specified input encoding, and
+-# recode is available, then recode to plain 7 bit Texinfo.
+-run_recode ()
+-{
+-  local from
+-  local to
+-
+-  if test $in_lang = texinfo; then
+-    pgm='s/^ *@documentencoding  *\([^ ][^ ]*\) *$/\1/
+-        t found
+-        d
+-        :found
+-        q'
+-    encoding=`sed -e "$pgm" "$in_input"`
+-    if $recode && test -n "$encoding" && findprog recode; then
+-      if test -n "$recode_from"; then
+-        from=$recode_from
+-        to=$encoding
+-      else
+-        from=$encoding
+-        to=$texinfo
+-      fi
+-      verbose "Recoding from $from to $to."
+-      # _rcd.  The Texinfo file recoded in 7bit.
+-      work_rcd=$workdir/recode
+-      in_rcd=$work_rcd/$in_base
+-      ensure_dir "$work_rcd"
+-      if recode "$encoding..$to" <"$in_input" >"$in_rcd" \
+-         && test -s "$in_rcd"; then
+-        in_input=$in_rcd
+-      else
+-        verbose "Recoding failed, using original input."
+-      fi
+-    fi
+-  fi
+-}
+-
+ # compute_language FILENAME
+ # -------------------------
+ # Return the short string describing the language in which FILENAME
+@@ -1503,7 +1464,7 @@ compute_language ()
+   # Otherwise, guess from the file extension.
+   if test -n "$set_language"; then
+     echo $set_language
+-  elif sed 1q "$1" | grep 'input texinfo' >&6; then
++  elif $SED 1q "$1" | grep 'input texinfo' >&6; then
+     echo texinfo
+   else
+     # Get the type of the file (latex or texinfo) from the given language
+@@ -1618,9 +1579,6 @@ compile ()
+   # --command, --texinfo
+   insert_commands
+ 
+-  # --recode
+-  run_recode
+-
+   # Run until a fix point is reached.
+   run_tex_suite
+ }
+@@ -1689,14 +1647,13 @@ while test x"$1" != x"$arg_sep"; do
+   # Handle --option=value by splitting apart and putting back on argv.
+   case "$1" in
+     --*=*)
+-      opt=`echo "$1" | sed -e 's/=.*//'`
+-      val=`echo "$1" | sed -e 's/[^=]*=//'`
++      opt=`echo "$1" | $SED -e 's/=.*//'`
++      val=`echo "$1" | $SED -e 's/[^=]*=//'`
+       shift
+       set dummy "$opt" "$val" ${1+"$@"}; shift
+       ;;
+   esac
+ 
+-  # This recognizes --quark as --quiet.  Oh well.
+   case "$1" in
+     -@ ) escape=@;;
+     -~ ) catcode_special=false;;
+@@ -1721,17 +1678,15 @@ while test x"$1" != x"$arg_sep"; do
+     # Output formats.
+     -O|--output-format) shift; out_lang_set "$1";;
+        --dvi|--dvipdf|--html|--info|--pdf|--ps|--text)
+-       out_lang_set `echo "x$1" | sed 's/^x--//'`;;
++       out_lang_set `echo "x$1" | $SED 's/^x--//'`;;
+ 
+     -p) out_lang_set pdf;;
+     -q | -s | --quiet | --silent) quiet=true; batch=true;;
+-    -r | --recode) recode=true;;
+-    --recode-from) shift; recode=true; recode_from="$1";;
+     --src-specials) src_specials=--src-specials;;
+     --shell-escape) shell_escape=--shell-escape;;  
+     --tex4ht) latex2html=tex4ht;;
+     -t | --texinfo | --command ) shift; textra="$textra\\
+-"`echo "$1" | sed 's/\\\\/\\\\\\\\/g'`;;
++"`echo "$1" | $SED 's/\\\\/\\\\\\\\/g'`;;
+     --translate-file ) shift; translate_file="$1";;
+     --tidy) build_mode=tidy;;
+     -v | --vers*) version;;
+@@ -1858,7 +1813,7 @@ fi
+ #   The input file name without extensions (nor directory part).
+ # - IN_INPUT
+ #   Defaults to COMMAND_LINE_FILENAME, but might change if the
+-#   input is preprocessed (recode etc.).  With directory, possibly absolute.
++#   input is preprocessed.  With directory, possibly absolute.
+ input_file_name_decode ()
+ {
+   # See if we are run from within AUC-Tex, in which case we are
+@@ -1943,7 +1898,7 @@ do
+          # has active characters.  Transform / into ! so that we don't
+          # need `mkdir -p'.  It might be something to reconsider.
+          t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" |
+-             sed "s,^$orig_pwd/,,;s,^\./,,;s,/,!,g"`
++             $SED "s,^$orig_pwd/,,;s,^\./,,;s,/,!,g"`
+   esac
+   # Remove it at exit if clean mode.
+   trap "cleanup" 0 1 2 15
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140711/6d8c9003/attachment-0001.html>


More information about the macports-changes mailing list