From 62d3a8cffdbcdefa00571c86850d2caa4f4a8ea2 Mon Sep 17 00:00:00 2001 From: sagitter Date: Tue, 16 Jan 2018 12:28:30 +0100 Subject: [PATCH] Split off applications in a single sub-package --- seqan2-SIMD_vectorization_warning.patch | 29 ++++++++ seqan2.spec | 98 +++++++++++++++---------- 2 files changed, 90 insertions(+), 37 deletions(-) create mode 100644 seqan2-SIMD_vectorization_warning.patch diff --git a/seqan2-SIMD_vectorization_warning.patch b/seqan2-SIMD_vectorization_warning.patch new file mode 100644 index 0000000..dc05df0 --- /dev/null +++ b/seqan2-SIMD_vectorization_warning.patch @@ -0,0 +1,29 @@ +From 2936cd92331f6738c13cc6f7620647d6a05a831a Mon Sep 17 00:00:00 2001 +From: marehr +Date: Mon, 15 Jan 2018 14:31:04 +0100 +Subject: [PATCH] [FIX#2223] "No supported platform for SIMD vectorization!" on + PPC64 + +--- + include/seqan/simd/simd_base_seqan_impl.h | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/include/seqan/simd/simd_base_seqan_impl.h b/include/seqan/simd/simd_base_seqan_impl.h +index ff224df84..006a2d683 100644 +--- a/include/seqan/simd/simd_base_seqan_impl.h ++++ b/include/seqan/simd/simd_base_seqan_impl.h +@@ -48,8 +48,12 @@ + #elif defined(PLATFORM_GCC) && (defined(__x86_64__) || defined(__i386__)) + /* GCC-compatible compiler, targeting x86/x86-64 */ + #include +-#else +- #warning "No supported platform for SIMD vectorization!" ++#elif defined(SEQAN_SIMD_ENABLED) ++ #pragma message "You are trying to build with -DSEQAN_SIMD_ENABLED, which might be " \ ++ "auto-defined if AVX or SSE was enabled (e.g. -march=native, -msse4, ...), " \ ++ "but we only support x86/x86-64 architectures for SIMD vectorization! " \ ++ "You might want to use UME::SIMD (https://github.com/edanor/umesimd) combined " \ ++ "with -DSEQAN_UMESIMD_ENABLED for a different SIMD backend." + #endif + + namespace seqan { diff --git a/seqan2.spec b/seqan2.spec index 669283f..154614b 100644 --- a/seqan2.spec +++ b/seqan2.spec @@ -6,25 +6,8 @@ Name: seqan2 Summary: C++ library of efficient algorithms and data structures Version: 2.4.0 -Release: 0.2.%{date}git%(echo %{checkout} | cut -c-6)%{?dist} -## Seqan apps are licenses under BSD and GPLv3+ and LGPLv3+. -# -# BSD (3-clauses): alf, bs_tools, fiona, fx_tools, gustaf -# insegt, mason2, ngs_roi, param_chooser, rabema, razers3 -# sak, sam2matrix, samcat, searchjoin, seqcons2, yara -# ngs_roi, pair_align, ngs_roi. -# -# GPLv3+: rabema. -# -# LGPLv3+: dfi, insegt, micro_razers, pair_align -# param_chooser, razers, razers3, rep_sep, sak -# seqan_tcoffee, sgip, snp_store, splazers, stellar -# tree_recon. -## -# LGPLv3 gives you permission to relicense the code under GPLv3 -# BSD (3-clauses) is compatible with GPLv3 -# We can use a collective license: -License: GPLv3+ and BSD and LGPLv3+ +Release: 0.3.%{date}git%(echo %{checkout} | cut -c-6)%{?dist} +License: BSD URL: http://www.seqan.de/ Source0: https://github.com/seqan/seqan/archive/%{checkout}.zip#/seqan-%{checkout}.zip @@ -37,6 +20,9 @@ Patch1: %{name}-set_config_filepath.patch # Set paths of plot.awk and ps2pswLinks.gawk files Patch2: %{name}-set_awk_installation.patch +# https://github.com/seqan/seqan/issues/2223 +Patch3: %{name}-SIMD_vectorization_warning.patch + BuildRequires: qt4-devel BuildRequires: cmake, gcc-c++ BuildRequires: llvm-devel @@ -55,12 +41,6 @@ BuildRequires: python2-pytest BuildRequires: python2-jinja2 %endif -Requires: gawk%{?_isa} - -# 'seqan2' is a very recent version of 'seqan' -Obsoletes: seqan <= 0:1.4.2 -Provides: seqan = 0:%{version}-%{release} - ## Bundled files exception https://fedorahosted.org/fpc/ticket/174 Provides: bundled(gnulib) @@ -69,10 +49,49 @@ SeqAn (version 2.x.x) is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. Our library applies a unique generic design that guarantees high performance, -generality, extensibility, and integration with other libraries. +generality, extensibility, and integration with other libraries. -%package devel -Summary: SeqAn (2.x.x) development files +As such, it contains algorithms and data structures for + + * string representation and their manipluation, + * online and indexed string search, + * efficient I/O of bioinformatics file formats, + * sequence alignments, and + * many, many more. + + +%package apps +Summary: SeqAn (2.x.x) applications + +## Seqan apps are licenses under BSD and GPLv3+ and LGPLv3+. +# +# BSD (3-clauses): alf, bs_tools, fiona, fx_tools, gustaf +# insegt, mason2, ngs_roi, param_chooser, rabema, razers3 +# sak, sam2matrix, samcat, searchjoin, seqcons2, yara +# ngs_roi, pair_align, ngs_roi. +# +# GPLv3+: rabema. +# +# LGPLv3+: dfi, insegt, micro_razers, pair_align +# param_chooser, razers, razers3, rep_sep, sak +# seqan_tcoffee, sgip, snp_store, splazers, stellar +# tree_recon. +## +# LGPLv3 gives you permission to relicense the code under GPLv3 +# BSD (3-clauses) is compatible with GPLv3 +# We can use a collective license: +License: GPLv3+ and BSD and LGPLv3+ +Requires: gawk%{?_isa} + +# 'seqan2' is a very recent version of 'seqan' +Obsoletes: seqan <= 0:1.4.2 +Provides: seqan = 0:%{version}-%{release} + +%description apps +All SeqAn applications. + +%package headers +Summary: SeqAn (2.x.x) headers only files # bzip2stream and zipstream libraries are distributed under zlib/libpng # basic/boost*.h libraries are distributed under Boost @@ -83,8 +102,8 @@ License: GPLv3+ and BSD and MIT and LGPLv3+ and zlib and Boost Provides: bundled(bzip2stream) Provides: bundled(zipstream) -%description devel -Developer files for SeqAn, in the form for C header files. +%description headers +C headers files of SeqAn, including pkconfig and CMake configuration files. %package examples Summary: SeqAn (2.x.x) examples @@ -125,6 +144,7 @@ Info files of SeqAn2's apps. %patch0 -p0 %patch1 -p0 %patch2 -p0 +%patch3 -p1 ## Remove spurious executable permissions for i in `find . -type f \( -name "*.h" -o -name "*.cpp" \)`; do @@ -226,7 +246,7 @@ ctest --force-new-ctest-process -VV %{?_smp_mflags} %endif %endif -%files +%files apps %license LICENSE %license apps/*/*-LICENSE apps/rabema/rabema-COPYING %doc README.rst CHANGELOG.rst @@ -238,12 +258,7 @@ ctest --force-new-ctest-process -VV %{?_smp_mflags} %{_datadir}/%{name}/pdf_plot_helper/plot.awk %{_datadir}/%{name}/pdf_plot_helper/ps2pswLinks.gawk -%files doc -%license LICENSE -%doc README.rst CHANGELOG.rst -%{_pkgdocdir}/ - -%files devel +%files headers %license include/seqan/LICENSE %doc README.rst CHANGELOG.rst %{_includedir}/%{name}/ @@ -254,7 +269,16 @@ ctest --force-new-ctest-process -VV %{?_smp_mflags} %{_libexecdir}/%{name}/ %exclude %{_libexecdir}/%{name}/examples/*/LICENSE +%files doc +%license LICENSE +%doc README.rst CHANGELOG.rst +%{_pkgdocdir}/ + %changelog +* Tue Jan 16 2018 Antonio Trande - 2.4.0-0.3.20180103git8a875d +- Split off applications in a single sub-package +- Devel rpm renamed seqan-headers + * Sat Jan 13 2018 Antonio Trande - 2.4.0-0.2.20180103git8a875d - plot.awk/ps2pswLinks.gawk installed in a private share datadir - plot.awk/ps2pswLinks.gawk symliked in '_bindir'