Blob Blame History Raw
%global with_check 0

Name:      openms
Summary:   LC/MS data management and analyses
Version:   2.4.0
Release:   1%{?dist}
License:   BSD
URL:       http://www.openms.de/
Source0:   https://github.com/OpenMS/OpenMS/archive/Release%{version}/OpenMS-Release%{version}.tar.gz

##TOPPView, TOPPAS, INIFileEditor .desktop and icon files
Source1:   https://raw.githubusercontent.com/OpenMS/OpenMS/develop/src/openms_gui/source/VISUAL/ICONS/TOPPView.png
Source2:   https://raw.githubusercontent.com/OpenMS/OpenMS/develop/src/openms_gui/source/VISUAL/ICONS/TOPPAS.png
Source3:   https://raw.githubusercontent.com/OpenMS/OpenMS/develop/src/openms_gui/source/VISUAL/ICONS/INIFileEditor.png
Source4:   inifileeditor.desktop

BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtx11extras-devel
BuildRequires: qt5-qtwebkit-devel
BuildRequires: qt5-qtsvg-devel
BuildRequires: cmake
BuildRequires: coin-or-Cbc-devel
BuildRequires: coin-or-Cgl-devel
BuildRequires: coin-or-Clp-devel
BuildRequires: coin-or-CoinUtils-devel
BuildRequires: coin-or-Osi-devel
BuildRequires: libsvm-devel
BuildRequires: gcc-c++
BuildRequires: gsl-devel
BuildRequires: glpk-devel
BuildRequires: xerces-c-devel
BuildRequires: boost-devel
BuildRequires: seqan-devel <= 1.4.2
BuildRequires: sqlite-devel
BuildRequires: wildmagic5-devel
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: tbb-devel
BuildRequires: eigen3-devel
BuildRequires: desktop-file-utils
BuildRequires: fido-pi
BuildRequires: percolator
BuildRequires: libappstream-glib

## Build documentation
## Doxygen useful only on SVN versions  
BuildRequires: doxygen, dos2unix, graphviz
BuildRequires: texlive, texlive-a4wide, texlive-xtab

##Xvfb is needed to run a virtual X server used by some tests
BuildRequires: xorg-x11-server-Xvfb, gnuplot

Requires: fido-pi%{?_isa}
Requires: percolator%{?_isa}
Requires: R-core%{?_isa}
Requires: %{name}-data%{?_isa} = %{version}-%{release}

# Python2 binding is no longer available starting from 2.4.0 release
Obsoletes: python2-openms < 0:2.4.0-1

# Python binding looks need too much memory to be compiled
%global with_pyOpenMS 0
Obsoletes: python3-openms < 0:2.4.0-1

##Remove -O0 flag for tests compiling
Patch0: %{name}-remove_testflag.patch

##Fix SyntaxError: in Python3
Patch1: %{name}-fix_print_error.patch

##Remove unrecognized command line options
Patch2: %{name}-remove-unrecognized-options.patch

%description
OpenMS is a C++ library for LC-MS data management and analyses.
It offers an infrastructure for the rapid development of mass spectrometry
related software. OpenMS is free software available under the three clause BSD
license and runs under Windows, MacOSX and Linux.

It comes with a vast variety of pre-built and ready-to-use tools for proteomics
and metabolomics data analysis (TOPPTools) and
powerful 2D and 3D visualization(TOPPView).

OpenMS offers analyses for various quantitation protocols,
including label-free quantitation, SILAC, iTRAQ, SRM, SWATH, etc.

It provides built-in algorithms for de-novo identification and database search,
as well as adapters to other state-of-the art tools like XTandem, Mascot,
OMSSA, etc.
It supports easy integration of OpenMS built tools into workflow engines like
Knime, Galaxy, WS-Pgrade, and TOPPAS via the TOPPtools concept and
a unified parameter handling via a 'common tool description' (CTD) scheme.

The OpenMS Proteomics Pipeline is a pipeline for 
the analysis of HPLC-MS data. 
It consists of several small applications that 
can be chained to create analysis pipelines tailored 
for a specific problem.

