You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
198 lines
6.3 KiB
198 lines
6.3 KiB
#!/bin/sh
|
|
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
|
|
# Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, Netherlands
|
|
# Copyright 2015-2017 Thorn Inurcide
|
|
# Copyright 2015-2017 tde-slackbuilds project on GitHub
|
|
# All rights reserved.
|
|
#
|
|
# Permission to use, copy, modify, and distribute this software for
|
|
# any purpose with or without fee is hereby granted, provided that
|
|
# the above copyright notice and this permission notice appear in all
|
|
# copies.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
|
# CONTRIBUTORS 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=klamav
|
|
VERSION=$TDEVERSION
|
|
BUILD=${BUILD:-1}
|
|
TAG=${TAG:-_tde}
|
|
|
|
source ../../get-source.sh
|
|
|
|
## klamav needs clamav as a build time requirement
|
|
[[ $(cat $TMPVARS/PRE_DOWNLOAD) != yes ]] && {
|
|
# ### clamav - start
|
|
clamav_installed_fn () { pkg-config libclamav ;}
|
|
## If it's already installed, go to end
|
|
clamav_installed_fn || {
|
|
## otherwise, if the source archive is in 'src' ..
|
|
[[ -s $BUILD_TDE_ROOT/src/clamav-0.103.3.tar.gz ]] && {
|
|
## .. build, package, and install it
|
|
(
|
|
echo "
|
|
building clamav
|
|
"
|
|
|
|
getsource_fn # to set SLKCFLAGS
|
|
|
|
cd $TMP_BUILD
|
|
rm -rf *clamav*
|
|
tar xf $BUILD_TDE_ROOT/src/clamav-0.103.3.tar.gz
|
|
|
|
cd clamav-0.103.3/
|
|
|
|
## rpaths are to /.../lib & GNUInstallDirs determines the correct lib directory == CMAKE_INSTALL_LIBDIR
|
|
## -> delete the existing GNUInstallDirs which is too late in CMakeLists.txt to apply here for rpaths
|
|
sed -i '/GNUInstallDirs/d' CMakeLists.txt
|
|
## -> insert include(GNUInstallDirs) to set CMAKE_INSTALL_LIBDIR
|
|
sed -i '108iinclude(GNUInstallDirs)' CMakeLists.txt
|
|
## -> set RPATH relative to ORIGIN
|
|
sed -i 's|set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")|set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}")|' CMakeLists.txt
|
|
|
|
## install man pages as per Slackware default
|
|
sed -i 's|/share/man/|/man/|' docs/CMakeLists.txt
|
|
|
|
mkdir -p build/docs
|
|
|
|
## install html documentation
|
|
sed -i 's|OPTIONAL||' docs/CMakeLists.txt
|
|
sed -i '100s|endif()||' docs/CMakeLists.txt
|
|
sed -i '96iendif()' docs/CMakeLists.txt
|
|
cp -a docs/html build/docs/
|
|
|
|
## clang build error:
|
|
#/tmp/build/clamav-0.103.3/clamonacc/clamonacc.c:335:96: error: use of undeclared identifier 'O_LARGEFILE'
|
|
# ctx->fan_fd = fanotify_init(FAN_CLASS_CONTENT | FAN_UNLIMITED_QUEUE | FAN_UNLIMITED_MARKS, O_LARGEFILE | O_RDONLY);
|
|
# ^
|
|
[[ $COMPILER == clang ]] && \
|
|
echo '
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DO_LARGEFILE")' >> clamonacc/CMakeLists.txt
|
|
|
|
[[ -s /usr/lib64/libmilter.a ]] && MILTER="ON"
|
|
|
|
[[ $GCC_VIS == 0 ]] && unset GCC_VIS # needs to be unset for parameter expansion for CMAKE_CXX_FLAGS
|
|
cd build/
|
|
# LIBDIRSUFFIX not required - any suffix is included in CMAKE_INSTALL_LIBDIR
|
|
cmake ${G_NINJA:-} \
|
|
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
|
|
-DCMAKE_CXX_FLAGS="$SLKCFLAGS ${GCC_VIS:+-fvisibility=hidden -fvisibility-inlines-hidden}" \
|
|
-DCMAKE_C_COMPILER=$COMPILER \
|
|
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DENABLE_SYSTEMD="OFF" \
|
|
-DENABLE_MILTER=${MILTER:-"OFF"} \
|
|
-Wno-dev \
|
|
..
|
|
|
|
PKG=$TMP_BUILD/package-clamav
|
|
make_fn
|
|
|
|
INSTALL_TDE=/usr/local
|
|
mangzip_fn
|
|
|
|
strip_fn
|
|
|
|
cd $TMP_BUILD/package-clamav
|
|
makepkg -l y -c n $OUTPUT/clamav-0.103.3-$ARCH-$BUILD.txz
|
|
installpkg $OUTPUT/clamav-0.103.3-$ARCH-$BUILD.txz
|
|
)
|
|
clamav_installed_fn && echo "
|
|
now building klamav" || { echo -e "\033[39;1m
|
|
## installation of clamav failed ##
|
|
\033[0m" ; exit 1 ; }
|
|
} || { ## .. but if the source archive isn't in 'src', display message ..
|
|
echo -e "
|
|
############
|
|
|
|
clamav is required for klamav
|
|
It's not installed nor is the source archive in the 'src' directory
|
|
|
|
Download [including user-agent, otherwise '403 Forbidden' is returned]:
|
|
\033[39;1m
|
|
( cd $BUILD_TDE_ROOT/src
|
|
wget --user-agent='Mozilla' https://www.clamav.net/downloads/production/clamav-0.103.3.tar.gz )
|
|
\033[0m
|
|
and re-run this script ..
|
|
|
|
############
|
|
" ; exit 1 ; }
|
|
}
|
|
# ### clamav - end
|
|
}
|
|
|
|
getsource_fn
|
|
|
|
untar_fn
|
|
|
|
## for slack-desc
|
|
langs="en";for Lang in $I18N;do [[ -s translations/messages/$Lang.po ]] && langs="$langs $Lang";done
|
|
ldocs="en";for Lang in $I18N;do [[ -d doc/$Lang ]] && ldocs="$ldocs $Lang";done
|
|
|
|
listdocs_fn
|
|
|
|
chown_fn
|
|
|
|
cd_builddir_fn
|
|
|
|
! pkg-config sqlite3 && EMB_SQL="ON"
|
|
|
|
cmake ${G_NINJA:-} \
|
|
-DCMAKE_C_FLAGS="$SLKRCFLAGS" \
|
|
-DCMAKE_CXX_FLAGS="$SLKRCFLAGS" \
|
|
-DCMAKE_C_COMPILER=$COMPILER \
|
|
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \
|
|
-DLIB_SUFFIX=$LIBDIRSUFFIX \
|
|
-DWITH_EMBEDDED_SQLITE=${EMB_SQL:-"OFF"} \
|
|
-DWITH_GCC_VISIBILITY=${GCC_VIS:-} \
|
|
-DBUILD_DOC="ON" \
|
|
-DBUILD_KLAMMAIL="ON" \
|
|
-DBUILD_TRANSLATIONS="ON" \
|
|
-Wno-dev \
|
|
..
|
|
|
|
make_fn
|
|
|
|
installdocs_fn
|
|
|
|
strip_fn
|
|
|
|
mkdir_install_fn
|
|
|
|
doinst_sh_fn
|
|
|
|
echo "
|
|
# 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------------------------------------------------------|
|
|
$PRGNAM: KlamAV is a multifunctional graphical front-end for the ClamAV suite.
|
|
$PRGNAM: It offers features such as scan scheduling, quarantine management,
|
|
$PRGNAM: e-mail scanning, on-access scanning and a virus research tool.
|
|
$PRGNAM:
|
|
$PRGNAM: With language support for:
|
|
$PRGNAM: $langs
|
|
$PRGNAM:
|
|
$PRGNAM: With help documentation for:
|
|
$PRGNAM: $ldocs
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
" > $PKG/install/slack-desc
|
|
|
|
makepkg_fn
|