diff options
author | B. Watson <yalhcru@gmail.com> | 2015-03-10 23:19:55 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2015-03-14 16:55:59 +0700 |
commit | b87e77efaa6dee354718185c12617a212a92f808 (patch) | |
tree | b93ad8d74a7a67b02e066d7b7211a8bc3ea5250a | |
parent | 4135399d2b844434d6d993f350ced140619a347b (diff) | |
download | slackbuilds-b87e77efaa6dee354718185c12617a212a92f808.tar.gz |
misc/html2ps: hardcode answers to the install script
If libwww-perl happens to be installed, one of the questions is
skipped, which throws everything out of sync and makes the
installation fail.
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r-- | misc/html2ps/html2ps.SlackBuild | 22 | ||||
-rw-r--r-- | misc/html2ps/no_deprecated_assignment.diff | 11 | ||||
-rw-r--r-- | misc/html2ps/noninteractive_install.diff | 237 |
3 files changed, 258 insertions, 12 deletions
diff --git a/misc/html2ps/html2ps.SlackBuild b/misc/html2ps/html2ps.SlackBuild index addbac4766..ff185b3f53 100644 --- a/misc/html2ps/html2ps.SlackBuild +++ b/misc/html2ps/html2ps.SlackBuild @@ -64,18 +64,16 @@ mkdir -p \ $PKG/usr/share/html2ps \ $PKG/usr/doc/$PRGNAM-$VERSION -printf " - -n -${PKG}/usr/bin -${PKG}/usr/share/html2ps -${PKG}/usr/man/man1 -${PKG}/usr/man/man5 - -${PKG}/usr/share/html2ps -${PKG}/usr/doc/${PRGNAM}-${VERSION} -${PAPER} -" | ./install +# get rid of 'Use of assignment to $[ is deprecated' warning +patch -p1 < $CWD/no_deprecated_assignment.diff + +# hardcode the answers to all the questions it wants to ask +patch -p1 < $CWD/noninteractive_install.diff + +# noninteractive_install needs these +export PKG VERSION + +./install # Install xhtml2ps stuff mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps diff --git a/misc/html2ps/no_deprecated_assignment.diff b/misc/html2ps/no_deprecated_assignment.diff new file mode 100644 index 0000000000..88e803e797 --- /dev/null +++ b/misc/html2ps/no_deprecated_assignment.diff @@ -0,0 +1,11 @@ +diff -Naur html2ps-1.0b7/html2ps html2ps-1.0b7.patched/html2ps +--- html2ps-1.0b7/html2ps 2010-05-07 07:22:12.000000000 -0400 ++++ html2ps-1.0b7.patched/html2ps 2014-09-12 13:37:55.000000000 -0400 +@@ -3405,7 +3405,6 @@ + local($optlist)=@_; + local(@args,$_,$opt,$opts,$rest,$olist,$plist,$found,@popts); + local($errs)=0; +- local($[)=0; + @args=split( /\|/, $optlist ); + for $opt (@args) { + if(substr($opt,-1,1) ne ':') {$olist.=$opt} diff --git a/misc/html2ps/noninteractive_install.diff b/misc/html2ps/noninteractive_install.diff new file mode 100644 index 0000000000..b7c2a5ada3 --- /dev/null +++ b/misc/html2ps/noninteractive_install.diff @@ -0,0 +1,237 @@ +diff -Naur html2ps-1.0b7/install html2ps-1.0b7.patched/install +--- html2ps-1.0b7/install 2010-05-07 07:22:12.000000000 -0400 ++++ html2ps-1.0b7.patched/install 2014-09-12 13:31:05.000000000 -0400 +@@ -33,33 +33,6 @@ + } + @perl = ("Image${dirsep}Magick.pm", "LWP${dirsep}UserAgent.pm"); + +-print <<EOD; +- +-This is the installation script for html2ps. To get full functionality, some +-external program packages need to be installed. You may wish to install these +-first (see the enclosed documentation for addresses): +- +- * For conversion on inline images, any of the packages ImageMagick, pbmplus +- or netpbm. +- +- * To retrieve remote documents you must have libwww-perl. Alternatively, +- some program like wget or lynx. +- +- * To be able to generate cross references and DSC PostScript, you must +- have Ghostscript installed. +- +- * To be able to convert documents using the MATH element from HTML 3.0, +- you need both TeX and dvips. +- +-This script creates a file describing the local configuration. To make this +-accurate, you should have your search PATH set to include the directories +-where the abovementioned packages are. You must also have write access to +-the directories where the files should be placed. +-EOD +- +-&getval($goon, "y", "\nDo you want to proceed with the installation?"); +-die "\n" if($goon!~/^y/i); +- + print "\n"; + for $req (@perl) { + print "Searching for $req: "; +@@ -103,30 +76,10 @@ + $pack .= " check: weblint;\n"; + } + +-if($module{"LWP${dirsep}UserAgent.pm"}) { +- $pack .= " libwww-perl: 1;\n"; +-} else { +- if(&exist("lynx",0)) { +- $lynx = 1; +- $lynxcmd = "lynx -source -mime_header"; +- $getdef = $lynxcmd; +- } +- if(&exist("wget",0)) { +- $wget = 1; +- $ugcmd = "wget -s -q -O-"; +- $getdef = $ugcmd; +- } +- $both = $wget && $lynx? " (for example '$ugcmd' or\n'$lynxcmd')": ""; +- $none = $wget || $lynx? "": +- ", or press <return> to convert local files only"; +- &getval($geturl, $getdef, +- "\nBy default html2ps uses libwww-perl to retrieve remote documents, " +- ."I cannot\nfind this on your system. You may instead use some command " +- ."that can retrieve\ndocuments _with_a_complete_MIME_header_$both\.\n" +- ."Enter such a command$none"); +- $geturl = "/bin/true" if(!$geturl); +- $pack .= " geturl: \"$geturl\";\n"; +-} ++$lynx = 1; ++$lynxcmd = "lynx -source -mime_header"; ++$geturl = $lynxcmd; ++$pack .= " geturl: \"$geturl\";\n"; + + if(@reqpath) { + $pack .= ' path: "'.join($pathsep, @reqpath).'";'; +@@ -134,155 +87,22 @@ + + chop ($cd = `pwd`); + +-&getval($ans, "y", +- "\nBy default all files will be installed in subdirectories 'bin', 'lib',\n" +- ."and 'man' in a common directory. Is this OK?"); +-$def = $ans=~/^y/i; +- +-if($def) { +- &getval($prefix, "$prefix", "\nEnter the name of this directory"); +- &fixdir($prefix); +- while(!&goodprefix) { +- &getval($prefix, "$prefix", "\nEnter a new directory name"); +- } +- &makedir($prefix,0); +-} +- +-if($def) { +- $bindir = "$prefix${dirsep}bin"; +-} else { +- &getval($bindir, "$prefix${dirsep}bin", +- "\nEnter the directory where the html2ps script should be put"); +- &fixdir($bindir); +- ($prefix) = $bindir=~m|(.*)\Q$dirsep\E[^\Q$dirsep\E]+|; +-} +-&makedir($bindir,$def); ++$bindir = "$ENV{PKG}/usr/bin"; + +-if($def) { +- $glob = "$prefix${dirsep}lib${dirsep}html2ps"; +-} else { +- &getval($glob, "$prefix${dirsep}lib${dirsep}html2ps", +- "\nEnter the the directory where the global configuration file for\n" +- ."html2ps should be put"); +- $glob =~ s|/$||g; +- &fixdir($glob); +-} +-&makedir($glob,$def); + $repl = "y"; +-if(-f "$glob${dirsep}html2psrc") { +- &getval($repl, "y", "\nA file $glob${dirsep}html2psrc already exists, replace?"); +-} ++$glob = "$ENV{PKG}/usr/share/html2ps"; + +-if($def) { +- $man1 = "$prefix${dirsep}man${dirsep}man1"; +-} else { +- &getval($man1, "$prefix${dirsep}man${dirsep}man1", +- "\nEnter the directory for the html2ps manual page"); +- &fixdir($man1); +-} +-&makedir($man1,$def); +- +-if($def) { +- $man5 = "$prefix${dirsep}man${dirsep}man5"; +-} else { +- &getval($man5, "$prefix${dirsep}man${dirsep}man5", +- "\nEnter the directory for the manual page describing the configuration\n" +- ."file format for html2ps"); +- &fixdir($man5); +-} +-&makedir($man5,$def); ++$man1 = "$ENV{PKG}/usr/man/man1"; ++$man5 = "$ENV{PKG}/usr/man/man5"; + +-$ht = "\nTo use the automatic hyphenation feature, hyphenation pattern files\n" +- ."from the TeX distribution are needed."; + $cophy = 1; +-if($exist{'TeX'}) { +- $hfile = ""; +- ($texdir = $dir{'TeX'}) =~ s|/bin$||; +- SW:for("texmf/tex/generic/hyphen","macros","inputs","lib/macros", +- "lib/inputs","lib/tex/macros","lib/tex/inputs") { +- if(-f "$texdir/$_/ushyph1.tex") { +- $hyph = "$texdir/$_"; +- $hfile = "$hyph/ushyph1.tex"; +- last SW; +- } +- if(-f "$texdir/$_/hyphen.tex") { +- $hyph = "$texdir/$_"; +- $hfile = "$hyph/hyphen.tex"; +- last SW; +- } +- } +- if($hfile) { +- &getval($hdef, "y", "$ht I believe that I have found\nthe pattern " +- ."file for English in your TeX installation:\n\n " +- ."$hfile\n\nWould you like to use this instead of the " +- ."file included with html2ps?"); +- if($hdef=~/^y/i) { +- $cophy = 0; +- } else { +- $hfile = ""; +- } +- } else { +- &getval($hfile, "", "$ht I cannot find the pattern\nfile for English " +- ."in your TeX installation. (It should be called\n'hyphen.tex', " +- ."or perhaps 'ushyph1.tex', somewhere in the directory\ntree " +- ."'$texdir'.)\n\nIf you know where this file is and want to use it " +- ."instead of the\nfile included with html2ps, enter the full path " +- ."name for this file,\notherwise press <return>"); +- while($hfile && !-f $hfile) { +- &getval($hfile, "", "\nNo such file: $hfile\nEnter new name, or " +- ."press <return> to use the supplied file"); +- } +- $cophy = $hfile !~ /\S/; +- } +- if(!$hfile) { +- if($def) { +- $hyph = "$prefix${dirsep}lib${dirsep}html2ps"; +- } else { +- &getval($hyph, "$prefix${dirsep}lib${dirsep}html2ps", +- "\nOK, I will use the supplied pattern file for English. Enter " +- ."the directory\nwhere this file should be put"); +- &fixdir($hyph); +- } +- } +-} else { +- if($def) { +- $hyph = "$prefix${dirsep}lib${dirsep}html2ps"; +- } else { +- &getval($hyph, "$prefix${dirsep}lib${dirsep}html2ps", "$ht A pattern file for English is\n" +- ."included with html2ps (see the documentation how to install pattern\n" +- ."files for other languages). Enter the directory where this file\n" +- ."should be put"); +- } +-} +-if($cophy) { +- &makedir($hyph,0); +- $hfile = "$hyph${dirsep}hyphen.tex"; +-} ++$hyph = $glob; ++$hfile = $glob . "/hyphen.tex"; + +-if($def) { +- $html = "$prefix${dirsep}lib${dirsep}html2ps"; +-} else { +- &getval($html, "$prefix${dirsep}lib${dirsep}html2ps", +- "\nEnter a directory where to put the HTML document describing\nhtml2ps"); +- &fixdir($html); +-} +-&makedir($html,$def); ++$html = "$ENV{PKG}/usr/doc/html2ps-$ENV{VERSION}"; + +-$paper = ""; +-&getval($format, "A4", +- "\nEnter the default paper type, possible choices are:\nA0, A1, A2, A3, A4," +- ." A5, A6, A7, A8, A9, A10,\nB0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10,\n" +- ."letter, legal, arche, archd, archc, archb, archa,\nflsa, flse, halfletter," +- ." 11x17, ledger, other"); +-if($format !~ /^other$/i) { +- $paper .= " type: $format;"; +-} else { +- &getval($height, "", +- "\nDefault paper height i centimeters (1 inch = 2.54 centimeters)"); +- &getval($width, "", "\nDefault paper width i centimeters"); +- $paper .= " height: $height;\n"; +- $paper .= " width: $width;"; +-} ++$format = "letter"; ++$paper = " type: $format;"; + + open(RC,">html2psrc") || die "*** Error opening html2psrc\n"; + print RC "/* Global configuration file for html2ps */\n\n" |