The TOPP tools are divided into several subgroups:
 
 - Graphical Tools
 - File Handling
 - Signal Processing and Preprocessing
 - Quantitation
 - Map Alignment
 - Protein/Peptide Identification
 - Protein/Peptide Processing
 - Targeted Experiments
 - Peptide Property Prediction
 - Misc

%package tools
Summary: OpenMS tools
Requires: %{name}-data%{?_isa} = %{version}-%{release}
%description tools
Besides TOPP, OpenMS offers a range of other tools. 
They are not included in TOPP as they are not part of 
typical analysis pipelines, but they still might be 
very helpful to you.

The UTILS tools are divided into several subgroups:
 
 - Maintenance
 - Signal Processing and Preprocessing
 - File handling
 - Algorithm evaluation
 - Peptide identification
 - Quantitation
 - Misc
 - Metabolite identification
 - Quality control

%if 0%{?with_pyOpenMS}
%package -n python3-openms
Summary: Python wrapper for OpenMS
%{?python_provide:%python_provide python3-%{name}}

BuildRequires: python3-setuptools
BuildRequires: python3-devel
BuildRequires: python3-numpy
BuildRequires: python3-nose
BuildRequires: python3-autowrap >= 0.8.1
BuildRequires: %{_bindir}/cython
BuildRequires: python3-wheel
BuildRequires: python3-biopython
Requires: python3-biopython%{?_isa}
Requires: %{name}%{?_isa} = %{version}-%{release}

%description -n python3-openms
This package contains Python3 bindings for a large part of the OpenMS library
for mass spectrometry based proteomics.  It thus provides providing facile 
access to a feature-rich, open-source algorithm library 
for mass-spectrometry based proteomics analysis. 
These Python bindings allow raw access to the data-structures and algorithms 
implemented in OpenMS, specifically those for file access 
(mzXML, mzML, TraML, mzIdentML among others), basic signal processing 
(smoothing, filtering, de-isotoping and peak-picking) and complex data analysis 
(including label-free, SILAC, iTRAQ and SWATH analysis tools).
%endif

%package devel
Summary: OpenMS header files
%description devel
OpenMS development files.

%package data
Summary: The OpenMS data files
%description data
The OpenMS data files.

%package doc
Summary: OpenMS documentation
BuildArch: noarch
%description doc
HTML documentation of OpenMS.

%prep
%autosetup -N -n OpenMS-Release%{version}
rm -rf cmake/MacOSX

dos2unix share/OpenMS/examples/simulation/FASTAProteinAbundanceSampling.py
%autopatch -p0

