system/mdocml: Added (UNIX manpage compiler).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
LEVAI Daniel 2014-01-06 22:20:35 +07:00 committed by Erik Hanson
parent 727b8dca56
commit 705b1cbae7
5 changed files with 159 additions and 0 deletions

10
system/mdocml/README Normal file
View file

@ -0,0 +1,10 @@
mdocml is a suite of tools compiling mdoc, the roff macro package of choice for
BSD manual pages, and man, the predominant historical package for UNIX manuals.
It is small, ISO C, ISC-licensed, and quite fast.
The tool set features mandoc, based on the libmandoc validating compiler, to
format output for UNIX terminals (with support for wide-character locales),
XHTML, HTML, PostScript, and PDF. It also includes preconv, for recoding
multibyte manuals; demandoc, for emitting only text parts of manuals; mandocdb,
for indexing manuals; and apropos, whatis, and man.cgi (via catman) for
semantic search of manual content.

View file

@ -0,0 +1,100 @@
#!/bin/sh
# Copyright (c) 2014 LEVAI Daniel
# All rights reserved.
#
# * Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# * Redistributions of source code must retain the above copyright notice
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mdocml
VERSION=${VERSION:-1.12.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ];then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
patch -p0 <$CWD/patches/00-Makefile_Linux.diff
CFLAGS="$SLKCFLAGS "'-DOSNAME="\"Slackware Linux\""' make
make install DESTDIR=$PKG PREFIX=/usr
# don't conflict with stock groff
mv $PKG/usr/bin/preconv $PKG/usr/bin/preconv-mdocml
mv $PKG/usr/man/man1/preconv.1 $PKG/usr/man/man1/preconv-mdocml.1
mv $PKG/usr/man/man7/man.7 $PKG/usr/man/man7/man-mdocml.7
mv $PKG/usr/man/man7/mdoc.7 $PKG/usr/man/man7/mdoc-mdocml.7
mv $PKG/usr/man/man7/roff.7 $PKG/usr/man/man7/roff-mdocml.7
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a TODO NEWS $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

10
system/mdocml/mdocml.info Normal file
View file

@ -0,0 +1,10 @@
PRGNAM="mdocml"
VERSION="1.12.3"
HOMEPAGE="http://mdocml.bsd.lv/"
DOWNLOAD="http://mdocml.bsd.lv/snapshots/mdocml-1.12.3.tar.gz"
MD5SUM="5e805fc6b261b8374ce21d191721bf80"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="LEVAI Daniel"
EMAIL="leva@ecentrum.hu"

View file

@ -0,0 +1,20 @@
--- Makefile.orig 2014-01-06 15:05:19.565762653 +0100
+++ Makefile 2014-01-06 15:05:28.701192221 +0100
@@ -29,7 +29,7 @@ CFLAGS += -DUSE_WCHAR
# for example on Mac OS X.
STATIC = -static
# Linux requires -pthread to statically link with libdb.
-#STATIC += -pthread
+STATIC += -pthread
CFLAGS += -g -DHAVE_CONFIG_H
CFLAGS += -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings
@@ -54,7 +54,7 @@ INSTALL_MAN = $(INSTALL_DATA)
# However, if you don't have -ldb at all (or it's not native), then
# comment out apropos and mandocdb.
#
-#DBLIB = -ldb
+DBLIB = -ldb
DBBIN = apropos mandocdb man.cgi catman whatis
DBLN = llib-lapropos.ln llib-lmandocdb.ln llib-lman.cgi.ln llib-lcatman.ln

19
system/mdocml/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# 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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
mdocml: mdocml (UNIX manpage compiler)
mdocml:
mdocml: mdocml is a suite of tools compiling mdoc, the roff macro package of
mdocml: choice for BSD manual pages, and man, the predominant historical
mdocml: package for UNIX manuals.
mdocml: It is small, ISO C, ISC-licensed, and quite fast.
mdocml:
mdocml: Homepage: http://mdocml.bsd.lv/
mdocml:
mdocml:
mdocml: