diff --git a/biology/viennarna/Makefile b/biology/viennarna/Makefile index aa45c46534f4..7088761b767b 100644 --- a/biology/viennarna/Makefile +++ b/biology/viennarna/Makefile @@ -1,65 +1,67 @@ PORTNAME= viennarna DISTVERSION= 2.7.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= biology MASTER_SITES= https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_7_x/ DISTNAME= ViennaRNA-${DISTVERSION} MAINTAINER= yuri@FreeBSD.org COMMENT= Alignment tools for the structural analysis of RNA WWW= https://www.tbi.univie.ac.at/RNA/ \ https://github.com/ViennaRNA/ViennaRNA LICENSE= ViennaRNALicense LICENSE_NAME= Vienna RNA License LICENSE_FILE= ${WRKSRC}/COPYING LICENSE_PERMS= auto-accept dist-mirror pkg-mirror -BROKEN_FreeBSD_13= compilation fails with clang-19: see https://github.com/ViennaRNA/ViennaRNA/issues/253 -BROKEN_FreeBSD_15= compilation fails with clang-19: see https://github.com/ViennaRNA/ViennaRNA/issues/253 - BUILD_DEPENDS= bash:shells/bash \ lapacke>0:math/lapacke \ libgd>0:graphics/gd # for the static lib BUILD_DEPENDS+= swig:devel/swig \ xxd:sysutils/xxd -LIB_DEPENDS= libgmp.so:math/gmp \ +LIB_DEPENDS= libdlib.so:science/dlib-cpp \ + libgmp.so:math/gmp \ libgsl.so:math/gsl \ liblapack.so:math/lapack \ libmpfr.so:math/mpfr USES= autoreconf bison compiler:c++17-lang fortran gmake \ libtool localbase perl5 pkgconfig xorg # w/out autoreconf -lstdc++ is present in configure and Makefiles and this causes link failure USE_XORG= ice x11 xext # only for build GNU_CONFIGURE= yes GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share CONFIGURE_SHELL= ${PREFIX}/bin/bash CONFIGURE_ARGS= --enable-shared --disable-static --with-gsl --with-cluster --with-kinwalker --enable-mpfr --without-python --without-python3 --without-perl CXXFLAGS+= -Dregister= # workaround for https://github.com/ViennaRNA/ViennaRNA/issues/214 TEST_TARGET= check CONFLICTS_INSTALL= g2 # include/g2.h INFO= RNAlib DATASDIR= ${PREFIX}/share/ViennaRNA DOCSDIR= ${PREFIX}/share/doc/ViennaRNA EXAMPLESDIR= ${PREFIX}/share/examples/ViennaRNA OPTIONS_DEFINE= DOCS EXAMPLES PORTDOCS= * PORTEXAMPLES= * post-configure: # remove -lstdc++ from .pc file @${REINPLACE_CMD} -e 's| -lstdc++||' ${WRKSRC}/RNAlib2.pc +post-extract: + # remove bundled dlib to ensure we use system version + @${RM} -rf ${WRKSRC}/src/dlib-19.24 + post-install: # remove stray files @${RM} ${STAGEDIR}/RNA/RNAconsensus.py @${RMDIR} ${STAGEDIR}/RNA .include diff --git a/biology/viennarna/files/patch-m4_ac__rna__build__requirements.m4 b/biology/viennarna/files/patch-m4_ac__rna__build__requirements.m4 new file mode 100644 index 000000000000..67d75c4a94c0 --- /dev/null +++ b/biology/viennarna/files/patch-m4_ac__rna__build__requirements.m4 @@ -0,0 +1,43 @@ +# Use system dlib instead of bundled version +# - Replace bundled dlib detection with pkg-config +# - Use system dlib from science/dlib-cpp port +# - Remove hardcoded paths to bundled dlib-19.24 +--- m4/ac_rna_build_requirements.m4.orig 2024-06-01 20:46:46 UTC ++++ m4/ac_rna_build_requirements.m4 +@@ -253,28 +253,18 @@ AC_DEFUN([RNA_CHECK_DLIB], [ + + AC_DEFUN([RNA_CHECK_DLIB], [ + AX_CXX_COMPILE_STDCXX(17, noext, mandatory) +- DLIB_VERSION=19.24 +- DLIB_DIR="dlib-${DLIB_VERSION}" +- DLIB_PATH="${srcdir}/src/${DLIB_DIR}" +- DLIB_SRC_FILE="${DLIB_PATH}/dlib/all/source.cpp" + +- AC_RNA_TEST_FILE($DLIB_SRC_FILE,[],[ ++ dnl Check for system dlib using pkg-config ++ PKG_CHECK_MODULES([DLIB], [dlib-1 >= 19.0], [ ++ AC_DEFINE([HAVE_DLIB], [1], [Define if you have dlib]) ++ ], [ + AC_MSG_ERROR([ +-================================================= +-Can't find dlib's source.cpp +- +-Make sure you've unpacked 'src/dlib-${DLIB_VERSION}.tar.bz2'! +- +-Usually, you only need to execute the following command: +- +-tar -xjf src/dlib-${DLIB_VERSION}.tar.bz2 -C src/ +-================================================= +-]) ++dlib development library not found. Please install dlib-cpp port. ++ ]) + ]) + +- AC_SUBST(DLIB_CPPFLAGS, "-I\$(top_srcdir)/src/${DLIB_DIR} -DDLIB_NO_GUI_SUPPORT") +- AC_SUBST(DLIB_DIR) +- AC_SUBST(DLIB_VERSION) ++ AC_SUBST(DLIB_CPPFLAGS, "${DLIB_CFLAGS} -DDLIB_NO_GUI_SUPPORT") ++ AC_SUBST(DLIB_LIBS, "${DLIB_LIBS}") + + ]) + diff --git a/biology/viennarna/files/patch-src_ViennaRNA_Makefile.am b/biology/viennarna/files/patch-src_ViennaRNA_Makefile.am new file mode 100644 index 000000000000..b50bbe1659c0 --- /dev/null +++ b/biology/viennarna/files/patch-src_ViennaRNA_Makefile.am @@ -0,0 +1,22 @@ +# Use system dlib instead of bundled version +# - Remove bundled dlib source compilation +# - Link concentrations library with system dlib +# - Avoid compiling ../@DLIB_DIR@/dlib/all/source.cpp +--- src/ViennaRNA/Makefile.am.orig 2024-10-19 20:19:42 UTC ++++ src/ViennaRNA/Makefile.am +@@ -76,6 +76,7 @@ libRNA_concentrations_la_CPPFLAGS = $(AM_CPPFLAGS) $(D + libRNA_la_LDFLAGS = -avoid-version -static $(LTO_LDFLAGS) $(PTHREAD_LIBS) + + libRNA_concentrations_la_CPPFLAGS = $(AM_CPPFLAGS) $(DLIB_CPPFLAGS) ++libRNA_concentrations_la_LIBADD = $(DLIB_LIBS) + + libRNA_conv_la_LIBADD = \ + libRNA_backtrack.la \ +@@ -493,7 +494,6 @@ libRNA_concentrations_la_SOURCES = \ + + libRNA_concentrations_la_SOURCES = \ + concentrations.c \ +- ../@DLIB_DIR@/dlib/all/source.cpp \ + wrap_dlib.cpp + +