]> gitweb.fluxo.info Git - slackbuilds.git/commitdiff
latex2html: adding latex2html
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Sat, 3 Jan 2009 18:48:47 +0000 (18:48 +0000)
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Sat, 3 Jan 2009 18:48:47 +0000 (18:48 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@2052 370017ae-e619-0410-ac65-c121f96126d4

dev/tex/latex2html/Manifest [new file with mode: 0644]
dev/tex/latex2html/latex2html-2008.diff [new file with mode: 0644]
dev/tex/latex2html/latex2html.SlackBuild

diff --git a/dev/tex/latex2html/Manifest b/dev/tex/latex2html/Manifest
new file mode 100644 (file)
index 0000000..9443505
--- /dev/null
@@ -0,0 +1,4 @@
+DIST latex2html-2008.tar.gz 1133054 MD5 275ab6cfa8ca9328446b7f40d8dc302e SHA1 5e0aa47572e0c13a4c5da51e963d5496be3f86e7 SHA256 59456815a3984250c295d3d5c46b85646038db8db2735cdc0d3780cf4da337ad SHA512 e5a9d1700fcc45e6fcb7bae79e25acd52b7a84b70a75b3c7f1e746f65adbd48219a828420f6a7c437613d5c74dfb0405c91df01ac9c1535e9850f3a3e5c47f60 RMD160 a95f06253d6fc8808ffedcad7edf8235194d7756
+MKBUILD latex2html.mkbuild 3031 MD5 471fd6727bc8b661f71bfef631740d60 SHA1 6edb09d1f56294afcdc934102af6e32fce284563 SHA256 7f87b227f74f98df26904f77cfc7491f81066096b1e72cada8b311f0a3a8327e SHA512 fdc08b7388998cbfaee03c9ed1816453cd6b20e99d7508bcbef8bbe176a4df583b85bb97cf1c7e022a690f3b943d8bf415b7648ab196de12dba04ef90f37f5ff RMD160 b84e00a5011d67cef6dbd2e24a299a9fb9d00d5c
+PATCH latex2html-2008.diff 703 MD5 6f5e21206ccaa8f5882103998cfeb721 SHA1 eae4695aa812c927060004db9fd958c7a0d0d0b8 SHA256 e2dad7784064b12c17ba9530eb54f706d057c5b399538ee1928ca38005f860e1 SHA512 dbc4e9272ed54949fa34da8fd4b0e15db646461ef564e65d7b4a20dd89425227b93987a2a214ec57984b200135085b6456d758efd2faffd89c16d305d315d744 RMD160 2b08bb440c4aacd3b23a05cb34d56597de8fd2a5
+SLACKBUILD latex2html.SlackBuild 7786 MD5 73e8979ea3287feaca28e748c7ef204a SHA1 833e9e5bd2b1224db9282e59acfbc77d07c632e1 SHA256 57f5eec6985d8cf521be3db4941059fe077fdb1e7e6cec19392079c3d19fc746 SHA512 f34e8769199f506f01b9c1d2849a26cae8beb6c074411761922181ce526f1f5c1537aa06b8d2ba25f1f886ed091836dfc051a38843e6fbda101f276256dce140 RMD160 ade10d72ad86f27f356810d201ef523da33ab786
diff --git a/dev/tex/latex2html/latex2html-2008.diff b/dev/tex/latex2html/latex2html-2008.diff
new file mode 100644 (file)
index 0000000..2d07bef
--- /dev/null
@@ -0,0 +1,15 @@
+Index: latex2html-2008/config/install.pl
+===================================================================
+--- latex2html-2008.orig/config/install.pl
++++ latex2html-2008/config/install.pl
+@@ -372,7 +372,9 @@ foreach $item (sort keys %Install_items)
+ if($cfg{TEXPATH}) {
+   print "\nNote: trying to install LaTeX2HTML style files in TeX directory tree\n     ($cfg{TEXPATH})\n";
+-  unless(mkpath($cfg{TEXPATH})) {
++  my $destdir = $cfg{TEXPATH};
++  $destdir = $ENV{'DESTDIR'}.$destdir if($ENV{'DESTDIR'});
++  unless(mkpath($destdir)) {
+   #my $testpath = $cfg{TEXPATH}; # to strip (latex2)html
+   #$testpath =~ s/[$dd$dd][^$dd$dd]*$//;
+   #if((-d $cfg{TEXPATH} && !-w _) || (-d $testpath && !-w _)) {
index 3d3cb4554f8d47e3c2f41b6820c7ba29c611675d..df6f6483c74f738199b397d9bfcb98e2002e2819 100755 (executable)
 #!/bin/bash
 #
-#  latex2html.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  latex2html.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  latex2html.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  latex2html.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for latex2html, by Silvio Rhatto
+# requires:  
+# tested: latex2html-2008
 #
-# slackbuild for latex2html, by Rudson R. Alves
-# requires: tetex, perl >=5.1, espgs, netpbm
-# tested: latex2html-2002-2-1
-
-CWD=`pwd`
 
-# ----  Inicializa variáveis com o slackbuild  ------------
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# --------  Variáveis de controle de versão  --------------
-# Nome da fonte para a qual o slackbuild foi construído e
-# o seu md5sum
-SRC_ORIG="latex2html-2002-2-1.tar.gz"
-#MD5_ORIG="72c2cb20526639cbf6ee2a66223c5cc2"
-PACKAGE_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*\-.*\-.*)\.(.*\..*)$/\1/'`
-VERSION_ORIG=`echo $SRC_ORIG | sed -r 's/(.*)-(.*\-.*\-.*)\.(.*\..*)$/\2/' | tr - .`
-   EXTENSION=`echo $SRC_ORIG | sed -r 's/(.*)-(.*\-.*\-.*)\.(.*\..*)$/\3/'`
-
-# -------  Códigos de erro para o createpkg  --------------
-ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
-ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38;    ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-# ---------  Inicializa variáveis de entrada  -------------
-PACKAGE=$PACKAGE_ORIG
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="latex2html"
+PKG_NAME="latex2html"
 ARCH=${ARCH:=i486}
-SRC_DIR=${SRC:=$CWD}
-VERSION=${VERSION:=$VERSION_ORIG}
-SRC=$PACKAGE-$(echo $VERSION | tr . -).$EXTENSION
-BUILD=${BUILD:=1rud}
+SRC_VERSION=${VERSION:=2008}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
-OPTCONF=${OPTCONF:=""}
-MD5=${MD5:=$MD5_ORIG}
-URL=${URL:="http://saftsack.fs.uni-bayreuth.de/~latex2ht/current/$SRC"}
-
-# ----------------  Download fontes  ----------------------
-# Fonte a ser compilada, com o path
-SOURCE=$SRC_DIR/$PACKAGE/$SRC
-# Verifica existência do pacote em $SRC em $SRC_DIR
-if [ ! -e $SOURCE ]; then
-    wget "$URL" -P "$SRC_DIR/$PACKAGE" || exit $ERROR_WGET
-fi
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
 
-# ------------------  Checa md5sum  -----------------------
-#if [ "$SRC_ORIG" = "$SRC" -o "$MD5" != "$MD5_ORIG" -a "$MD5" != "no" ]; then
-#    SUM=`md5sum $SOURCE | awk '{print $1}'`
-#    [ "$SUM" != "$MD5" ] && exit $ERROR_MD5
-#fi
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
 
-# -----------------  ARCH e LIBDIR  -----------------------
-# Libdir, para arch x86_64
-LIBDIR=$PREFIX/lib
-# Seleciona flags para o compilador
 if [ "$ARCH" = "i386" ]; then
-    SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
 elif [ "$ARCH" = "i486" ]; then
-    SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
 elif [ "$ARCH" = "i686" ]; then
-    SLKCFLAGS="-O2 -march=i686"
+  SLKCFLAGS="-O2 -march=i686"
 elif [ "$ARCH" = "s390" ]; then
-    SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-    SLKCFLAGS="-O2"
-    LIBDIR="$PREFIX/lib64"
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# --------------  Desempacota fontes  ---------------------
-# Desempacota fontes em PKG_SRC=$TMP/$PACKAGE-source
-PKG_SRC=$TMP/$PACKAGE-source
-rm -rf $PKG_SRC 2>/dev/null
-mkdir -p $PKG_SRC
-# Desempacota $SOURCE em $TMP/$PACKAGE-source
-tar xvf $SOURCE -C $PKG_SRC || exit $ERROR_TAR
-
-# Pega o nome do diretório das fontes independente de sua
-# estrutura (package-version...)
-PKG_DIR="$PKG_SRC/$( ls $PKG_SRC/ )"
-cd $PKG_DIR
-
-# --------------  Configura programa  ---------------------
-# Configura programa
-CFLAGS="$SLKCFLAGS" ./configure --prefix=$PREFIX --libdir=$LIBDIR $OPTCONF || exit $ERROR_CONF
-
-# ----------------  Compila programa  ---------------------
-make || exit $ERROR_MAKE
-
-# -------------  Diretório Temporário  --------------------
-# Cria diretório temporário para construção do pacote
-PKG=$TMP/$PACKAGE
-rm -rf $PKG
-mkdir -p $PKG
-
-# ---------------  Instala programa  ----------------------
-# Instala programa em diretório temporário
-[ ! -e /usr/share/texmf/tex/latex/html ] && REMOVE=1 || REMOVE=0
-make install DESTDIR=$PKG || exit $ERROR_INSTALL
-
-# ---------------  Algumas correções  ---------------------
-mkdir -p $PKG/usr/share/lib/latex2html
-mv $PKG/usr/lib/* $PKG/usr/share/lib/latex2html/
-rm -rf $PKG/usr/lib/
-# Instala estilos
-mkdir -p $PKG/usr/share/texmf/tex/latex/html
-cp $PKG_DIR/texinputs/* $PKG/usr/share/texmf/tex/latex/html/
-
-[ $REMOVE -eq 1 ] && rm -rf /usr/share/texmf/tex/latex/html
-
-# -----------------  Stripa código  -----------------------
-cd $PKG
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# ----------------  Cria slack-desc  ----------------------
-mkdir $PKG/install
-cat << EOF > install/slack-desc
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+ERROR_MANIFEST=43;
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://saftsack.fs.uni-bayreuth.de/~latex2ht/current/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+  MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+  for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+    MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+    MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+    MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+    if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+      MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+    else
+      MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+    fi
+
+    if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+      continue
+    fi
+
+    echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+    SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+    SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+    # Check source code size
+    if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+      echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+      exit $ERROR_MANIFEST
+    else
+      echo "Size match."
+    fi
+
+    # Check source code integrity
+    for ALGO in md5 sha1 sha256 sha512 rmd160; do
+      if [ $ALGO = "rmd160" ]; then
+        ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+      else
+        ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+      fi
+      ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+      ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+      if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+        echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+        exit $ERROR_MANIFEST
+      else
+        echo "$ALGO match."
+      fi
+    done
+
+  done
+
+else
+  exit $ERROR_MANIFEST
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches=" [[PATCH URLS]]
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  patch="`basename $patch`"
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$SRC_DIR/$patch" ]; then
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  fi
+done
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="BUGS Changes FAQ INSTALL LICENSE MANIFEST README TODO readme.html"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in.  You must make
-# exactly 11 lines for the formatting to be correct.  It's also customary to
-# leave one space after the ':'.
-
-          |----handy-ruler------------------------------------------------------|
-latex2html: latex2html.SlackBuild by Rudson R. Alves
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler---------------------------------------------------|
+latex2html: latex2html
 latex2html:
 latex2html: LATEX2HTML is a convertor written in Perl that converts LATEX
 latex2html: documents to HTML. This way e.g. scientific papers - primarily
@@ -152,18 +223,13 @@ latex2html: LATEX2HTML does also a good job in rapid web site deployment. These
 latex2html: pages are generated from a single LATEX source.
 latex2html:
 latex2html: It is designed to run on UNIX-like systems as well as Windows.
-EOF
-
-# -----------------  Documentações  -----------------------
-# Criar diretório de documentação
-PKG_DOC=$PKG/usr/doc/$PACKAGE-$VERSION
-mkdir -p $PKG_DOC
-cp $PKG_DIR/{BUGS,Changes,FAQ,INSTALL,LICENSE,MANIFEST,README,TODO,readme.hthtml} $PKG_DOC
+EODESC
 
-# ---------------  Constroi o pacote  ---------------------
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
-# -----------  Remove arquivos temporários  ---------------
-if [ "$CLEANUP" = "yes" ]; then
-    rm -rf $PKG $PKG_SRC
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
 fi