aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev/tex/latex2html/Manifest4
-rw-r--r--dev/tex/latex2html/latex2html-2008.diff15
-rwxr-xr-xdev/tex/latex2html/latex2html.SlackBuild328
3 files changed, 216 insertions, 131 deletions
diff --git a/dev/tex/latex2html/Manifest b/dev/tex/latex2html/Manifest
new file mode 100644
index 00000000..94435053
--- /dev/null
+++ b/dev/tex/latex2html/Manifest
@@ -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
index 00000000..2d07beff
--- /dev/null
+++ b/dev/tex/latex2html/latex2html-2008.diff
@@ -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 _)) {
diff --git a/dev/tex/latex2html/latex2html.SlackBuild b/dev/tex/latex2html/latex2html.SlackBuild
index 3d3cb455..df6f6483 100755
--- a/dev/tex/latex2html/latex2html.SlackBuild
+++ b/dev/tex/latex2html/latex2html.SlackBuild
@@ -1,148 +1,219 @@
#!/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