# Remove invalid tags
sed -e 's| <project_group></project_group>||g' -i share/OpenMS/DESKTOP/*.appdata.xml

# Remove spurious exe permissions
find . -type f -name "*.h" -exec chmod 0644 '{}' \;
find . -type f -name "*.cpp" -exec chmod 0644 '{}' \;


%build
mkdir -p build && pushd build
%cmake -Wno-dev -DCMAKE_CXX_COMPILER_VERSION:STRING=$(gcc -dumpversion) \
 -DCMAKE_COLOR_MAKEFILE:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DENABLE_TOPP_TESTING:BOOL=OFF -DENABLE_CLASS_TESTING:BOOL=OFF \
 -DCMAKE_CXX_FLAGS_RELEASE:STRING="-Wno-cpp $RPM_OPT_FLAGS" -DCMAKE_C_FLAGS_RELEASE:STRING="-Wno-cpp $RPM_OPT_FLAGS" \
 -DCMAKE_VERBOSE_MAKEFILE=TRUE -DCMAKE_PREFIX_PATH=%{_prefix} \
 -DENABLE_SVN=OFF -DCMAKE_BUILD_TYPE=Release -DBOOST_USE_STATIC=OFF \
 -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
 -DMT_ENABLE_OPENMP=ON -DENABLE_GCC_WERROR:BOOL=OFF \
 -DFIDO_BINARY:FILEPATH=%{_bindir}/Fido -DFIDOCHOOSEPARAMS_BINARY:FILEPATH=%{_bindir}/FidoChooseParameters \
 -DPERCOLATOR_BINARY:FILEPATH=%{_bindir}/percolator \
 -DBOOST_USE_STATIC:BOOL=OFF -DBoost_INCLUDE_DIR:PATH=%{_includedir} \
 -DBoost_IOSTREAMS_LIBRARY_RELEASE:FILEPATH=%{_libdir}/libboost_iostreams.so \
 -DBoost_MATH_C99_LIBRARY_RELEASE:FILEPATH=%{_libdir}/libboost_math_c99.so \
 -DBoost_REGEX_LIBRARY_RELEASE:FILEPATH=%{_libdir}/libboost_regex.so \
 -DENABLE_TUTORIALS:BOOL=OFF -DENABLE_UNITYBUILD:BOOL=OFF \
 -DHAS_XSERVER:BOOL=OFF \
 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
 -DINSTALL_BIN_DIR:PATH=bin -DINSTALL_CMAKE_DIR:PATH=%{_lib}/cmake/OpenMS \
 -DINSTALL_DOC_DIR:PATH=share/doc/openms-doc -DINSTALL_INCLUDE_DIR:PATH=include \
 -DINSTALL_LIB_DIR:PATH=%{_lib}/OpenMS -DINSTALL_SHARE_DIR:PATH=share/OpenMS \
 -DPACKAGE_TYPE:STRING=none -DWITH_GUI:BOOL=ON \
 -DXercesC_INCLUDE_DIRS:PATH=%{_includedir}/xercesc \
 -DXercesC_LIBRARY_RELEASE:FILEPATH=%{_libdir}/libxerces-c.so \
 -DOPENMS_DISABLE_UPDATE_CHECK:BOOL=OFF -DENABLE_UPDATE_CHECK:BOOL=OFF -DGIT_TRACKING:BOOL=OFF \
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
 -DOPENMS_64BIT_ARCHITECTURE:BOOL=ON \
%else
 -DOPENMS_64BIT_ARCHITECTURE:BOOL=OFF \
%endif
%if 0%{?with_pyOpenMS}
 -DPYOPENMS=ON -DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \
 -DCYTHON_EXECUTABLE:FILEPATH=%{_bindir}/cython3 \
 -DPY_NUM_THREADS:STRING=2 -DPY_NUM_MODULES:STRING=4 ..
%else
 -DPYOPENMS=OFF ..
%endif

%if 0%{?with_check}
make -O --jobs 4 OpenMS TOPP UTILS GUI
%else
%make_build OpenMS TOPP UTILS GUI
%endif

%if 0%{?with_pyOpenMS}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
make -O --jobs 4 pyopenms
%endif
popd

%install
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
xvfb-run -a %make_install -C build

%if 0%{?with_pyOpenMS}
cd pyOpenMS
%py3_install

ln -s -f %{_libdir}/OpenMS/libOpenMS.so %{buildroot}%{python3_sitearch}/pyopenms/libOpenMS.so
ln -s -f %{_libdir}/OpenMS/libOpenSwathAlgo.so %{buildroot}%{python3_sitearch}/pyopenms/libOpenSwathAlgo.so
ln -s -f %{_libdir}/OpenMS/libSuperHirn.so %{buildroot}%{python3_sitearch}/pyopenms/libSuperHirn.so

## Fix R script
sed -i "1 s|^#!/usr/bin/env Rscript\b|#!/usr/bin/Rscript|" %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/SCRIPTS/plot_trafo.R
chmod 0755 %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/SCRIPTS/plot_trafo.R
sed -i -e '1i#!/usr/bin/Rscript' %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/SCRIPTS/mzTab2tsv_PEP.R
sed -i -e '1i#!/usr/bin/Rscript' %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/SCRIPTS/mzTab2tsv_PRT.R
sed -i -e '1i#!/usr/bin/Rscript' %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/SCRIPTS/mzTab2tsv_PSM.R

# wrong-script-end-of-line-encoding
sed -i 's/\r$//' %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/SCRIPTS/mzTab2tsv_PRT.R
sed -i 's/\r$//' %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/TOOLS/EXTERNAL/Rscript_mzTab2tsv_PRT.ttd
sed -i 's/\r$//' %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/TOOLS/EXTERNAL/Rscript_mzTab2tsv_PSM.ttd

# OBO should be a text file format used by OBO-Edit
chmod 0644 %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/CV/*.obo
chmod 0644 %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/TOOLS/EXTERNAL/*.ttd
chmod 0644 %{buildroot}%{python3_sitearch}/pyopenms/share/OpenMS/CHEMISTRY/Enzymes.xml

## Fix standard permissions
chmod 0755 %{buildroot}%{python3_sitearch}/pyopenms/pyopenms_*.so
cd ..
%endif #with_pyOpenMS

##Install TOPPAS/TOPPView .png icons
mkdir -p %{buildroot}%{_datadir}/icons/TOPP/pixmaps
install -pm 644 %{SOURCE1} %{buildroot}%{_datadir}/icons/TOPP
install -pm 644 %{SOURCE2} %{buildroot}%{_datadir}/icons/TOPP
install -pm 644 %{SOURCE3} %{buildroot}%{_datadir}/icons/TOPP

##Install TOPPAS/TOPPView/inifileeditor .desktop files
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install \
 --set-key=Exec --set-value="env LD_LIBRARY_PATH=%{_libdir}/OpenMS OPENMS_DATA_PATH=%{_datadir}/OpenMS TOPPAS %U" \
 --set-icon=%{_datadir}/icons/TOPP/TOPPAS.png \
 --set-key=StartupNotify --set-value=true \
 --dir=%{buildroot}%{_datadir}/applications share/OpenMS/DESKTOP/TOPPAS.desktop

desktop-file-install \
 --set-key=Exec --set-value="env LD_LIBRARY_PATH=%{_libdir}/OpenMS OPENMS_DATA_PATH=%{_datadir}/OpenMS TOPPView %U" \
 --set-icon=%{_datadir}/icons/TOPP/TOPPView.png \
 --set-key=StartupNotify --set-value=true \
 --dir=%{buildroot}%{_datadir}/applications share/OpenMS/DESKTOP/TOPPView.desktop

desktop-file-install \
 --set-key=Exec --set-value="env LD_LIBRARY_PATH=%{_libdir}/OpenMS OPENMS_DATA_PATH=%{_datadir}/OpenMS INIFileEditor %U" \
 --dir=%{buildroot}%{_datadir}/applications %{SOURCE4}

##Install appdata files
mkdir -p %{buildroot}%{_metainfodir}
install -pm 644 share/OpenMS/DESKTOP/*.appdata.xml %{buildroot}%{_metainfodir}/

##HTML files copied
##I want package them by using %%doc macro
cp -a %{buildroot}%{_datadir}/doc/openms-doc/html html
cp -p %{buildroot}%{_datadir}/doc/openms-doc/index.html ./
rm -rf %{buildroot}%{_datadir}/doc/openms-doc/html
rm -f %{buildroot}%{_datadir}/doc/openms-doc/index.html

## Fix R script
sed -i "1 s|^#!/usr/bin/env Rscript\b|#!/usr/bin/Rscript|" %{buildroot}%{_datadir}/OpenMS/SCRIPTS/plot_trafo.R

chmod 0755 %{buildroot}%{_datadir}/OpenMS/SCRIPTS/plot_trafo.R

%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml
%if 0%{?with_check}
pushd build
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
export PATH=$PWD/bin:$PATH
export OPENMS_DATA_PATH=$PWD/share/OpenMS:$OPENMS_DATA_PATH
## starting tests
xvfb-run -a ctest -V -R OpenMS_ --force-new-ctest-process %{?_smp_mflags}
popd
%endif

%files
%{_bindir}/TOPPView
%{_bindir}/TOPPAS
%{_bindir}/INIFileEditor
%{_bindir}/DTAExtractor
%{_bindir}/FileConverter
%{_bindir}/FileInfo
%{_bindir}/FileMerger
%{_bindir}/IDMerger
%{_bindir}/IDRipper
%{_bindir}/IDFileConverter
%{_bindir}/MapStatistics
%{_bindir}/SpectraMerger
%{_bindir}/TextExporter
%{_bindir}/MzTabExporter
%{_bindir}/BaselineFilter
%{_bindir}/InternalCalibration
%{_bindir}/MapNormalizer
%{_bindir}/MassTraceExtractor
%{_bindir}/NoiseFilterGaussian
%{_bindir}/NoiseFilterSGolay
%{_bindir}/PeakPickerHiRes
%{_bindir}/PeakPickerWavelet
%{_bindir}/PrecursorMassCorrector
%{_bindir}/HighResPrecursorMassCorrector
%{_bindir}/Resampler
%{_bindir}/SpectraFilterBernNorm
%{_bindir}/SpectraFilterMarkerMower
%{_bindir}/SpectraFilterNLargest
%{_bindir}/SpectraFilterNormalizer
%{_bindir}/SpectraFilterParentPeakMower
%{_bindir}/SpectraFilterScaler
%{_bindir}/SpectraFilterSqrtMower
%{_bindir}/SpectraFilterThresholdMower
%{_bindir}/SpectraFilterWindowMower
%{_bindir}/TOFCalibration
%{_bindir}/Decharger
%{_bindir}/EICExtractor
%{_bindir}/FeatureFinderCentroided
%{_bindir}/FeatureFinderIsotopeWavelet
%{_bindir}/FeatureFinderMetabo
%{_bindir}/FeatureFinderMRM
%{_bindir}/FeatureLinkerUnlabeledKD
%{_bindir}/IsobaricAnalyzer
%{_bindir}/ProteinQuantifier 
%{_bindir}/ProteinResolver
%{_bindir}/SeedListGenerator
%{_bindir}/ConsensusMapNormalizer
%{_bindir}/MapAlignerIdentification
%{_bindir}/MapAlignerPoseClustering
%{_bindir}/MapAlignerSpectrum
%{_bindir}/MapRTTransformer
%{_bindir}/FeatureLinkerLabeled
%{_bindir}/FeatureLinkerUnlabeled
%{_bindir}/FeatureLinkerUnlabeledQT
%{_bindir}/CompNovo
%{_bindir}/CompNovoCID
%{_bindir}/InspectAdapter
%{_bindir}/MascotAdapter
%{_bindir}/MascotAdapterOnline
%{_bindir}/MyriMatchAdapter
%{_bindir}/OMSSAAdapter
%{_bindir}/PepNovoAdapter
%{_bindir}/XTandemAdapter
%{_bindir}/SpecLibSearcher
%{_bindir}/ConsensusID
%{_bindir}/FalseDiscoveryRate
%{_bindir}/IDConflictResolver
%{_bindir}/IDFilter
%{_bindir}/IDMapper
%{_bindir}/IDPosteriorErrorProbability
%{_bindir}/IDRTCalibration
%{_bindir}/PeptideIndexer
%{_bindir}/ProteinInference
%{_bindir}/InclusionExclusionListCreator
%{_bindir}/PrecursorIonSelector
%{_bindir}/MRMMapper
%{_bindir}/MetaProSIP
%{_bindir}/OpenSwathDecoyGenerator
%{_bindir}/OpenSwathChromatogramExtractor
%{_bindir}/OpenSwathAnalyzer
%{_bindir}/OpenSwathRTNormalizer
%{_bindir}/OpenSwathFeatureXMLToTSV
%{_bindir}/OpenSwathConfidenceScoring
%{_bindir}/OpenSwathAssayGenerator
%{_bindir}/PTModel
%{_bindir}/PTPredict
%{_bindir}/RTModel
%{_bindir}/RTPredict
%{_bindir}/GenericWrapper
%{_bindir}/ExecutePipeline
%{_bindir}/FeatureFinderIdentification
%{_bindir}/FeatureFinderMultiplex
%{_bindir}/FidoAdapter
%{_bindir}/LowMemPeakPickerHiRes
%{_bindir}/LowMemPeakPickerHiResRandomAccess
%{_bindir}/MRMTransitionGroupPicker
%{_bindir}/MSGFPlusAdapter
%{_bindir}/MetaboliteSpectralMatcher
%{_bindir}/OpenSwathWorkflow
%{_bindir}/PeakPickerIterative
%{_bindir}/PercolatorAdapter
%{_bindir}/SimpleSearchEngine
%{_bindir}/IDScoreSwitcher
%{_bindir}/MzMLSplitter
%{_bindir}/LuciphorAdapter
%{_bindir}/DatabaseFilter
%{_bindir}/RNPxlSearch
%{_metainfodir}/*.appdata.xml
%{_datadir}/applications/TOPPAS.desktop
%{_datadir}/applications/TOPPView.desktop
%{_datadir}/applications/inifileeditor.desktop
%{_datadir}/icons/TOPP/
%{_libdir}/OpenMS/

%files tools
%{_bindir}/AssayGeneratorMetabo
%{_bindir}/ClusterMassTraces
%{_bindir}/ClusterMassTracesByPrecursor
%{_bindir}/CruxAdapter
%{_bindir}/MSFraggerAdapter
%{_bindir}/MSstatsConverter
%{_bindir}/MaRaClusterAdapter
%{_bindir}/NovorAdapter
%{_bindir}/RNADigestor
%{_bindir}/CometAdapter
%{_bindir}/MetaboliteAdductDecharger
%{_bindir}/OpenPepXL
%{_bindir}/OpenPepXLLF
%{_bindir}/PSMFeatureExtractor
%{_bindir}/SiriusAdapter
%{_bindir}/XFDR
%{_bindir}/RNPxlSearch
%{_bindir}/SpectraSTSearchAdapter
%{_bindir}/DatabaseFilter
%{_bindir}/TargetedFileConverter
%{_bindir}/FileFilter
%{_bindir}/IDDecoyProbability
%{_bindir}/OpenMSInfo
%{_bindir}/ExternalCalibration
%{_bindir}/OpenSwathFileSplitter
%{_bindir}/MultiplexResolver
%{_bindir}/TICCalculator
%{_bindir}/PhosphoScoring
%{_bindir}/INIUpdater
%{_bindir}/RNPxlXICFilter
%{_bindir}/FuzzyDiff
%{_bindir}/XMLValidator
%{_bindir}/SemanticValidator
%{_bindir}/CVInspector
%{_bindir}/IDSplitter
%{_bindir}/OpenSwathMzMLFileCacher
%{_bindir}/FFEval
%{_bindir}/LabeledEval
%{_bindir}/RTEvaluation
%{_bindir}/TransformationEvaluation
%{_bindir}/Digestor
%{_bindir}/DigestorMotif
%{_bindir}/DecoyDatabase
%{_bindir}/SequenceCoverageCalculator
%{_bindir}/IDExtractor
%{_bindir}/IDMassAccuracy 
%{_bindir}/SpecLibCreator
%{_bindir}/ERPairFinder
%{_bindir}/MRMPairFinder
%{_bindir}/FeatureFinderSuperHirn
%{_bindir}/ImageCreator
%{_bindir}/MassCalculator
%{_bindir}/MSSimulator
%{_bindir}/SvmTheoreticalSpectrumGeneratorTrainer
%{_bindir}/DeMeanderize
%{_bindir}/OpenSwathDIAPreScoring
%{_bindir}/OpenSwathRewriteToFeatureXML
%{_bindir}/AccurateMassSearch
%{_bindir}/QCCalculator
%{_bindir}/QCImporter
%{_bindir}/QCEmbedder
%{_bindir}/QCExporter
%{_bindir}/QCExtractor
%{_bindir}/QCMerger
%{_bindir}/QCShrinker

%files data
%doc CHANGELOG AUTHORS README
%license LICENSE
%{_datadir}/OpenMS/
%exclude %{_datadir}/OpenMS/examples/external_code/*.h
%exclude %{_datadir}/OpenMS/examples/external_code/*.cpp

%files doc
%doc CHANGELOG AUTHORS README
%license LICENSE
%doc html index.html

%files devel
%license LICENSE
%doc CHANGELOG AUTHORS README
%{_includedir}/OpenMS/
%{_datadir}/OpenMS/examples/external_code/*.h
%{_datadir}/OpenMS/examples/external_code/*.cpp

%if 0%{?with_pyOpenMS}
%files -n python3-openms
%license src/pyOpenMS/License.txt
%{python3_sitearch}/pyopenms/
%{python3_sitearch}/pyopenms-*.egg-info/
%endif

%changelog
* Tue Oct 30 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.4.0-1
- Release 2.4.0
- Disable Python3 binding
- Drop Python2 binding
- Use Qt5

* Wed Aug 22 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-14
- Patched for removing unrecognized command line options

* Wed Aug 22 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-13
- Deprecate Python2 binding of fedora 30+

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.3.0-11
- Rebuilt for Python 3.7

* Mon May 21 2018 Jerry James <loganjerry@gmail.com> - 2.3.0-10
- Rebuild for glpk 4.65

* Wed Mar 07 2018 Adam Williamson <awilliam@redhat.com> - 2.3.0-9
- Rebuild to fix GCC 8 mis-compilation
  See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")

* Mon Feb 12 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-8
- Fix XML file's permissions

* Sun Feb 11 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-7
- Compile pyOpenMS
- Set Python2 required packages
- Fix R scripts shebang

* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Mon Feb 05 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-5
- Rebuild for boost-1.66
- Remove obsolete scriptlets

* Wed Jan 10 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-4
- Set maximum required version of seqan

* Fri Jan 05 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-3
- Tests disabled

* Fri Jan 05 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-2
- Fix R script

* Wed Jan 03 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.3.0-1
- Update to OpenMS-2.3.0
- Drop obsolete GCC7 patches

* Thu Dec 21 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.2.0-7
- Appdata file moved into metainfo data directory

* Mon Nov 13 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.2.0-6
- Rebuild OpenMS-2.2.0
- Remove obsolete patch

* Fri Oct 13 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.2.0-5
- Rebuild for wildmagic5-5.17

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Jul 24 2017 Björn Esser <besser82@fedoraproject.org> - 2.2.0-3
- Rebuilt for Boost 1.64

* Sun Jul 23 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.2.0-2
- Rebuild for boost-1.64

* Wed Jun 28 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.2.0-1
- Update to 2.2.0
- Include patch for GCC-7

* Sat Jun 10 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.1.0-9.20170131gitbde813
- Rebuild for wildmagic5-5.15

* Fri Apr 14 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.1.0-8.20170131gitbde813
- Rebuild for biopython-1.69

* Wed Apr 05 2017 Jerry James <loganjerry@gmail.com> - 2.1.0-7.20170131gitbde813
- Rebuild for glpk 4.61

* Tue Feb 07 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.1.0-6.20170131gitbde813
- Rebuild for boost-1.63

* Tue Jan 31 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.1.0-5.20170131gitbde813
- Rebuild for GCC-7.0.1
- Add CMAKE_CXX_COMPILER_VERSION option

* Fri Jan 27 2017 Jonathan Wakely <jwakely@redhat.com> - 2.1.0-4
- Rebuilt for Boost 1.63

* Fri Jan 06 2017 Antonio Trande <sagitter@fedoraproject.org> - 2.1.0-3
- Fix desktop icons

* Wed Dec 28 2016 Rich Mattes <richmattes@gmail.com> - 2.1.0-2
- Rebuild for eigen3-3.3.1

* Tue Nov 22 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.1.0-1
- Update to 2.1.0 (stable release)
- Drop old patch

* Thu Nov 10 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.1.0-0.1
- Update to 2.1.0 (pre-release)
- Patched to fix PyOpenMS
- Python bindings disabled (upstream issue #2286)

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-35.20160121git6f51b3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Fri Jun 24 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-34.20160121git6f51b3
- Rebuild for Biopython-1.67

* Tue May 17 2016 Jonathan Wakely <jwakely@redhat.com> - 2.0.0-33.20160121git6f51b3
- Rebuilt for linker errors in boost (#1331983)

* Sat Mar 12 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-32.20160121git6f51b3
- Rebuild for GLPK-4.59

* Fri Feb 19 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-31.20160121git6f51b3
- Rebuild for GLPK-4.58

* Mon Feb 15 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-30.20160121git6f51b3
- Macros removed from Obsolets tags

* Sun Feb 14 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-29.20160121git6f51b3
- PyOpenMS disabled on x86 arches
- Remove invalid tags from appdata files

* Sun Feb 14 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-28.20160121git6f51b3
- Specified the number of Make jobs
- Patched for GCC-6

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-27.20160121git6f51b3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jan 27 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-26.20160121git6f51b3
- Fixed package dependency

* Tue Jan 26 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-25.20160121git6f51b3
- Data sub-package arched

* Mon Jan 25 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-24.20160121git6f51b3
- Disabled HAS_XSERVER option

* Fri Jan 22 2016 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-23.20160121git6f51b3
- Update to commit #6f51b3
- Excluded some tests
- Added python provides macros
- Rebuild for wildmagic5-5.14
- Fixed Python2 sub-package
- Removed tutorials

* Thu Dec 10 2015 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-22.20151210gitf19f8b
- Update to commit #f19f8b
- Python3 binding
- Added python-biopython as BR package

* Wed Nov 04 2015 Antonio Trande <sagitter@fedoraproject.org> - 2.0.0-21.20150529git88dc25
- Hardened builds on <F23

* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 2.0.0-20.20150529git88dc25
- Rebuilt for Boost 1.59

* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-19.20150529git88dc25
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159

* Fri Jul 24 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-18.20150529git88dc25
- Rebuild again

* Sat Jul 18 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-17.20150529git88dc25
- Rebuild for Boost upgrade to 1.58.0

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-16.20150529git88dc25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri Jun 12 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-15.20150529git88dc25
- memleak test excluded again

* Tue Jun 09 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-14.20150529git88dc25
- Exclude TOPP_OpenSwathAssayGenerator_test_1_out1 test

* Tue Jun 09 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-13.20150529git88dc25
- Update to the post-release #88dc25
- Packaged MetaProSIP and OpenSwathAssayGenerator
- Obsolete wrong python2-openms 2.0.0
- Replaced XTandem with fido-pi

* Fri May 15 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-12
- Bug fix in upstream desktop files

* Fri May 15 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-11
- Fix PeakPickerWavelet test
- Set environment variables in desktop files

* Fri May 08 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-10
- Excluded TOPP_XTandemAdapter_ test

* Fri May 08 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-9
- Rebuild after XTandem update
- Try to execute XTandem test

* Sat May 02 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-8
- memleaks test excluded

* Sat May 02 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-7
- mzML unittests patched
- PyOpenMS compiled without parallel make
- PyOpenMS tests disabled

* Fri May 01 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-6
- Source archive re-compressed by upstream
- Sym-linked the library pyopenms/libSuperHirn.so

* Fri May 01 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-5
- SPEC cleanups

* Thu Apr 30 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-4
- Patched pyOpenMS version definition
- Removed 'pyopenms_bdist_egg' make target

* Thu Apr 30 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-3
- PyOpenMS is still compiled against Python2 on Linux

* Mon Apr 13 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-2
- Fix make test

* Sat Apr 11 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0.0-1
- Update to the release 2.0

* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 1.11.1-12
- Rebuild for boost 1.57.0

* Sat Dec 13 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-11
- Parallel make disabled

* Fri Dec 12 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-10
- Parallel make just on Fedora 20+

* Mon Dec 08 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-9
- Fixed unused-direct-shlib-dependency warnings
- Fixed residual spurious executable permissions
- Avoided python shared object stripping
- Added a patch (Patch5) to detect additional QT libraries

* Fri Dec 05 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-8
- Fixed INIFileEditor .desktop file
- Fixed some spurious executable permissions

* Fri Dec 05 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-7
- Fixed some cmake options
- Fixed %%post/%%postun/%%posttrans
- Added TOPP and Tutorial tests
- Fixed iCPP warnings of the PNG files
- Built a noarch data sub-package
- python-openms's data file directory linked to /usr/share/OpenMS  
- TOPP tests disabled (some of them fail)

* Tue Oct 07 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-6
- Added conditional arch macro

* Mon Oct 06 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-5
- Included XTandem BR

* Mon Sep 29 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-4
- Added cmake's options for TBB
- Added nested C++ templates patch (Patch4)

* Mon Jun 30 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-3
- Added setuptools patch
- Added library patch
- pyOpenMS building enabled
- Performed pyOpenMS tests
- Added .desktop files and related .xpm icons

* Sun Jun 01 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-2
- Check disabled
- pyOpenMS building disabled
- Added a macro for pyOpenMS

* Thu May 22 2014 Antonio Trande <sagitter@fedoraproject.org> 1.11.1-1
- First package