system/mandoc: Fix 15.0 build.

Signed-off-by: B. Watson <yalhcru@gmail.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2022-02-09 01:16:25 -05:00 committed by Willy Sudiarto Raharjo
parent 83d6753bcb
commit eef9b4c6e9
No known key found for this signature in database
GPG key ID: 3F617144D7238786
3 changed files with 50 additions and 29 deletions

View file

@ -1,17 +1,21 @@
mandoc is a suite of tools compiling mandoc, 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.
mandoc (UNIX manpage viewer)
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.
mandoc is a suite of tools containing mandoc, 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.
There is an environment variable called REPLACE_MAN, that if set to a non-empty
string, will instruct the slackbuild script to replace the stock man package
(you should remove(pkg) it first, though).
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.
There is an environment variable called REPLACE_MAN, that if set to a
non-empty string, will instruct the slackbuild script to replace the
stock man package (you should remove(pkg) it first, though).
After installing, make sure to (re)create the mandoc specific "whatis"
database(s) in your manpath(s), eg.:

View file

@ -23,11 +23,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# 20220209 bkw: Modified by SlackBuilds.org, BUILD=2:
# - fix build for 15.0.
# - actually use SLKCFLAGS.
# - remove conflicting files when REPLACE_MAN isn't set.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mandoc
VERSION=${VERSION:-1.14.4}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -39,9 +44,6 @@ if [ -z "$ARCH" ]; then
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@ -80,22 +82,37 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
if [ -z "${REPLACE_MAN}" ];then
gzip -dc "${CWD}"/configure-noconflict.local.gz >./configure.local
if [ -z "${REPLACE_MAN}" ]; then
gzip -dc "${CWD}"/configure-noconflict.local.gz >./configure.local
else
gzip -dc "${CWD}"/configure-replace.local.gz >./configure.local
gzip -dc "${CWD}"/configure-replace.local.gz >./configure.local
fi
# 20220209 bkw: the *extremely* stupid way it tries to extract
# the default value of CC from make, does not work... and is
# hardcoded (can't override with environment).
sed -i '/^CC/s,=.*,=gcc,' configure
./configure
CFLAGS=$SLKCFLAGS \
make
make install \
DESTDIR=$PKG \
PREFIX=/usr \
LIBDIR=/usr/lib${LIBDIRSUFFIX}
make CFLAGS="-Wl,-s -fcommon $SLKCFLAGS"
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
make install \
DESTDIR=$PKG \
PREFIX=/usr \
LIBDIR=/usr/lib${LIBDIRSUFFIX}
# 20220209 bkw: these would conflict with Slackware's man-db
# and groff packages.
if [ -z "${REPLACE_MAN}" ]; then
rm -f \
$PKG/usr/bin/soelim \
$PKG/usr/man/man1/soelim.1 \
$PKG/usr/man/man7/tbl.7 \
$PKG/usr/man/man7/eqn.7 \
$PKG/usr/man/man7/man.7 \
$PKG/usr/man/man7/roff.7
fi
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

View file

@ -6,9 +6,9 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
mandoc: mandoc (UNIX manpage compiler)
mandoc: mandoc (UNIX manpage viewer)
mandoc:
mandoc: mandoc is a suite of tools compiling mdoc, the roff macro package of
mandoc: mandoc is a suite of tools containing mdoc, the roff macro package of
mandoc: choice for BSD manual pages, and man, the predominant historical
mandoc: package for UNIX manuals.
mandoc: It is small, ISO C, ISC-licensed, and quite fast.