#!/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_VERS=1.4.1 clamav_installed_fn () { pkg-config --atleast-version=$clamav_VERS 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-$clamav_VERS.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-$clamav_VERS.tar.gz cd clamav-$clamav_VERS/ RUSTC_MIN_REQd=$(grep rust-version .cargo/vendor/home/Cargo.toml | grep -o \"1\..*) # eg "1.70.0" RUSTC_MIN_REQd2=$(echo $RUSTC_MIN_REQd | grep -o "1\..."|sed 's|\.||') # eg 170 # [[ ! $(rustc --version | grep -o "1\..."|sed 's|\.||') -ge $RUSTC_MIN_REQd2 ]] && { echo -e "\033[39;1m ## rust version $RUSTC_MIN_REQd or greater is required to build clamav-$clamav_VERS ## \033[0m" ; exit 1 ; } ## set RPATH relative to ORIGIN always sed -i 's|set(CMAKE_INSTALL_RPATH.*$|set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}")|' CMakeLists.txt [[ -s /usr/lib$LIBDIRSUFFIX/libmilter.a ]] && MILTER="ON" [[ $GCC_VIS == 0 ]] && unset GCC_VIS # needs to be null or unset for parameter expansion for CMAKE_CXX_FLAGS mkdir build cd build/ # LIBDIRSUFFIX not required - any suffix is included in CMAKE_INSTALL_LIBDIR which is set by GNUInstallDirs 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 \ -DMAINTAINER_MODE="OFF" \ -DENABLE_APP="ON" \ -DENABLE_MILTER=${MILTER:-"OFF"} \ -DENABLE_CLAMONACC="ON" \ -DENABLE_EXAMPLES="OFF" \ -DENABLE_TESTS="ON" \ -DENABLE_MAN_PAGES="ON" \ -DENABLE_DOXYGEN="OFF" \ -DENABLE_UNRAR="ON" \ -DENABLE_SYSTEMD="OFF" \ -DENABLE_JSON_SHARED="ON" \ -DCMAKE_INSTALL_MANDIR=/usr/local/man \ -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-$clamav_VERS-$ARCH-$BUILD.txz upgradepkg --install-new --reinstall $OUTPUT/clamav-$clamav_VERS-$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 building klamav Download: \033[39;1m ( cd $BUILD_TDE_ROOT/src wget https://www.clamav.net/downloads/production/clamav-$clamav_VERS.tar.gz ) \033[0m and re-run ./BUILD-TDE.sh, choosing Re-use .. ############ " ; 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:-} -C $TMPVARS/CMAKE_CACHE ${CMAKE_OPTS:-} \ -DWITH_EMBEDDED_SQLITE=${EMB_SQL:-"OFF"} \ -DBUILD_KLAMMAIL="ON" 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