summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-10-09 14:44:16 +0200
committerDavid Seifert <soap@gentoo.org>2016-10-09 17:14:18 +0200
commitc0a145c569b658ac97b0addecdee386768d4bb16 (patch)
treef1de5e5e39a8ee9cbfaafe27e427cc25f47fcf96 /sci-biology
parentapp-crypt/ccid: version bump and remove older. (diff)
downloadgentoo-c0a145c569b658ac97b0addecdee386768d4bb16.tar.gz
gentoo-c0a145c569b658ac97b0addecdee386768d4bb16.tar.bz2
gentoo-c0a145c569b658ac97b0addecdee386768d4bb16.zip
sci-biology/hmmer: Version bump to 3.1_beta2
* EAPI=6 * Make perl shebangs portable * Install headers into 'hmmer3' subdir Package-Manager: portage-2.3.1
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/hmmer/Manifest1
-rw-r--r--sci-biology/hmmer/files/hmmer-3.1_beta2-fix-header-install-path.patch89
-rw-r--r--sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch331
-rw-r--r--sci-biology/hmmer/hmmer-3.1_beta2.ebuild49
4 files changed, 470 insertions, 0 deletions
diff --git a/sci-biology/hmmer/Manifest b/sci-biology/hmmer/Manifest
index 7fef69f4aad7..dada0077d965 100644
--- a/sci-biology/hmmer/Manifest
+++ b/sci-biology/hmmer/Manifest
@@ -1,2 +1,3 @@
DIST hmmer-2.3.2.tar.gz 1024933 SHA256 d20e1779fcdff34ab4e986ea74a6c4ac5c5f01da2993b14e92c94d2f076828b4 SHA512 5abf9c304de38b183a5beab7a5cfc75c3774ff6e161b7b8e55a0eae9fd156dbb7ed95d216c16d3c585c494bb69e3a9fdfabfb5dc729b7050a4d1be95c74df7d7 WHIRLPOOL 604cc3f532d6eae3fbca893d991d0714a5a897fbac3059d63fdbebc6221e9321c2b444db2700e7068a11c043c0a7f9f3935617a3aa1878ca06ba18c558d55d40
DIST hmmer-3.0.tar.gz 3952015 SHA256 6977e6473fcb554b1d5a86dc9edffffa53918c1bd88d7fd20d7499f1ba719e83 SHA512 752f06b0494a87ccd2cf6aa93e622fd02173eaa0df60df0527b3361dcaa2baf2b45a2daf0123217c0029bc9d95e505a92f1e97039eb8b7218b4c4b65ddad1db5 WHIRLPOOL a181ce8ddb016bf1209c83fa754163e9ac653acb51fed13dee8598565d2f058a118fca04229aef7e4e5a79aae86712639b8e43bf7e12c50a8bf22e32be9df658
+DIST hmmer-3.1b2.tar.gz 5965253 SHA256 dd16edf4385c1df072c9e2f58c16ee1872d855a018a2ee6894205277017b5536 SHA512 64c8a840cb62160a1c13a20e64f42d297edb7969425d5047eefd8ee9f992d66612d62843523e8f33a2c38568ce1b0a9df23dd1d3ecf6773007f6db12d4cc4771 WHIRLPOOL 0b6d17b5f5efe31873cde93ff33cc5b01c53de8e1daf1ed473ef92d6585f34abcbb31e35e4d02537fbbc2c808131b70a0f51a3832ee332e23246cbc75edc354a
diff --git a/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-header-install-path.patch b/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-header-install-path.patch
new file mode 100644
index 000000000000..b9ff5b92b8f9
--- /dev/null
+++ b/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-header-install-path.patch
@@ -0,0 +1,89 @@
+Install headers into 'hmmer3' subdir and not into global includedir.
+
+--- a/easel/Makefile.in
++++ b/easel/Makefile.in
+@@ -465,11 +465,12 @@
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL} -d ${DESTDIR}${libdir}
+ ${INSTALL} -d ${DESTDIR}${includedir}
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ ${INSTALL} -m 0644 libeasel.a ${DESTDIR}${libdir}/
+ for file in ${HDRS}; do\
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+- ${INSTALL} -m 0644 esl_config.h ${DESTDIR}${includedir}/
++ ${INSTALL} -m 0644 esl_config.h ${DESTDIR}${includedir}/hmmer3/
+ ${QUIET_SUBDIR0}miniapps ${QUIET_SUBDIR1} install
+
+ # "make uninstall" reverses the steps of "make install"
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -143,6 +143,7 @@
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL} -d ${DESTDIR}${libdir}
+ ${INSTALL} -d ${DESTDIR}${includedir}
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ ${INSTALL} -d ${DESTDIR}${man1dir}
+ ${INSTALL} -d ${DESTDIR}${pdfdir}
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} install
+--- a/src/impl_dummy/Makefile.in
++++ b/src/impl_dummy/Makefile.in
+@@ -152,8 +152,9 @@
+ ${CC} ${CFLAGS} ${SIMDFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+
+ uninstall:
+--- a/src/impl_sse/Makefile.in
++++ b/src/impl_sse/Makefile.in
+@@ -155,8 +155,9 @@
+
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+
+ uninstall:
+--- a/src/impl_vmx/Makefile.in
++++ b/src/impl_vmx/Makefile.in
+@@ -152,8 +152,9 @@
+ ${CC} ${CFLAGS} ${SIMDFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+
+ uninstall:
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -322,15 +322,16 @@
+ ${CC} ${CFLAGS} ${SIMDFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ ${QUIET_SUBDIR0}${IMPLDIR} ${QUIET_SUBDIR1} install
+ for file in ${PROGS}; do \
+ ${INSTALL} -m 0755 $$file ${DESTDIR}${bindir}/ ;\
+ done
+ ${INSTALL} -m 0755 libhmmer.a ${DESTDIR}${libdir}/
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+- ${INSTALL} -m 0644 p7_config.h ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 p7_config.h ${DESTDIR}${includedir}/hmmer3/ ;\
+
+ uninstall:
+ ${QUIET_SUBDIR0}${IMPLDIR} ${QUIET_SUBDIR1} uninstall
diff --git a/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch b/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch
new file mode 100644
index 000000000000..39fdbd50e457
--- /dev/null
+++ b/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch
@@ -0,0 +1,331 @@
+Fix perl shebangs to be portable and usable on Prefix.
+See also: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/easel/demotic/infernal_tab2gff.pl
++++ b/easel/demotic/infernal_tab2gff.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -w -I/groups/eddy/home/jonest/Demotic
++#!/usr/bin/env perl
+
+ # TAJ 6/23/08 last mod 7/10/08
+ # Purpose: flexibly convert "cmsearch --tabfile TAB.out" output to GFF format
+--- a/easel/demotic/test.pl
++++ b/easel/demotic/test.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use demotic_blast;
+
+--- a/easel/devkit/rmanprocess.pl
++++ b/easel/devkit/rmanprocess.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # rmanprocess.pl <rman LaTeX2e output>
+ #
+--- a/easel/miniapps/esl-afetch.itest.pl
++++ b/easel/miniapps/esl-afetch.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Testing the esl-afetch miniapp
+ #
+--- a/easel/miniapps/esl-alimanip.itest.pl
++++ b/easel/miniapps/esl-alimanip.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-alimanip miniapp.
+ #
+--- a/easel/miniapps/esl-alimap.itest.pl
++++ b/easel/miniapps/esl-alimap.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-alimap miniapp.
+ #
+--- a/easel/miniapps/esl-alimask.itest.pl
++++ b/easel/miniapps/esl-alimask.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-alimask miniapp.
+ #
+--- a/easel/miniapps/esl-alimerge.itest.pl
++++ b/easel/miniapps/esl-alimerge.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-alimerge miniapp.
+ #
+--- a/easel/miniapps/esl-alistat.itest.pl
++++ b/easel/miniapps/esl-alistat.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-alistat miniapp.
+ #
+--- a/easel/miniapps/esl-compalign.itest.pl
++++ b/easel/miniapps/esl-compalign.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-compalign miniapp.
+ #
+--- a/easel/miniapps/esl-construct.itest.pl
++++ b/easel/miniapps/esl-construct.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-construct miniapp.
+ #
+--- a/easel/miniapps/esl-mask.itest.pl
++++ b/easel/miniapps/esl-mask.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-mask miniapp.
+ #
+--- a/easel/miniapps/esl-seqrange.itest.pl
++++ b/easel/miniapps/esl-seqrange.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-seqrange miniapp.
+ #
+--- a/easel/miniapps/esl-shuffle.itest.pl
++++ b/easel/miniapps/esl-shuffle.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-shuffle miniapp
+ #
+--- a/easel/miniapps/esl-ssdraw.itest.pl
++++ b/easel/miniapps/esl-ssdraw.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-ssdraw miniapp.
+ #
+--- a/easel/testsuite/coverage_report.pl
++++ b/easel/testsuite/coverage_report.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Measures testsuite coverage (as percentage of source lines),
+ # using gcov.
+--- a/easel/testsuite/driver_report.pl
++++ b/easel/testsuite/driver_report.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Make sure that all drivers compile.
+ # (Eventually, we should also make sure they run! But that
+--- a/easel/testsuite/i1-degen-residues.pl
++++ b/easel/testsuite/i1-degen-residues.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integration tests of reading all valid protein sequence residue characters.
+ #
+--- a/easel/testsuite/i2-ncbi-indices.pl
++++ b/easel/testsuite/i2-ncbi-indices.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Testing that we can read FASTA files, even if they have NCBI
+ # formatted BLAST databases in the same directory.
+--- a/easel/testsuite/i3-blank-gf.pl
++++ b/easel/testsuite/i3-blank-gf.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #e5: blank text line following #=GF <tag> handled improperly.
+ #
+--- a/easel/testsuite/valgrind_report.pl
++++ b/easel/testsuite/valgrind_report.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Run the testsuite under Valgrind, to check for memory leakage.
+ #
+--- a/profmark/pmark-master.pl
++++ b/profmark/pmark-master.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl -w
++#!/usr/bin/env perl
+
+ # The top level script that runs a pmark benchmark.
+ #
+--- a/profmark/rocplot.pl
++++ b/profmark/rocplot.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ $nsearches = 2809;
+
+--- a/src/hmmpress.itest.pl
++++ b/src/hmmpress.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of hmmpress
+ #
+--- a/testsuite/i10-duplicate-names.pl
++++ b/testsuite/i10-duplicate-names.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Check that we can deal with profiles and sequences that contain
+ # duplicate names, both as queries and targets.
+--- a/testsuite/i11-hmmalign-mapali.pl
++++ b/testsuite/i11-hmmalign-mapali.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Another test of the hmmalign --mapali option, after Elena reports
+ # bug #h73 in bad interaction of checksum calculation and marking
+--- a/testsuite/i12-delete-corruption.pl
++++ b/testsuite/i12-delete-corruption.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #h77: hmmalign corrupts column preceding an all-delete column
+ #
+--- a/testsuite/i13-msa-integrity.pl
++++ b/testsuite/i13-msa-integrity.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Look for any problems in hmmalign that corrupt the input sequences.
+ #
+--- a/testsuite/i14-hmmemit-consensus.pl
++++ b/testsuite/i14-hmmemit-consensus.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Tests hmmemit -c and hmmemit -C consensus-generating options.
+ #
+--- a/testsuite/i15-hmmconvert.pl
++++ b/testsuite/i15-hmmconvert.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #h80: hmmconvert can't read H2 Nucleic files
+ #
+--- a/testsuite/i16-build-allins.pl
++++ b/testsuite/i16-build-allins.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #h82: hmmbuild corrupts resave alignment on all-insert seq
+ #
+--- a/testsuite/i17-stdin.pl
++++ b/testsuite/i17-stdin.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test that programs accept and reject argument of '-' (for reading
+ # data from stdin, rather than from files) as they're supposed to.
+--- a/testsuite/i18-nhmmer-generic.pl
++++ b/testsuite/i18-nhmmer-generic.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test of hmmbuild/nhmmer as used to build a DNA model, then query a
+ # a database of long (1MB).
+--- a/testsuite/i19-hmmpgmd-ga.pl
++++ b/testsuite/i19-hmmpgmd-ga.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test that hmmpgmd is correctly applying bit score thresholds;
+ # in this case, the --cut_ga threshold, using an example that
+--- a/testsuite/i20-fmindex-core.pl
++++ b/testsuite/i20-fmindex-core.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test of makenhmmerdb and the core fm-index search functionality, using extactmatch
+ #
+--- a/testsuite/i5-hmmbuild-naming.pl
++++ b/testsuite/i5-hmmbuild-naming.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test that HMM naming in hmmbuild works as advertised.
+ # Written to test for #h50.
+--- a/testsuite/i6-hmmalign-mapali.pl
++++ b/testsuite/i6-hmmalign-mapali.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test the hmmalign --mapali option.
+ #
+--- a/testsuite/i7-hmmbuild-fragments.pl
++++ b/testsuite/i7-hmmbuild-fragments.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test the ability of hmmbuild to deal with crappy alignments
+ # of lots of sequence fragments.
+--- a/testsuite/i8-nonresidues.pl
++++ b/testsuite/i8-nonresidues.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Regression test of handling a nonresidue '*' character. By design,
+ # '*' residues score 0 in insert states and N,C,J; and -inf in match
+--- a/testsuite/i9-optional-annotation.pl
++++ b/testsuite/i9-optional-annotation.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Check that we can deal with HMMs with no optional annotation, in either
+ # hmmscan or hmmsearch mode.
+--- a/testsuite/test-make.pl
++++ b/testsuite/test-make.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl -w
++#!/usr/bin/env perl
+
+ # Usage: test-make.pl <builddir> <srcdir> <tmppfx>
+ #
diff --git a/sci-biology/hmmer/hmmer-3.1_beta2.ebuild b/sci-biology/hmmer/hmmer-3.1_beta2.ebuild
new file mode 100644
index 000000000000..d893cb3a3b84
--- /dev/null
+++ b/sci-biology/hmmer/hmmer-3.1_beta2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+MY_PV="${PV/_beta/b}"
+
+DESCRIPTION="Sequence analysis using profile hidden Markov models"
+HOMEPAGE="http://hmmer.org/"
+SRC_URI="http://eddylab.org/software/${PN}3/${MY_PV}/hmmer-${MY_PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="altivec cpu_flags_x86_sse gsl mpi test +threads"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="
+ mpi? ( virtual/mpi )
+ gsl? ( sci-libs/gsl:= )"
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+PATCHES=(
+ "${FILESDIR}/${PN}-3.1_beta2-fix-perl-shebangs.patch"
+ "${FILESDIR}/${PN}-3.1_beta2-fix-header-install-path.patch"
+)
+
+src_configure() {
+ # make build verbose, bug 429308
+ export V=1
+
+ econf \
+ --disable-pic \
+ $(use_enable altivec vmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable mpi) \
+ $(use_enable threads) \
+ $(use_with gsl)
+}
+
+src_install() {
+ default
+ dodoc Userguide.pdf
+
+ insinto /usr/share/${PN}
+ doins -r tutorial
+}