#!/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 () { ldconfig -p|grep libclamav 1>/dev/null ;} ## 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 -e "\n building clamav \n" 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 build ## install html documentation sed -i 's|OPTIONAL||' docs/CMakeLists.txt sed -i '100s|endif()||' docs/CMakeLists.txt sed -i '96iendif()' docs/CMakeLists.txt mkdir build/docs cp -a docs/html build/docs/ cd build/ # LIBDIRSUFFIX not required - any suffix is included in CMAKE_INSTALL_LIBDIR cmake ${G_NINJA:-} \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_SYSTEMD_DEFAULT="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 ) echo -e "\n returning to building klamav \n" clamav_installed_fn || { echo -e "\033[39;1m"" ## installation of clamav failed ##\n""\033[0m" ; exit 1 ; } } || { ## .. but if the source archive isn't in 'src', display message .. echo -e "\n ############ \n\n\033[39;1m clamav is not installed and is required for this build \n Download \033[0m [including user-agent, otherwise '403 Forbidden' is returned]: \n \033[39;1m wget -O $BUILD_TDE_ROOT/src/clamav-0.103.3.tar.gz --user-agent='Mozilla' https://www.clamav.net/downloads/production/clamav-0.103.3.tar.gz \033[0m \n and re-run this script .. \n\n ############ \n" ; 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