summaryrefslogtreecommitdiffstats
path: root/libraries/lapack/lapack.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/lapack/lapack.SlackBuild')
-rw-r--r--libraries/lapack/lapack.SlackBuild50
1 files changed, 33 insertions, 17 deletions
diff --git a/libraries/lapack/lapack.SlackBuild b/libraries/lapack/lapack.SlackBuild
index 2c452e1ec4..1ec4de8555 100644
--- a/libraries/lapack/lapack.SlackBuild
+++ b/libraries/lapack/lapack.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for LAPACK
-# Copyright 2014-2022 Kyle Guinn <elyk03@gmail.com>
+# Copyright 2014-2024 Kyle Guinn <elyk03@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=lapack
SRCNAM=lapack
-VERSION=${VERSION:-3.10.1}
+VERSION=${VERSION:-3.12.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -45,7 +45,7 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
fi
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM-$VERSION
+PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
DOCS="LICENSE README.md DOCS/lapack.png DOCS/lawn81.tex DOCS/org2.ps"
@@ -121,24 +121,40 @@ if [ "${STATIC:-no}" != "no" ]; then
cd ..
fi
-# Generate man pages. Also requires some fix-ups:
+# Generate man pages. Since 3.12.0 there is no longer a Doxyfile
+# intended for man page creation (only html), so attempt to recreate it.
+# Note that CMake can generate a Doxyfile, but it may differ from the
+# supplied one, and is less convenient to edit.
# 0. Join all escaped newlines so the entire value is replaced.
+# 1. Turn off GENERATE_HTML.
+# 2. Turn on GENERATE_MAN.
+# 3. Turn off MAN_LINKS, see below.
+# 4. Turn off HAVE_DOT, disable all graph generation.
+# 5. Turn off CREATE_SUBDIRS, may interfere with output file locations.
+# 6. Turn off REPEAT_BRIEF's repetitive comments.
+# 7. Turn off FULL_PATH_NAMES, omit source code paths from man pages.
+# 8. Turn off INLINE_SOURCES, don't copy the code to the man pages.
+sed -i \
+ -e ':a;/\\$/N;s/\s*\\\n\s*/ /;ta' \
+ -e 's/^\(GENERATE_HTML *=\).*/\1 NO/' \
+ -e 's/^\(GENERATE_MAN *=\).*/\1 YES/' \
+ -e 's/^\(MAN_LINKS *=\).*/\1 NO/' \
+ -e 's/^\(HAVE_DOT *=\).*/\1 NO/' \
+ -e 's/^\(CREATE_SUBDIRS *=\).*/\1 NO/' \
+ -e 's/^\(REPEAT_BRIEF *=\).*/\1 NO/' \
+ -e 's/^\(FULL_PATH_NAMES *=\).*/\1 NO/' \
+ -e 's/^\(INLINE_SOURCES *=\).*/\1 NO/' \
+ DOCS/Doxyfile
+# Limit ourselves to the LAPACK functions:
# 1. Only generate on the LAPACK sources.
-# 2. Turn off recursion. Only operate on directories in INPUT.
-# 3. Turn off EXCLUDE to not conflict with INPUT.
-# 4. Turn off some repetitive comments.
-# 5. Turn off MAN_LINKS. See below.
-# 6. Generate on .F and .f90 files.
+# 2. Turn off RECURSIVE, only operate on directories in INPUT.
+# 3. Turn off EXCLUDE, to not conflict with INPUT.
sed -i \
- -e ':a;/\\$/N;s/\\\n//;ta' \
-e 's/^\(INPUT *=\).*/\1 SRC SRC\/DEPRECATED/' \
-e 's/^\(RECURSIVE *=\).*/\1 NO/' \
-e 's/^\(EXCLUDE *=\).*/\1/' \
- -e 's/^\(REPEAT_BRIEF *=\).*/\1 NO/' \
- -e 's/^\(MAN_LINKS *=\).*/\1 NO/' \
- -e 's/^\(FILE_PATTERNS *=.*\)/\1 *.F *.f90/' \
- DOCS/Doxyfile_man
-doxygen DOCS/Doxyfile_man
+ DOCS/Doxyfile
+doxygen DOCS/Doxyfile
# Doxygen generates manpages on a file-by-file basis (note the .f extensions).
# We want a page for each function, not each file. MAN_LINKS creates a page
# for each function that just sources the page for the corresponding file.
@@ -169,8 +185,8 @@ rm $PKG/usr/man/man3/xerbla_array.3.gz
# select few. Some are duplicated by BLAS (lsame.f), are unused (slamchf77.f,
# dlamchf77.f), or are test programs.
rm -rf DOCS/man
-sed -i 's/^\(INPUT *=\).*/\1 INSTALL/' DOCS/Doxyfile_man
-doxygen DOCS/Doxyfile_man
+sed -i 's/^\(INPUT *=\).*/\1 INSTALL/' DOCS/Doxyfile
+doxygen DOCS/Doxyfile
gzip -9c DOCS/man/man3/ilaver.f.3 > $PKG/usr/man/man3/ilaver.3.gz
gzip -9c DOCS/man/man3/slamch.f.3 > $PKG/usr/man/man3/slamch.3.gz
gzip -9c DOCS/man/man3/dlamch.f.3 > $PKG/usr/man/man3/dlamch.3.gz