Skip to content
Commits on Source (7)
The cwl/ directory was generated thusly:
All binaries were called with --write-ctd and those CTDs were converted to CWL
using https://github.com/WorkflowConversion/CTDConverter
seqan2 (2.4.0+dfsg-6) unstable; urgency=medium
* Retry building on mips*; patch adapted from Adrian Bunk <bunk@debian.org>
Closes: #890385. Thanks!
* Document CWL generation via README.source. Mark all CWL files as
executable
* Enable AutoPackageTests for seqan-apps
* Applied 2 patches from upstream: add mandatory ctdVersion element,
fix errors in manpage output
* Suggest cwltool | cwl-runner.
-- Michael R. Crusoe <michael.crusoe@gmail.com> Sat, 17 Feb 2018 07:09:41 -0800
seqan2 (2.4.0+dfsg-5) unstable; urgency=medium
* Ship CWL descriptions for a subset of seqan-apps
......
......@@ -27,10 +27,10 @@ Homepage: http://www.seqan.de/
Rules-Requires-Root: no
Package: seqan-apps
Architecture: any-amd64 arm64 armel armhf any-i386 mips64el ppc64el s390x alpha hppa ia64 m68k powerpc powerpcspe ppc64 sh4 sparc64 x32
# Skipping mips & mipsel due to lack of memory
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends}
Suggests: cwltool | cwl-runner
Description: C++ library for the analysis of biological sequences
SeqAn is a C++ template library of efficient algorithms and data
structures for the analysis of sequences with the focus on
......
From 59dd3a7450a57a8cf9f4d298df664348a9ef1af8 Mon Sep 17 00:00:00 2001
From: smehringer <svenja.mehringer@fu-berlin.de>
Date: Mon, 12 Feb 2018 16:46:04 +0000
Subject: [PATCH] [INTERNAL] Fix ctd output: add ctdVersion tag in header.
---
include/seqan/arg_parse/arg_parse_ctd_support.h | 2 +-
tests/arg_parse/test_app.ctd | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/seqan/arg_parse/arg_parse_ctd_support.h b/include/seqan/arg_parse/arg_parse_ctd_support.h
index 9125fd78b..a2164604f 100644
--- a/include/seqan/arg_parse/arg_parse_ctd_support.h
+++ b/include/seqan/arg_parse/arg_parse_ctd_support.h
@@ -377,7 +377,7 @@ writeCTD(ArgumentParser const & me, std::ostream & ctdfile)
}
ctdfile << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
- ctdfile << "<tool name=\"" << class_name << "\" version=\"" << xmlEscape(getVersion(me)) << "\" docurl=\"http://www.seqan.de\" category=\"" << xmlEscape(getCategory(me)) << "\" >\n";
+ ctdfile << "<tool name=\"" << class_name << "\" version=\"" << xmlEscape(getVersion(me)) << "\" docurl=\"http://www.seqan.de\" category=\"" << xmlEscape(getCategory(me)) << "\" ctdVersion=\"1.7\">\n";
ctdfile << _indent(currentIndent) << "<executableName>" << toolname << "</executableName>\n";
ctdfile << _indent(currentIndent) << "<description>" << xmlEscape(getShortDescription(me)) << "</description>\n";
ctdfile << _indent(currentIndent) << "<manual>" << xmlEscape(_getManual(me)) << "</manual>\n"; // TODO(aiche): as soon as we have a more sophisticated documentation embedded into the CmdParser, we should at this here
diff --git a/tests/arg_parse/test_app.ctd b/tests/arg_parse/test_app.ctd
index f4346e23e..55313b0e7 100644
--- a/tests/arg_parse/test_app.ctd
+++ b/tests/arg_parse/test_app.ctd
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<tool name="TestApp" version="0.1.0" docurl="http://www.seqan.de" category="SeqAn/Testing" >
+<tool name="TestApp" version="0.1.0" docurl="http://www.seqan.de" category="SeqAn/Testing" ctdVersion="1.7">
<executableName>test_app</executableName>
<description>This is a test-app.</description>
<manual>This is the first line of our test description.
From 8c7c3ef5a20529366322297bbdb4b53868cb62e4 Mon Sep 17 00:00:00 2001
From: smehringer <svenja.mehringer@fu-berlin.de>
Date: Mon, 12 Feb 2018 16:22:54 +0000
Subject: [PATCH] [INTERNAL] Fixes man page output: Escape special characters
'.' or ''' at the beginning of a line.
---
include/seqan/arg_parse/tool_doc.h | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/include/seqan/arg_parse/tool_doc.h b/include/seqan/arg_parse/tool_doc.h
index 78f7db717..c31460287 100644
--- a/include/seqan/arg_parse/tool_doc.h
+++ b/include/seqan/arg_parse/tool_doc.h
@@ -1531,6 +1531,20 @@ void TextToolDocPrinter_::print(std::ostream & stream, ToolDoc const & doc)
}
}
+// --------------------------------------------------------------------------
+// Function ManToolDocPrinter_::print()
+// --------------------------------------------------------------------------
+
+//brief: "." or "'" indicate man page macros that need to be escaped with "\\&"
+template <typename TString>
+void print_first_in_line(std::ostream & stream, TString const & str)
+{
+ if (length(str) > 0 &&
+ (str[0] == '.' || str[0] == '\''))
+ stream << "\\&";
+ stream << str;
+}
+
inline
void ManToolDocPrinter_::print(std::ostream & stream, ToolDoc const & doc)
{
@@ -1580,7 +1594,8 @@ void ManToolDocPrinter_::print(std::ostream & stream, ToolDoc const & doc)
stream << ".sp\n";
else if (!isFirstInSection && !line->isParagraph())
stream << ".br\n";
- stream << line->_text << "\n";
+ print_first_in_line(stream, line->_text);
+ stream << "\n";
isFirstInSection = false;
}
break;
@@ -1588,9 +1603,11 @@ void ManToolDocPrinter_::print(std::ostream & stream, ToolDoc const & doc)
case ToolDocEntry_::LIST_ITEM:
{
ToolDocListItem_ const * item = static_cast<ToolDocListItem_ const *>(entry);
- stream << ".TP\n"
- << item->_term << "\n"
- << item->_description << "\n";
+ stream << ".TP\n";
+ print_first_in_line(stream, item->_term);
+ stream << "\n";
+ print_first_in_line(stream, item->_description);
+ stream << "\n";
isFirstInSection = false;
}
break;
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Install the Illumina version of Fiona as well
--- seqan2.orig/apps/fiona/CMakeLists.txt
+++ seqan2/apps/fiona/CMakeLists.txt
@@ -83,7 +83,7 @@
endif (NOT SEQAN_PREFIX_SHARE_DOC)
# Install fiona in ${PREFIX}/bin directory
-install (TARGETS fiona compute_gain DESTINATION ${CMAKE_INSTALL_BINDIR})
+install (TARGETS fiona fiona_illumina compute_gain DESTINATION ${CMAKE_INSTALL_BINDIR})
# Install non-binary files for the package to "." for app builds and
# ${PREFIX}/share/doc/fiona for SeqAn release builds.
......@@ -3,3 +3,6 @@ skip-seqan-revision
fix-version_check-test
skip-some-apps-on-some-archs
tweak_readmes
install_fiona_illumina
ctdVersion.patch
fix_manpage_formatting.patch
......@@ -16,19 +16,16 @@ DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
ifneq (,$(filter sparc64,$(DEB_HOST_ARCH)))
DEB_CXXFLAGS_MAINT_APPEND+=-D__arch64__=1 -DSEQAN_BIG_ENDIAN=1
endif
ifneq (,$(filter mips mipsel mips64el,$(DEB_BUILD_ARCH)))
DEB_CXXFLAGS_MAINT_APPEND+=-mxgot -O2
export DEB_CFLAGS_MAINT_APPEND+=-O2
else
DEB_CXXFLAGS_MAINT_APPEND+=-O3
export DEB_CFLAGS_MAINT_APPEND+=-O3
DEB_CXXFLAGS_MAINT_APPEND+=-mxgot
endif
ifneq (,$(filter mips mipsel,$(DEB_BUILD_ARCH)))
DEB_CXXFLAGS_MAINT_APPEND+=-g1
DEB_CFLAGS_MAINT_APPEND+=-g1
endif
# As per upstream's instructions
DEB_CXXFLAGS_MAINT_APPEND+=-DNDEBUG
export DEB_CFLAGS_MAINT_APPEND+=-O3
export DEB_CXXFLAGS_MAINT_APPEND+=-DNDEBUG -O3
MAX_PARALLEL=""
# Disable or limit parallel building on some build archs to save memory
......@@ -38,13 +35,6 @@ else ifneq (,$(filter amd64,$(DEB_BUILD_ARCH)))
MAX_PARALLEL=--max-parallel=2
endif
# ifneq (,$(filter mips64el ppc64el s390x alpha hppa powerpc ppc64 sparc64,$(DEB_HOST_ARCH)))
# # Disable async io on certain target archs, as per upstream
# # https://github.com/seqan/seqan/issues/1861#issuecomment-336484553
# DEB_CXXFLAGS_MAINT_APPEND+=-DSEQAN_ASYNC_IO=0
# endif
export DEB_CXXFLAGS_MAINT_APPEND
pkgapps=seqan-apps
pkgdev=libseqan2-dev
......@@ -85,6 +75,8 @@ override_dh_install:
fi
find $(CURDIR)/debian/$(pkgapps)/usr/lib/seqan/bin -type f \
-name "*.sh" | xargs chmod a+x
find $(CURDIR)/debian/$(pkgapps)/usr/share/commonwl -type f \
-name "*.cwl" | xargs chmod a+x
override_dh_auto_clean:
dh_auto_clean
......
Tests: run-tests
Depends: seqan-apps
Restrictions: allow-stderr
#!/bin/sh -e
mkdir build
cd build
cmake ../
rmdir bin
ln -s /usr/lib/seqan/bin bin
ctest --tests-regex 'app_.*' --parallel $(nproc)