Index: security/clamav/Makefile =================================================================== diff -u -N -rbf1766375125d2d6084d8ee50e6a81625b6c6a9b -r0547f2fe581b4aaceef00c03e4f06ae9f1d022f9 --- security/clamav/Makefile (.../Makefile) (revision bf1766375125d2d6084d8ee50e6a81625b6c6a9b) +++ security/clamav/Makefile (.../Makefile) (revision 0547f2fe581b4aaceef00c03e4f06ae9f1d022f9) @@ -1,43 +1,47 @@ # $MidnightBSD$ PORTNAME= clamav -PORTVERSION= 0.99.4 +PORTVERSION= 0.100.1 CATEGORIES= security MASTER_SITES= http://www.clamav.net/downloads/production/ MAINTAINER= ports@MidnightBSD.org COMMENT= Command line virus scanner written entirely in C LICENSE= gpl2 +LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libltdl.so:${PORTSDIR}/devel/libltdl \ - libcurl.so:${PORTSDIR}/ftp/curl +LIB_DEPENDS= libltdl.so:devel/libltdl \ + libcurl.so:ftp/curl -OPTIONS_DEFINE= ARC ARJ LHA UNZOO UNRAR LLVM TESTS MILTER LDAP ICONV STDERR \ - EXPERIMENTAL DOCS IPV6 DMG_XAR +OPTIONS_DEFINE= ARC ARJ LHA UNZOO UNRAR TESTS MILTER LDAP ICONV STDERR \ + EXPERIMENTAL DOCS IPV6 DMG_XAR JSON PCRE ARC_DESC= Enable arch archives support ARJ_DESC= Enable arj archives support LHA_DESC= Enable lha archives support UNZOO_DESC= Enable zoo archives support -UNRAR_DESC= Enable rar archives support -LLVM_DESC= Enable JIT Bytecode compiler (bundled LLVM) TESTS_DESC= Run compile-time tests (req. python) MILTER_DESC= Compile the milter interface STDERR_DESC= Print logs to stderr instead of stdout EXPERIMENTAL_DESC= Build experimental code DMG_XAR_DESC= Enable DMG and XAR archives support -OPTIONS_DEFAULT= ARC ARJ LHA UNZOO UNRAR LLVM DOCS IPV6 DMG_XAR +OPTIONS_DEFAULT= ARC ARJ UNZOO UNRAR DMG_XAR \ + JSON PCRE -ARC_RUN_DEPENDS= arc:${PORTSDIR}/archivers/arc -ARJ_RUN_DEPENDS= arj:${PORTSDIR}/archivers/arj -LHA_RUN_DEPENDS= lha:${PORTSDIR}/archivers/lha -UNZOO_RUN_DEPENDS= unzoo:${PORTSDIR}/archivers/unzoo +ARC_RUN_DEPENDS= arc:archivers/arc +ARJ_RUN_DEPENDS= arj:archivers/arj +LHA_RUN_DEPENDS= lha:archivers/lha +UNZOO_RUN_DEPENDS= unzoo:archivers/unzoo +JSON_LIB_DEPENDS= libjson-c.so:devel/json-c +PCRE_LIB_DEPENDS= libpcre.so:devel/pcre UNRAR_CONFIGURE_ENABLE= unrar MILTER_CONFIGURE_ENABLE=milter TESTS_CONFIGURE_ENABLE= check -TESTS_BUILD_DEPENDS= ${LOCALBASE}/include/check.h:${PORTSDIR}/devel/libcheck +JSON_CONFIGURE_WITH= libjson +PCRE_CONFIGURE_WITH= pcre +TESTS_BUILD_DEPENDS= ${LOCALBASE}/include/check.h:devel/check ICONV_CONFIGURE_ON= --with-iconv ICONV_CONFIGURE_OFF= --without-iconv ICONV_USES= iconv @@ -46,9 +50,9 @@ DMG_XAR_CONFIGURE_ENABLE= xml DMG_XAR_USE= GNOME=libxml2 +USES= cpe gmake libtool ncurses pathfix ssl GNU_CONFIGURE= yes USE_LDCONFIG= yes -USES= cpe gmake libtool ncurses INSTALL_TARGET= install-strip USE_RC_SUBR= clamav-clamd clamav-freshclam @@ -74,6 +78,7 @@ --enable-readdir_r \ --enable-gethostbyname_r \ --disable-dependency-tracking \ + --disable-zlib-vcheck \ --enable-clamdtop CPPFLAGS+= -I${LOCALBASE}/include @@ -87,6 +92,7 @@ CLAMAVGROUP?= clamav CLAMAV_CLAMD_SOCKET?= ${RUNDIR}/clamd.sock +CLAMAV_CLAMD_PIDFILE?= ${RUNDIR}/clamd.pid CLAMAV_MILTER_SOCKET?= ${RUNDIR}/clmilter.sock SUB_FILES= pkg-deinstall @@ -98,6 +104,7 @@ CLAMAVUSER=${CLAMAVUSER} \ CLAMAVGROUP=${CLAMAVGROUP} \ CLAMAV_CLAMD_SOCKET=${CLAMAV_CLAMD_SOCKET} \ + CLAMAV_CLAMD_PIDFILE=${CLAMAV_CLAMD_PIDFILE} \ CLAMAV_MILTER_SOCKET=${CLAMAV_MILTER_SOCKET} SED_CONF= -E -e 's|^\#?(Example)$$|\#\1|' \ @@ -127,14 +134,9 @@ GROUPS= clamav mail .endif -.if ${PORT_OPTIONS:MLLVM} && ( ${ARCH} == "i386" || ${ARCH} == "amd64" ) -CONFIGURE_ARGS+=--enable-llvm . if ${PORT_OPTIONS:MTESTS} USES+= python:build . endif -.else -CONFIGURE_ARGS+=--disable-llvm -.endif .if ${PORT_OPTIONS:MMILTER} USE_RC_SUBR+= clamav-milter @@ -144,7 +146,7 @@ . endif . if !exists(/usr/lib/libmilter.a) || exists(${LOCALBASE}/lib/libmilter.a) -BUILD_DEPENDS+= ${LOCALBASE}/lib/libmilter.a:${PORTSDIR}/mail/sendmail +BUILD_DEPENDS+= ${LOCALBASE}/lib/libmilter.a:mail/sendmail CONFIGURE_ARGS+=--with-sendmail=${LOCALBASE}/sbin/sendmail LDFLAGS+= -L${LOCALBASE}/lib . else @@ -166,16 +168,14 @@ @${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lthr|g' \ -e 's|LC_REVISION=22|LC_REVISION=24|' \ ${WRKSRC}/${CONFIGURE_SCRIPT} - @${REINPLACE_CMD} -e 's,^\(pkgconfigdir = \).*$$,\1$$\(prefix\)/libdata/pkgconfig,g' \ - ${WRKSRC}/Makefile.in @${REINPLACE_CMD} ${SED_CONF} \ ${WRKSRC}/etc/clamd.conf.sample \ ${WRKSRC}/etc/freshclam.conf.sample \ ${WRKSRC}/etc/clamav-milter.conf.sample @${REINPLACE_CMD} -e 's|0x100000000|0x100000000ULL|g' \ ${WRKSRC}/libclamunrar/unrar.c -.if ${PORT_OPTIONS:MLLVM} && ${PORT_OPTIONS:MTESTS} +.if ${PORT_OPTIONS:MTESTS} pre-configure: @if ! ${PYTHON_CMD} -c "import thread" >/dev/null 2>&1; then \ ${ECHO_MSG} ""; \ @@ -196,12 +196,11 @@ .endif post-install: - ${INSTALL_DATA} ${WRKSRC}/clamav-config.h ${PREFIX}/include - @${MKDIR} ${DOCSDIR}/html \ - ${DBDIR} \ - ${LOGDIR} \ - ${RUNDIR} - ${INSTALL_DATA} ${WRKSRC}/NEWS ${WRKSRC}/ChangeLog ${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/docs/html/* ${DOCSDIR}/html + ${INSTALL_DATA} ${WRKSRC}/clamav-config.h ${STAGEDIR}${PREFIX}/include + @${MKDIR} ${STAGEDIR}${DOCSDIR}/html \ + ${STAGEDIR}${DBDIR} \ + ${STAGEDIR}${LOGDIR} \ + ${STAGEDIR}${RUNDIR} + ${INSTALL_DATA} ${WRKSRC}/docs/html/* ${STAGEDIR}${DOCSDIR}/html .include Index: security/clamav/distinfo =================================================================== diff -u -N -rbf1766375125d2d6084d8ee50e6a81625b6c6a9b -r0547f2fe581b4aaceef00c03e4f06ae9f1d022f9 --- security/clamav/distinfo (.../distinfo) (revision bf1766375125d2d6084d8ee50e6a81625b6c6a9b) +++ security/clamav/distinfo (.../distinfo) (revision 0547f2fe581b4aaceef00c03e4f06ae9f1d022f9) @@ -1,3 +1,3 @@ -TIMESTAMP = 1522614773 -SHA256 (clamav-0.99.4.tar.gz) = d72ac3273bde8d2e5e28ec9978373ee3ab4529fd868bc3fc4d2d2671228f2461 -SIZE (clamav-0.99.4.tar.gz) = 16083015 +TIMESTAMP = 1531160081 +SHA256 (clamav-0.100.1.tar.gz) = 84e026655152247de7237184ee13003701c40be030dd68e0316111049f58a59f +SIZE (clamav-0.100.1.tar.gz) = 16154415 Index: security/clamav/files/clamav-clamd.in =================================================================== diff -u -N -r2b312a68a5d9c331a921f8eae3572745ef6fd95a -r0547f2fe581b4aaceef00c03e4f06ae9f1d022f9 --- security/clamav/files/clamav-clamd.in (.../clamav-clamd.in) (revision 2b312a68a5d9c331a921f8eae3572745ef6fd95a) +++ security/clamav/files/clamav-clamd.in (.../clamav-clamd.in) (revision 0547f2fe581b4aaceef00c03e4f06ae9f1d022f9) @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: head/security/clamav/files/clamav-clamd.in 353008 2014-05-05 14:38:17Z feld $ +# $FreeBSD: head/security/clamav/files/clamav-clamd.in 457649 2017-12-30 22:25:18Z ler $ # # PROVIDE: clamav_clamd @@ -27,6 +27,8 @@ : ${clamav_clamd_enable:=NO} : ${clamav_clamd_socket="%%CLAMAV_CLAMD_SOCKET%%"} +: ${clamav_clamd_pidfile="%%CLAMAV_CLAMD_PIDFILE%%"} +: ${clamav_clamd_user="%%CLAMAVUSER%%"} command=%%PREFIX%%/sbin/clamd required_dirs=%%DBDIR%% @@ -39,6 +41,10 @@ #clamav .93 won't start without a valid main.c[vl]d file clamav_clamd_precmd() { + local rundir=${clamav_clamd_pidfile%/*} + if [ ! -d $rundir ] ; then + install -d -m 0755 -o ${clamav_clamd_user} -g ${clamav_clamd_user} $rundir + fi if [ ! -f %%DBDIR%%/main.cvd -a ! -f %%DBDIR%%/main.cld ];then echo "Missing %%DBDIR%%/*.cvd or *.cld files. You must run freshclam first" exit 1 Index: security/clamav/files/clamav-freshclam.in =================================================================== diff -u -N -r2b312a68a5d9c331a921f8eae3572745ef6fd95a -r0547f2fe581b4aaceef00c03e4f06ae9f1d022f9 --- security/clamav/files/clamav-freshclam.in (.../clamav-freshclam.in) (revision 2b312a68a5d9c331a921f8eae3572745ef6fd95a) +++ security/clamav/files/clamav-freshclam.in (.../clamav-freshclam.in) (revision 0547f2fe581b4aaceef00c03e4f06ae9f1d022f9) @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: head/security/clamav/files/clamav-freshclam.in 354141 2014-05-15 15:40:25Z garga $ +# $FreeBSD: head/security/clamav/files/clamav-freshclam.in 457649 2017-12-30 22:25:18Z ler $ # # PROVIDE: clamav_freshclam @@ -22,14 +22,27 @@ name=clamav_freshclam rcvar=clamav_freshclam_enable +# read settings, set default values load_rc_config ${name} : ${clamav_freshclam_enable:=NO} +: ${clamav_freshclam_pidfile=%%RUNDIR%%/freshclam.pid} +: ${clamav_freshclam_user=%%CLAMAVUSER%%} command=%%PREFIX%%/bin/freshclam -pidfile=%%RUNDIR%%/freshclam.pid +pidfile=${clamav_freshclam_pidfile} command_args="--daemon -p ${pidfile}" required_dirs=%%DBDIR%% required_files=%%PREFIX%%/etc/freshclam.conf +start_precmd=clamav_freshclam_precmd + +clamav_freshclam_precmd() +{ + local rundir=${clamav_freshclam_pidfile%/*} + if [ ! -d $rundir ] ; then + install -d -m 0755 -o ${clamav_freshclam_user} -g ${clamav_freshclam_user} $rundir + fi +} + run_rc_command "$1" Index: security/clamav/files/patch-configure =================================================================== diff -u -N --- security/clamav/files/patch-configure (revision 13039fa2431aa9861db3f1abae178f686d5a96d2) +++ security/clamav/files/patch-configure (revision 0) @@ -1,90 +0,0 @@ ---- configure.orig 2016-04-22 12:19:50.000000000 -0400 -+++ configure 2016-05-19 08:01:16.000000000 -0400 -@@ -5845,7 +5845,7 @@ - lt_cv_sys_max_cmd_len=8192; - ;; - -- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) -+ bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` -@@ -6256,7 +6256,7 @@ - lt_cv_deplibs_check_method=pass_all - ;; - --freebsd* | dragonfly*) -+freebsd* | dragonfly* | midnightbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) -@@ -10501,7 +10501,7 @@ - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. -- freebsd* | dragonfly*) -+ freebsd* | dragonfly* | midnightbsd*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes -@@ -11546,7 +11546,7 @@ - shlibpath_var=LD_LIBRARY_PATH - ;; - --freebsd* | dragonfly*) -+freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then -@@ -11559,13 +11559,13 @@ - fi - version_type=freebsd-$objformat - case $version_type in -- freebsd-elf*) -+ freebsd-elf* | midnightbsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; -- freebsd-*) -+ freebsd-* | midnightbsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; -@@ -13396,7 +13396,7 @@ - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; -- freebsd* | dragonfly*) -+ freebsd* | dragonfly* | midnightbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) -@@ -20756,7 +20756,7 @@ - $as_echo "#define C_BSD 1" >>confdefs.h - - ;; --freebsd*) -+freebsd* | midnightbsd*) - if test "$have_pthreads" = "yes"; then - THREAD_LIBS="-lthr" - TH_SAFE="-thread-safe" -@@ -20934,7 +20934,7 @@ - if test "$have_milter" = "yes"; then - - save_LIBS="$LIBS" -- CLAMAV_MILTER_LIBS="$CLAMAV_MILTER_LIBS -lpthread" -+ CLAMAV_MILTER_LIBS="$CLAMAV_MILTER_LIBS $THREAD_LIBS" - if test -d /usr/lib/libmilter ; then - CLAMAV_MILTER_LIBS="$CLAMAV_MILTER_LIBS -L/usr/lib/libmilter" - fi -@@ -24065,7 +24065,7 @@ - - - case "$host_os" in --freebsd*) -+freebsd* | midnightbsd*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kinfo_getvmmap in -lutil" >&5 - $as_echo_n "checking for kinfo_getvmmap in -lutil... " >&6; } - if ${ac_cv_lib_util_kinfo_getvmmap+:} false; then : Index: security/clamav/files/patch-libclamav-c++-llvm =================================================================== diff -u -N --- security/clamav/files/patch-libclamav-c++-llvm (revision 4d932a71e565a6bba1823c35b6e59f2e0103a1d9) +++ security/clamav/files/patch-libclamav-c++-llvm (revision 0) @@ -1,62 +0,0 @@ ---- libclamav/c++/llvm/include/llvm/Support/CFG.h.orig -+++ libclamav/c++/llvm/include/llvm/Support/CFG.h -@@ -27,8 +27,9 @@ - - template // Predecessor Iterator - class PredIterator : public std::iterator { -- typedef std::iterator super; -+ Ptr, ptrdiff_t, Ptr*, Ptr*> { -+ typedef std::iterator super; - typedef PredIterator Self; - USE_iterator It; - -@@ -40,6 +41,7 @@ - - public: - typedef typename super::pointer pointer; -+ typedef typename super::reference reference; - - PredIterator() {} - explicit inline PredIterator(Ptr *bb) : It(bb->use_begin()) { -@@ -50,7 +52,7 @@ - inline bool operator==(const Self& x) const { return It == x.It; } - inline bool operator!=(const Self& x) const { return !operator==(x); } - -- inline pointer operator*() const { -+ inline reference operator*() const { - assert(!It.atEnd() && "pred_iterator out of range!"); - return cast(*It)->getParent(); - } -@@ -100,10 +102,11 @@ - - template // Successor Iterator - class SuccIterator : public std::iterator { -+ BB_, ptrdiff_t, BB_*, BB_*> { - const Term_ Term; - unsigned idx; -- typedef std::iterator super; -+ typedef std::iterator super; - typedef SuccIterator Self; - - inline bool index_is_valid(int idx) { -@@ -112,6 +115,7 @@ - - public: - typedef typename super::pointer pointer; -+ typedef typename super::reference reference; - // TODO: This can be random access iterator, only operator[] missing. - - explicit inline SuccIterator(Term_ T) : Term(T), idx(0) {// begin iterator -@@ -142,7 +146,7 @@ - inline bool operator==(const Self& x) const { return idx == x.idx; } - inline bool operator!=(const Self& x) const { return !operator==(x); } - -- inline pointer operator*() const { return Term->getSuccessor(idx); } -+ inline reference operator*() const { return Term->getSuccessor(idx); } - inline pointer operator->() const { return operator*(); } - - inline Self& operator++() { ++idx; return *this; } // Preincrement Index: security/clamav/pkg-descr =================================================================== diff -u -N -rdb8ca7a8d4649ce65d86a8df5d2fe416e64eab96 -r0547f2fe581b4aaceef00c03e4f06ae9f1d022f9 --- security/clamav/pkg-descr (.../pkg-descr) (revision db8ca7a8d4649ce65d86a8df5d2fe416e64eab96) +++ security/clamav/pkg-descr (.../pkg-descr) (revision 0547f2fe581b4aaceef00c03e4f06ae9f1d022f9) @@ -5,4 +5,4 @@ Optionally you can use the clamav-milter interface to connect clamav with sendmail. -WWW: http://www.clamav.net/ +WWW: https://www.clamav.net/ Index: security/clamav/pkg-plist =================================================================== diff -u -N -r2ffb20437ce5b1e3ed815b1d8ab18766afd4ecd6 -r0547f2fe581b4aaceef00c03e4f06ae9f1d022f9 --- security/clamav/pkg-plist (.../pkg-plist) (revision 2ffb20437ce5b1e3ed815b1d8ab18766afd4ecd6) +++ security/clamav/pkg-plist (.../pkg-plist) (revision 0547f2fe581b4aaceef00c03e4f06ae9f1d022f9) @@ -1,10 +1,10 @@ bin/clamav-config bin/clambc bin/clamconf +bin/clamdscan bin/clamdtop bin/clamscan -bin/clamsubmit -bin/clamdscan +%%JSON%%bin/clamsubmit bin/freshclam bin/sigtool %%MILTER%%sbin/clamav-milter @@ -14,19 +14,24 @@ lib/libclamav.so lib/libclamav.so.7 lib/libclamav.so.7.1.1 +lib/libclammspack.a +lib/libclammspack.so +lib/libclammspack.so.0 +lib/libclammspack.so.0.1.0 %%UNRAR%%lib/libclamunrar.so %%UNRAR%%lib/libclamunrar.so.7 %%UNRAR%%lib/libclamunrar.so.7.1.1 %%UNRAR%%lib/libclamunrar_iface.so %%UNRAR%%lib/libclamunrar_iface.so.7 %%UNRAR%%lib/libclamunrar_iface.so.7.1.1 libdata/pkgconfig/libclamav.pc +libdata/pkgconfig/libclammspack.pc man/man1/clambc.1.gz man/man1/clamconf.1.gz man/man1/clamdscan.1.gz man/man1/clamdtop.1.gz man/man1/clamscan.1.gz -man/man1/clamsubmit.1.gz +%%JSON%%man/man1/clamsubmit.1.gz man/man1/freshclam.1.gz man/man1/sigtool.1.gz man/man5/clamav-milter.conf.5.gz