summaryrefslogtreecommitdiff
path: root/academic/ViennaRNA
diff options
context:
space:
mode:
Diffstat (limited to 'academic/ViennaRNA')
-rw-r--r--academic/ViennaRNA/README36
-rw-r--r--academic/ViennaRNA/ViennaRNA.SlackBuild46
-rw-r--r--academic/ViennaRNA/ViennaRNA.info8
-rw-r--r--academic/ViennaRNA/swig4.patch203
4 files changed, 53 insertions, 240 deletions
diff --git a/academic/ViennaRNA/README b/academic/ViennaRNA/README
index a8fb799e79..6ad531d628 100644
--- a/academic/ViennaRNA/README
+++ b/academic/ViennaRNA/README
@@ -1,8 +1,21 @@
# ViennaRNA Package
-A C code library and several stand-alone programs for the prediction and comparison of RNA secondary structures.
+A C code library and several stand-alone programs for the prediction
+and comparison of RNA secondary structures.
-Amongst other things, our implementations allow you to:
+A tutorial (see /usr/doc/$PRGNAM-$VERSION/RNA-tutorial-$VERSION.pdf)
+and examples can be found in /usr/share/$PRGNAM/tutorial and
+/usr/share/$PRGNAM/examples
+
+For those who wish to link the Vienna package to their own C, perl or python programs (see below),
+the RNAlib Reference Manual can be assessed at:
+
+https://www.tbi.univie.ac.at/RNA/ViennaRNA/doc/html/index.html
+(or unpacked from the src: $PRGNAM-$VERSION/doc/html/)
+https://www.tbi.univie.ac.at/RNA/ViennaRNA/doc/RNAlib-$VERSION.pdf
+(or unpacked from the src: $PRGNAM-$VERSION/doc/RNAlib-$VERSION.pdf)
+
+Amongst other things, the ViennRNA implementations allow you to:
- predict minimum free energy secondary structures
- calculate the partition function for the ensemble of structures
@@ -15,9 +28,15 @@ Amongst other things, our implementations allow you to:
- compare two secondary structures
- predict hybridization structures of two RNA molecules
-The package includes `Perl 5`, `Python 2`, and `Python 3` modules that give
+The package includes `Perl 5` and `Python 3` modules that give
access to almost all functions of the C library from within the respective
-scripting languages.
+scripting languages. For this reason, python3 is a dependency
+
+The `Python 2` module can be built as well, or instead of the one for `Python 3`;
+just edit the SlackBuild or run it by setting build options PYTHON=yes PYTHON3=no.
+(e.g. in sbopkg or run it from the commandline -within the directory containing
+the SlackBuild script and downloaded source archive- as:
+`PYTHON=yes PYTHON3=no ./ViennaRNA.SlackBuild`)
There is also a set of programs for analyzing sequence and distance
data using split decomposition, statistical geometry, and cluster methods.
@@ -27,15 +46,6 @@ The code very rarely uses static arrays, and all programs should work for
sequences up to a length of 32,700 (if you have huge amounts of memory that
is).
-For those who wish to link the Vienna package their own C, perl or python programs,
-the RNAlib Reference Manual can be assessed at:
-
-https://www.tbi.univie.ac.at/RNA/ViennaRNA/doc/html/index.html
-
-or downloaded from:
-
-https://www.tbi.univie.ac.at/RNA/ViennaRNA/doc/RNAlib-$VERSION.pdf
-
For further info see:
https://www.tbi.univie.ac.at/RNA/documentation.html
diff --git a/academic/ViennaRNA/ViennaRNA.SlackBuild b/academic/ViennaRNA/ViennaRNA.SlackBuild
index 9de92bfa6e..5b8a1882a2 100644
--- a/academic/ViennaRNA/ViennaRNA.SlackBuild
+++ b/academic/ViennaRNA/ViennaRNA.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ViennaRNA
-VERSION=${VERSION:-2.4.12}
+VERSION=${VERSION:-2.4.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -63,16 +63,11 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-patch -p 1 < $CWD/swig4.patch
-
-#needed to make patches compile
-autoreconf
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# You can configure some ViennaRNA features that are (not) compiled by default.
# See the README.md for details. You can enable/disable a these features by
@@ -107,7 +102,7 @@ forester="" ; [ "${FORESTER:-yes}" != "yes" ] && forester="--without-fo
kinfold="" ; [ "${KINFOLD:-yes}" != "yes" ] && kinwalk="--without-kinfold"
rnalocmin="" ; [ "${RNALOCMIN:-yes}" != "yes" ] && rnalocmin="--without-rnalocmin"
perl="" ; [ "${PERL:-yes}" != "yes" ] && perl="--without-perl"
-python="" ; [ "${PYTHON:-yes}" != "yes" ] && python="--without-python"
+
python3="" ; [ "${PYTHON3:-yes}" != "yes" ] && python3="--without-python3"
swig="" ; [ "${SWIG:-yes}" != "yes" ] && swig="--without-swig"
simd="" ; [ "${SIMD:-yes}" != "yes" ] && simd="--disable-simd"
@@ -116,6 +111,8 @@ openmp="" ; [ "${OPENMP:-yes}" != "yes" ] && openmp="--disable-openm
pthreads="" ; [ "${PTHREADS:-yes}" != "yes" ] && pthreads="--disable-pthreads"
svm="" ; [ "${SVM:-yes}" != "yes" ] && svm="--without-svm"
gsl="" ; [ "${GSL:-yes}" != "yes" ] && gsl="--without-gsl"
+# Default to python3 (above) only;
+python="" ; [ "${PYTHON:-no}" != "yes" ] && python="--without-python"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -149,12 +146,14 @@ cd misc
make install DESTDIR=$PKG
cd ..
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
# cleanup after dirty install ...
-# install -dm755 $PKG/usr/bin/vendor_perl
for perlscript in $PKG/usr/share/ViennaRNA/bin/*.pl ; do
-# mv "$perlscript" "$PKG/usr/bin/vendor_perl/"
mv "$perlscript" "$PKG/usr/bin/"
done
+rm -r $PKG/usr/share/ViennaRNA/bin
# no need for that file it is outdated anyway
rm $PKG/usr/share/info/dir
@@ -162,9 +161,6 @@ rm $PKG/usr/share/info/dir
#gzip info file
gzip -9 $PKG/usr/share/info/*.info
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
@@ -174,6 +170,16 @@ find $PKG -name perllocal.pod \
| xargs rm -f
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+
+#keep help and RNAlib-${VERSION} in src
+if [[ -d $PKG/usr/doc/$PRGNAM-$VERSION/html ]]; then
+ rm -r $PKG/usr/doc/$PRGNAM-$VERSION/html
+fi
+
+if [[ -e $PKG/usr/doc/$PRGNAM-$VERSION/RNAlib-$VERSION.pdf ]]; then
+ rm $PKG/usr/doc/$PRGNAM-$VERSION/RNAlib-$VERSION.pdf
+fi
+
cp -a \
NEWS README.md AUTHORS COPYING THANKS INSTALL CHANGELOG.md license.txt \
$PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/academic/ViennaRNA/ViennaRNA.info b/academic/ViennaRNA/ViennaRNA.info
index 1432a46dc1..5e7cdc20e0 100644
--- a/academic/ViennaRNA/ViennaRNA.info
+++ b/academic/ViennaRNA/ViennaRNA.info
@@ -1,10 +1,10 @@
PRGNAM="ViennaRNA"
-VERSION="2.4.12"
+VERSION="2.4.13"
HOMEPAGE="https://www.tbi.univie.ac.at/RNA"
-DOWNLOAD="https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.12.tar.gz"
-MD5SUM="db37ca5c863375d61488e6d7248c7176"
+DOWNLOAD="https://github.com/ViennaRNA/ViennaRNA/releases/download/v2.4.13/ViennaRNA-2.4.13.tar.gz"
+MD5SUM="bd52c7ae189040b4b3cd328da5490b99"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="grace gri"
+REQUIRES="python3 gri"
MAINTAINER="Rob van Nues"
EMAIL="sborg63@disroot.org"
diff --git a/academic/ViennaRNA/swig4.patch b/academic/ViennaRNA/swig4.patch
deleted file mode 100644
index 88df2eb933..0000000000
--- a/academic/ViennaRNA/swig4.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-commit c8a867dc017f58a4ffbfb2d3d976506947e5d9d6
-Author: Ronny Lorenz <ronny@tbi.univie.ac.at>
-Date: Mon May 13 08:22:42 2019 +0200
-
- SWIG: Fix install for wrappers generated by swig 4
-
- - We now default to install _RNA.*so files for Python2/3 into the RNA/
- subdirectory. This seems necessary to avoid problems when importing
- the RNA package, where the underlying loader changed from swig 3 to
- swig 4.
- - We also require swig 3.0.0 or later from now on to generate the
- wrapper code, and we drop the -modern flag
-
-diff --git a/interfaces/Python/Makefile.am b/interfaces/Python/Makefile.am
-index df279501..41be4c08 100644
---- a/interfaces/Python/Makefile.am
-+++ b/interfaces/Python/Makefile.am
-@@ -16,9 +16,8 @@ INTERFACE_FILES = $(SWIG_src) \
- $(LANG_SPECIFIC_INTERFACE_FILES)
-
- pkgpy2execdir = $(py2execdir)/RNA
--pkgpy2cmoddir = $(py2execdir)
-
--pkgpy2cmod_LTLIBRARIES = _RNA.la
-+pkgpy2exec_LTLIBRARIES = _RNA.la
- pkgpy2exec_DATA = RNA/__init__.py
-
- _RNA_la_SOURCES = $(INTERFACE_FILES) \
-@@ -73,7 +72,7 @@ $(SWIG_wrapper): $(SWIG_src) $(INTERFACE_FILES)
- $(swig_verbose)$(SWIG) -I$(top_srcdir)/src \
- -I$(srcdir) -I$(builddir) \
- $(RNA_CPPFLAGS) \
-- -python -modern -c++ \
-+ -python -c++ \
- -o $(SWIG_wrapper) \
- $(SWIG_main_src)
-
-@@ -87,27 +86,33 @@ RNA/__init__.py: $(SWIG_module_name).py
- $(AM_V_GEN)( test -d RNA || $(MKDIR_P) RNA ) && \
- cp `test -f RNA.py || echo '$(srcdir)/'`RNA.py RNA/__init__.py
-
--_RNA$(PYTHON2_SO): _RNA.la
-- $(AM_V_GEN)( $(LIBTOOL) --config > libtoolconfig.tmp ) && \
-- ( . ./libtoolconfig.tmp; cp $$objdir/_RNA$(PYTHON2_SO) . ) && \
-+RNA/_RNA$(PYTHON2_SO): _RNA.la
-+ $(AM_V_GEN)( test -d RNA || $(MKDIR_P) RNA ) && \
-+ ( $(LIBTOOL) --config > libtoolconfig.tmp ) && \
-+ ( . ./libtoolconfig.tmp; cp $$objdir/_RNA$(PYTHON2_SO) RNA ) && \
- rm -f libtoolconfig.tmp
-
--all-local: _RNA$(PYTHON2_SO)
-+CLEANFILES = \
-+ RNA/_RNA$(PYTHON2_SO) \
-+ RNA/__init__.py \
-+ RNA/__init__.pyc
-+
-+all-local: RNA/_RNA$(PYTHON2_SO)
-
- clean-local:
-- -rm -rf RNA _RNA$(PYTHON2_SO)
-+ -rm -rf RNA
-
- # Remove the .la file - RNA.la is never linked against (it's a module)
- # and Python doesn't use libltdl. Note that the library gets installed by
- # install-data, so that's where we need to hook.
- install-data-hook:
-- rm -f $(DESTDIR)$(pkgpy2cmoddir)/_RNA.la
-+ rm -f $(DESTDIR)$(pkgpy2execdir)/_RNA.la
-
- # Because we don't install the .la file, "make uninstall" doesn't work and
- # we need to remove the file ourselves.
- uninstall-local:
-- eval `grep '^dlname=' $(pkgpy2cmod_LTLIBRARIES)` ; \
-- rm -f $(DESTDIR)$(pkgpy2cmoddir)/"$$dlname"
-+ eval `grep '^dlname=' $(pkgpy2exec_LTLIBRARIES)` ; \
-+ rm -f $(DESTDIR)$(pkgpy2execdir)/"$$dlname"
-
- ## remove all generated content
- maintainer-clean-local:
-diff --git a/interfaces/Python3/Makefile.am b/interfaces/Python3/Makefile.am
-index de9b049e..67824a99 100644
---- a/interfaces/Python3/Makefile.am
-+++ b/interfaces/Python3/Makefile.am
-@@ -17,10 +17,9 @@ INTERFACE_FILES = $(SWIG_src) \
- $(LANG_SPECIFIC_INTERFACE_FILES)
-
- pkgpyexecdir = $(py3execdir)/RNA
--pkgpycmoddir = $(py3execdir)
- pkgpycachedir = $(pkgpyexecdir)/__pycache__
-
--pkgpycmod_LTLIBRARIES = _RNA.la
-+pkgpyexec_LTLIBRARIES = _RNA.la
- pkgpyexec_DATA = RNA/__init__.py
- pkgpycache_DATA = RNA/__pycache__/__init__.@PYTHON3_CACHE_TAG@.pyc \
- RNA/__pycache__/__init__.@PYTHON3_CACHE_OPT1_EXT@
-@@ -75,7 +74,7 @@ $(SWIG_wrapper): $(SWIG_src) $(INTERFACE_FILES)
- -I$(srcdir) -I$(builddir) \
- -DPY3 \
- $(RNA_CPPFLAGS) \
-- -python -modern -py3 -c++ \
-+ -python -py3 -c++ \
- -o $(SWIG_wrapper) \
- $(SWIG_main_src)
-
-@@ -91,42 +90,43 @@ RNA/__init__.py: $(SWIG_module_name).py
-
- # We "import _RNA" first so that if we fail to import the glue library
- # we don't generate a broken .pyc or .pyo.
--RNA/__pycache__/__init__.@PYTHON3_CACHE_TAG@.pyc: RNA/__init__.py _RNA$(PYTHON3_SO)
-+RNA/__pycache__/__init__.@PYTHON3_CACHE_TAG@.pyc: RNA/__init__.py RNA/_RNA$(PYTHON3_SO)
- $(AM_V_GEN)( PYTHONPATH="RNA:$$PYTHONPATH" $(PYTHON3) -c "import _RNA" ; \
- PYTHONPATH=".:$$PYTHONPATH" $(PYTHON3) -c "import RNA" )
-
--RNA/__pycache__/__init__.@PYTHON3_CACHE_OPT1_EXT@: RNA/__init__.py _RNA$(PYTHON3_SO)
-+RNA/__pycache__/__init__.@PYTHON3_CACHE_OPT1_EXT@: RNA/__init__.py RNA/_RNA$(PYTHON3_SO)
- $(AM_V_GEN)( PYTHONPATH="RNA:$$PYTHONPATH" $(PYTHON3) -O -c "import _RNA" ; \
- PYTHONPATH=".:$$PYTHONPATH" $(PYTHON3) -O -c "import RNA" )
-
--_RNA$(PYTHON3_SO): _RNA.la
-- $(AM_V_GEN)( $(LIBTOOL) --config > libtoolconfig.tmp ) && \
-- ( . ./libtoolconfig.tmp; cp $$objdir/_RNA$(PYTHON3_SO) . ) && \
-+RNA/_RNA$(PYTHON3_SO): _RNA.la
-+ $(AM_V_GEN)( test -d RNA || $(MKDIR_P) RNA ) && \
-+ ( $(LIBTOOL) --config > libtoolconfig.tmp ) && \
-+ ( . ./libtoolconfig.tmp; cp $$objdir/_RNA$(PYTHON3_SO) RNA ) && \
- rm -f libtoolconfig.tmp
-
- CLEANFILES = \
-- _RNA$(PYTHON3_SO) \
-+ RNA/_RNA$(PYTHON3_SO) \
- RNA/__init__.py \
- RNA/__pycache__/__init__.@PYTHON3_CACHE_TAG@.pyc \
- RNA/__pycache__/__init__.@PYTHON3_CACHE_OPT1_EXT@\
- $(srcdir)/*.pyc
-
--all-local: _RNA$(PYTHON3_SO)
-+all-local: RNA/_RNA$(PYTHON3_SO)
-
- clean-local:
-- -rm -rf RNA _RNA$(PYTHON3_SO)
-+ -rm -rf RNA
-
- # Remove the .la file - RNA.la is never linked against (it's a module)
- # and Python doesn't use libltdl. Note that the library gets installed by
- # install-data, so that's where we need to hook.
- install-data-hook:
-- rm -f $(DESTDIR)$(pkgpycmoddir)/_RNA.la
-+ rm -f $(DESTDIR)$(pkgpyexecdir)/_RNA.la
-
- # Because we don't install the .la file, "make uninstall" doesn't work and
- # we need to remove the file ourselves.
- uninstall-local:
-- eval `grep '^dlname=' $(pkgpycmod_LTLIBRARIES)` ; \
-- rm -f $(DESTDIR)$(pkgpycmoddir)/"$$dlname"
-+ eval `grep '^dlname=' $(pkgpyexec_LTLIBRARIES)` ; \
-+ rm -f $(DESTDIR)$(pkgpyexecdir)/"$$dlname"
-
- ## remove all generated content
- maintainer-clean-local:
-diff --git a/interfaces/RNA.i b/interfaces/RNA.i
-index fb2260d6..6ae86641 100644
---- a/interfaces/RNA.i
-+++ b/interfaces/RNA.i
-@@ -1,4 +1,9 @@
-+#ifdef SWIGPYTHON
-+%module(moduleimport="from . import _RNA") RNA
-+#else
- %module RNA
-+#endif
-+
- //%pragma(perl5) modulecode="@EXPORT=qw(fold);"
- %pragma(perl5) include="RNA.pod"
-
-diff --git a/m4/ac_rna_swig.m4 b/m4/ac_rna_swig.m4
-index 98583bed..29ea398f 100644
---- a/m4/ac_rna_swig.m4
-+++ b/m4/ac_rna_swig.m4
-@@ -9,13 +9,12 @@ AC_DEFUN([RNA_ENABLE_SWIG_INTERFACES],[
-
- AS_IF([test "x$with_swig" != "xno"],[
- wants_swig="yes"
-- AX_PKG_SWIG(2.0.0, [has_swig="yes"], [has_swig="no"])
-+ AX_PKG_SWIG(3.0.0, [has_swig="yes"], [has_swig="no"])
- ],[
- wants_swig="no"
- ])
-
- AM_CONDITIONAL(HAS_SWIG, test "x$has_swig" != "xno")
--
- RNA_ENABLE_SWIG_PERL
- RNA_ENABLE_SWIG_PYTHON
- RNA_ENABLE_SWIG_PYTHON3
-@@ -55,10 +54,6 @@ AC_DEFUN([RNA_ENABLE_SWIG_PERL],[
- AC_MSG_ERROR([Perl is required to build.])
- [enable_perl_status="Perl is required to build."]
- fi
--# AX_PERL_EXT_FLAGS([PERLXS_CFLAGS], [PERLXS_LDFLAGS])
--# AX_PERL_EXT_LINK_CHECK([with_perl])
--# AC_SUBST([PERLXS_CFLAGS])
--# AC_SUBST([PERLXS_LDFLAGS])
- ])
-
- # prepare all files for perl interface