# Conditional for release and snapshot builds. Uncomment for release-builds.
%global rel_build 1
%global branch 6.0
%global gtest_ver 1.8.0
# Settings used for build from snapshots.
%if 0%{?rel_build}
%global commit 03b8c1cc3b8f4426a2fe80055fdfdc9e156953b6
%global commit_date 20160201
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global gitver git%{commit_date}-%{shortcommit}
%global gitrel .git%{commit_date}.%{shortcommit}
%global gittar %{name}-%{version}-%{gitver}.tar.gz
%endif # 0%%{?rel_build}
### Build configuration.
# Interfaces
%bcond_without java
%bcond_without lua
%ifarch %{mono_arches}
%bcond_without mono
%else # arch %%{mono_arches}
%bcond_with mono
%endif # arch %%{mono_arches}
# Octave-bindings are failing on %%{arm} with "virtual memory exhausted:
# Operation not permitted", even when building single-threaded. Retiring
# for now, until Koji-builders are on arm64-hardware. See rhbz# 1215737:
# https://bugzilla.redhat.com/show_bug.cgi?id=1215737
%ifnarch %{arm}
%bcond_without octave
%else # narch %%{arm}
%bcond_with octave
%endif # narch %%{arm}
# Perl is not fully implemented by upstream, yet. Disabling.
%bcond_with perl
%bcond_without python
# There's no Python3 on older distributions.
%if 0%{?fedora} || 0%{?rhel} >= 8
%bcond_without python3
%global python %{__python3}
%else # 0%%{?fedora} || 0%%{?rhel} >= 8
%bcond_with python3
%global python %{__python2}
%endif # 0%%{?fedora} || 0%%{?rhel} >= 8
%bcond_without r
%bcond_without ruby
# Configuration related to swig.
%bcond_with reduce_swig_debug
%bcond_without swig_single_threaded
# Memtest is much too slow to run on Koji.
%bcond_with memtest
%bcond_without testsuite
# The doc-pkg should be build noarch, but for some reason
# it differs between the various arches.
%bcond_with noarch_doc
# These are disabled by default.
# OpenCV-integration is crappy.
%bcond_with opencv
# We cannot ship with build-in SVMlight, because of it's crappy license.
%bcond_with svmlight
# This url is common for patches and snapshot builds.
%global giturl https://github.com/%{name}-toolbox/%{name}
# Filter all provides from bindings and private libs.
%global __provides_exclude_from ^(%{_libdir}/.*/.*%{name}\\.so|%{_libdir}/libmod%{name}.so)
# Do not check any files in docdir for Requires.
%global __requires_exclude_from ^%{_docdir}/.*$
# Setup _pkgdocdir if not defined already.
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
# CMake-builds go out-of-tree. Tests are not run in %%{buildroot}.
%global _cmake_build_subdir %{_target_platform}
%global _cmake_testinstall_dir %{name}-%{version}-%{_target_platform}
# Compiling the swig-generated bindings needs too much memory to build the
# the linker-objects in virtual memory for piping through different gcc
# instances, thus we use temporary files instead of pipes to pass the result.
# Also disabling '-Wmisleading-indentation' and '-fvar-tracking-assignments'
# saves a lot of RAM.
%global optflags_shogun %(echo '%{optflags} -Wno-misleading-indentation -fno-var-tracking-assignments' | %{__sed} -e 's![ \t]*-pipe[ \t]*! !g')
# The description commonly used by all (sub-)packages.
%global common_description \
The Shogun Machine learning toolbox provides a wide range of unified and \
efficient Machine Learning (ML) methods. The toolbox seamlessly allows to \
easily combine multiple data representations, algorithm classes, and general \
purpose tools. This enables both rapid prototyping of data pipelines and \
extensibility in terms of new algorithms. We combine modern software \
architecture in C++ with both efficient low-level computing back-ends and \
cutting edge algorithm implementations to solve large-scale Machine Learning \
problems (yet) on single machines. \
\
One of Shogun's most exciting features is that you can use the toolbox through \
a unified interface from C++, Python(3), Octave, R, Java, Lua, etc. This not \
just means that we are independent of trends in computing languages, but it \
also lets you use Shogun as a vehicle to expose your algorithm to multiple \
communities. We use SWIG to enable bidirectional communication between C++ \
and target languages. Shogun runs under Linux/Unix, MacOS, Windows. \
\
Originally focusing on large-scale kernel methods and bioinformatics (for a \
list of scientific papers mentioning Shogun, see here), the toolbox saw \
massive extensions to other fields in recent years. It now offers features \
that span the whole space of Machine Learning methods, including many \
classical methods in classification, regression, dimensionality reduction, \
clustering, but also more advanced algorithm classes such as metric, \
multi-task, structured output, and online learning, as well as feature \
hashing, ensemble methods, and optimization, just to name a few. Shogun in \
addition contains a number of exclusive state-of-the art algorithms such as \
a wealth of efficient SVM implementations, Multiple Kernel Learning, kernel \
hypothesis testing, Krylov methods, etc. All algorithms are supported by a \
collection of general purpose methods for evaluation, parameter tuning, \
preprocessing, serialization & I/O, etc; the resulting combinatorial \
possibilities are huge. \
\
The wealth of ML open-source software allows us to offer bindings to other \
sophisticated libraries including: LibSVM, LibLinear, LibOCAS, libqp, \
VowpalWabbit, Tapkee, SLEP, GPML and more. \
\
Shogun got initiated in 1999 by Soeren Sonnenburg and Gunnar Raetsch (that's \
where the name ShoGun originates from). It is now developed by a larger team \
of authors, and would not have been possible without the patches and bug \
reports by various people. See contributions for a detailed list. Statistics \
on Shogun's development activity can be found on ohloh.
###############################################################################
Name: shogun
Version: %{branch}.0
Release: 4%{?dist}
Summary: Unified and efficient Machine Learning since 1999
License: GPLv3+ and BSD and GPLv2+ and (GPLv2+ or LGPLv2+) and GPLv3 and LGPLv2+ and MIT and (Public Domain or GPLv3+)
URL: http://%{name}-toolbox.org
%if 0%{?rel_build}
Source0: ftp://ftp.%{name}-toolbox.org/%{name}/releases/%{branch}/sources/%{name}-%{version}.tar.bz2
%else # 0%%{?rel_build}
Source0: %{?giturl}/archive/%{commit}.tar.gz#/%{gittar}
%endif # 0%%{?rel_build}
Source1: %{name}.pc.in
Source99: https://github.com/google/googletest/archive/release-%{gtest_ver}.tar.gz#/gtest-%{gtest_ver}.tar.gz
Patch0: %{?giturl}/commit/ffb80ca135ff5686e102d285df47ce0fc92f53b6.patch#/shogun-6.0.0-fix_inline_asm.patch
Patch1: %{?giturl}/commit/6d960649921e65dea4d988448579564175a4ca59.patch#/shogun-6.0.0-fix_python_modular_tests.patch
Patch2: %{?giturl}/commit/3e9e98e508285d989b21629e7c8f872a00e34e4a.patch#/shogun-6.0.0-fix_python_modular_examples.patch
Patch3: %{?giturl}/commit/308f9245ad81999a8e046b9ad8c3167ffa904f2e.patch#/shogun-6.0.0-fix_find_Scala.patch
Patch4: %{?giturl}/commit/370dec03c446169c4f6cdf62bb4860f1f15200fc.patch#/shogun-6.0.0-do_not_fail_if_dir_exists.patch
BuildRequires: arpack-devel
BuildRequires: arprec-devel
BuildRequires: atlas-devel
BuildRequires: blas-devel
BuildRequires: bzip2-devel
BuildRequires: chrpath
BuildRequires: ColPack-devel
BuildRequires: ctags
BuildRequires: glpk-devel
BuildRequires: hdf5-devel
BuildRequires: iputils
BuildRequires: json-c-devel
BuildRequires: lapack-devel
BuildRequires: libcurl-devel
BuildRequires: libxml2-devel
BuildRequires: lpsolve-devel
BuildRequires: lzo-devel
BuildRequires: NLopt-devel
BuildRequires: ocl-icd-devel
BuildRequires: opencl-headers
BuildRequires: opencv-devel
BuildRequires: protobuf-devel
BuildRequires: python2-ply
BuildRequires: qd-devel
BuildRequires: %{name}-data
BuildRequires: snappy-devel
BuildRequires: xz-devel
BuildRequires: zlib-devel
%if 0%{?fedora} || 0%{?rhel} >= 7
BuildRequires: cmake
BuildRequires: eigen3-devel
BuildRequires: swig
%else # 0%%{?fedora} || 0%%{?rhel} >= 7
BuildRequires: cmake3
BuildRequires: eigen32-devel
BuildRequires: swig4
%endif # 0%%{?fedora} || 0%%{?rhel} >= 7
# Needed for testsuite.
BuildRequires: gdb
BuildRequires: valgrind
# Commandline-Interface is gone since 5.0.0.
Obsoletes: %{name}-cli <= 6.0.0
%if !%{with mono}
Obsoletes: mono-%{name} <= %{version}-%{release}
Obsoletes: mono-%{name}%{?_isa} <= %{version}-%{release}
%endif # !%%{with mono}
# Retiring octave-shogun on %%{arm}. See above.
%if (0%{?fedora} && 0%{?fedora} <= 26) && !%{with octave}
Obsoletes: octave-%{name} <= %{version}-%{release}
Obsoletes: octave-%{name}%{?_isa} <= %{version}-%{release}
%endif # (0%%{?fedora} && 0%%{?fedora} <= 26) && !%%{with octave}
# Copylib - Wildcard-exception granted by FPC.
# See: https://fedorahosted.org/fpc/ticket/174
Provides: bundled(dSFMT) == %{version}-%{release}
Provides: bundled(gnulib) == %{version}-%{release}
Provides: bundled(liblinear) == %{version}-%{release}
Provides: bundled(libsvm) == %{version}-%{release}
Provides: bundled(SFMT) == %{version}-%{release}
Provides: bundled(SVMlin) == %{version}-%{release}
%description
%{?common_description}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc %dir %{_pkgdocdir}
%license COPYING
%doc %{_pkgdocdir}/README.md
%{_libdir}/lib%{name}.so.*
###############################################################################
%package devel
Summary: Development files for %{name}
Requires: arpack-devel%{?_isa}
Requires: arprec-devel%{?_isa}
Requires: atlas-devel%{?_isa}
Requires: blas-devel%{?_isa}
Requires: bzip2-devel%{?_isa}
Requires: ColPack-devel%{?_isa}
Requires: eigen3-devel
Requires: glpk-devel%{?_isa}
Requires: hdf5-devel%{?_isa}
Requires: json-c-devel%{?_isa}
Requires: lapack-devel%{?_isa}
Requires: libcurl-devel%{?_isa}
Requires: libxml2-devel%{?_isa}
Requires: lpsolve-devel%{?_isa}
Requires: lzo-devel%{?_isa}
Requires: NLopt-devel%{?_isa}
Requires: opencv-devel%{?_isa}
Requires: qd-devel%{?_isa}
Requires: snappy-devel%{?_isa}
Requires: xz-devel%{?_isa}
Requires: zlib-devel%{?_isa}
Requires: %{name}%{?_isa} == %{version}-%{release}
%description devel
This package contains files needed for development with %{name}.
%{?common_description}
%files devel
%doc %{_pkgdocdir}/examples/cpp
%doc %{_pkgdocdir}/examples/lib%{name}
%doc %{_pkgdocdir}/NEWS
%if %{with memtest}
%doc %{_pkgdocdir}/mem.%{?__isa}%{?dist}.log
%endif # %%{with memtest}
%if %{with testsuite}
%doc %{_pkgdocdir}/unit.%{?__isa}%{?dist}.log
%if %{with python3}
%doc %{_pkgdocdir}/unit.py3.%{?__isa}%{?dist}.log
%endif # %%{with python3}
%endif # %%{with testsuite}
%{_includedir}/%{name}
%{_libdir}/cmake
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
###############################################################################
%package doc
Summary: Documentation files for %{name}
%if %{with noarch_doc}
BuildArch: noarch
%endif # %%{with noarch_doc}
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: hardlink
BuildRequires: pandoc
BuildRequires: python2-sphinx
BuildRequires: python2-sphinx-bootstrap-theme
BuildRequires: python2-sphinxcontrib-bibtex
# doc-cn-pkg is gone with 5.0.0.
Obsoletes: %{name}-doc-cn <= 6.0.0
%description doc
This package contains very detailed documentation,
and some great examples for %{name}.
%{?common_description}
%files doc
%doc %dir %{_pkgdocdir}
%doc %exclude %{_pkgdocdir}/*.%{?__isa}%{?dist}.log
%doc %{_pkgdocdir}/*
%if 0%{?fedora} || 0%{?rhel} >= 7
%license %{_datadir}/licenses/%{name}*
%endif # 0%%{?fedora} || 0%%{?rhel} >= 7
###############################################################################
%if %{with java}
%package -n java-%{name}
Summary: Java-plugin for %{name}
BuildRequires: java-devel
BuildRequires: jblas
BuildRequires: scala
Requires: %{_sysconfdir}/profile.d
%if 0%{?fedora} || 0%{?rhel} >= 7
Requires: java-headless
%else # 0%%{?fedora} || 0%%{?rhel} >= 7
Requires: java
%endif # 0%%{?fedora} || 0%%{?rhel} >= 7
Requires: jblas%{?_isa}
Requires: jpackage-utils
Requires: %{name}%{?_isa} == %{version}-%{release}
%description -n java-%{name}
This package contains the Java-plugin for %{name}.
%{?common_description}
%files -n java-%{name}
%doc %{_pkgdocdir}/examples/java
%doc %{_pkgdocdir}/examples/scala
%{_jnidir}/*
%{_libdir}/%{name}.java
%{_sysconfdir}/profile.d/%{name}-java.*sh
%endif # %%{with java}
###############################################################################
%if %{with lua}
%package -n lua-%{name}
%{!?lua_ver: %global lua_ver %(%{_bindir}/lua -e 'print(string.sub(_VERSION, 5))' || echo 0)}
%{!?luanext: %global luanext %(%{python} -c'print(%{lua_ver} + 0.1)' || echo 0)}
%global lualibdir %{_libdir}/lua/%{lua_ver}
Summary: LUA-plugin for %{name}
BuildRequires: lua-devel
Requires: lua%{?_isa}
%if 0%{?fedora} || 0%{?rhel} >= 7
Requires: lua(abi) >= %{lua_ver}
Requires: lua(abi) < %{luanext}
%else # 0%%{?fedora} || 0%%{?rhel} >= 7
Requires: lua >= %{lua_ver}
Requires: lua < %{luanext}
%endif # 0%%{?fedora} || 0%%{?rhel} >= 7
Requires: %{name}%{?_isa} == %{version}-%{release}
%description -n lua-%{name}
This package contains the LUA-plugin for %{name}.
%{?common_description}
%files -n lua-%{name}
%doc %{_pkgdocdir}/examples/lua
%{lualibdir}/libmod%{name}.so
%endif # %%{with lua}
###############################################################################
%if %{with mono}
%package -n mono-%{name}
Summary: Mono(C#)-plugin for %{name}
BuildRequires: mono-devel
Requires: %{_sysconfdir}/profile.d
Requires: %{name}%{?_isa} == %{version}-%{release}
%description -n mono-%{name}
This package contains the Mono(C#)-plugin for %{name}.
%{?common_description}
%files -n mono-%{name}
%doc %{_pkgdocdir}/examples/csharp
%{_libdir}/%{name}.mono
%{_sysconfdir}/profile.d/%{name}-mono.*sh
%endif # %%{with mono}
###############################################################################
%if %{with octave}
%package -n octave-%{name}
# https://fedoraproject.org/wiki/Packaging:Octave
%{!?octave_api: %global octave_api %(%{_bindir}/octave-config -p API_VERSION || echo 0)}
%global octave_octdir %(%{_bindir}/octave-config -p LOCALAPIOCTFILEDIR || echo '')
Summary: Octave-plugin for %{name}
BuildRequires: octave-devel
Requires: octave%{?_isa}
Requires: octave(api) == %{octave_api}
Requires: %{name}%{?_isa} == %{version}-%{release}
%description -n octave-%{name}
This package contains the Octave-plugin for %{name}.
%{?common_description}
%files -n octave-%{name}
%doc %{_pkgdocdir}/examples/octave
%{octave_octdir}/%{name}
%endif # %%{with octave}
###############################################################################
%if %{with perl}
%package -n perl-%{name}
Summary: Perl-plugin for %{name}
BuildRequires: perl-devel
Requires: perl%{?_isa}
Requires: perl(:MODULE_COMPAT_%(eval "$(%{__perl} -V:version)"; echo $version))
Requires: %{name}%{?_isa} == %{version}-%{release}
%description -n perl-%{name}
This package contains the Perl-plugin for %{name}.
%{?common_description}
%files -n perl-%{name}
%doc %{_pkgdocdir}/examples/perl
%exclude %dir %{perl_vendorarch}/auto
%{perl_vendorarch}/*
%endif # %%{with perl}
###############################################################################
%if %{with python}
%package -n python2-%{name}
Summary: Python-plugin for %{name}
BuildRequires: numpy
BuildRequires: python-docutils
BuildRequires: python-jinja2
BuildRequires: python2-devel
BuildRequires: scipy
Requires: numpy%{?_isa}
Requires: python%{?_isa}
Requires: scipy%{?_isa}
Requires: %{name}%{?_isa} == %{version}-%{release}
%{?python_provide:%python_provide python2-%{name}}
%description -n python2-%{name}
This package contains the Python-plugin for %{name}.
%{?common_description}
%files -n python2-%{name}
%doc %{_pkgdocdir}/examples/python*
%doc %{_pkgdocdir}/ipython-notebooks
%{python2_sitearch}/*
%endif # %%{with python}
###############################################################################
%if %{with python3}
%package -n python3-%{name}
Summary: Python-plugin for %{name}
BuildRequires: python3-devel
BuildRequires: python3-docutils
BuildRequires: python3-jinja2
BuildRequires: python3-numpy
BuildRequires: python3-ply
BuildRequires: python3-scipy
Requires: python3%{?_isa}
Requires: python3-numpy%{?_isa}
Requires: python3-scipy%{?_isa}
Requires: %{name}%{?_isa} == %{version}-%{release}
%{?python_provide:%python_provide python3-%{name}}
%description -n python3-%{name}
This package contains the Python3-plugin for %{name}.
%{?common_description}
%files -n python3-%{name}
%doc %{_pkgdocdir}/examples/python*
%doc %{_pkgdocdir}/ipython-notebooks
%{python3_sitearch}/*
%endif # %%{with python3}
###############################################################################
%if %{with r}
%package -n R-%{name}
Summary: R-plugin for %{name}
BuildRequires: R-core-devel
Requires: R-core%{?_isa}
Requires: %{name}%{?_isa} == %{version}-%{release}
%description -n R-%{name}
This package contains the R-plugin for %{name}.
%{?common_description}
%files -n R-%{name}
%dir %{_libdir}/R/library/%{name}
%doc %{_libdir}/R/library/%{name}/DESCRIPTION
%doc %{_pkgdocdir}/examples/r
%{_libdir}/R/library/%{name}/libs
%{_libdir}/R/library/%{name}/Meta
%{_libdir}/R/library/%{name}/NAMESPACE
%{_libdir}/R/library/%{name}/R
%endif # %%{with r}
###############################################################################
%if %{with ruby}
%package -n ruby-%{name}
# We need to pass the path for rubygem(narray) to CMake, so it can find it.
%global narray_gem %(%{_bindir}/gem list narray | %{__grep} narray | %{__sed} -e's! .!-!' -e 's!.$!!')
%if 0%{?fedora} || 0%{?rhel} >= 8
%global narray_include %{_libdir}/gems/ruby/%{narray_gem}
%else # 0%{?fedora} >= 21 || 0%{?rhel} >= 8
%global narray_include %{_datadir}/gems/gems/%{narray_gem}
%endif # 0%{?fedora} >= 21 || 0%{?rhel} >= 8
%if 0%{?fedora} || 0%{?rhel} >= 7
%global narray_lib %{_libdir}/gems/ruby/%{narray_gem}/narray.so
%else # 0%{?fedora} || 0%{?rhel} >= 7
%global narray_lib %{ruby_vendorarchdir}/narray.so
%endif # 0%{?fedora} || 0%{?rhel} >= 7
Summary: Ruby-plugin for %{name}
BuildRequires: ruby-devel
BuildRequires: rubygem-narray-devel
Requires: ruby(release)
Requires: rubygem(narray)%{?_isa}
Requires: %{name}%{?_isa} == %{version}-%{release}
%description -n ruby-%{name}
This package contains the Ruby-plugin for %{name}.
%{?common_description}
%files -n ruby-%{name}
%doc %{_pkgdocdir}/examples/ruby
%{ruby_vendorarchdir}/mod%{name}.rb
%{ruby_vendorarchdir}/mod%{name}.so
%endif # %%{with ruby}
###############################################################################
%prep
# Get amount of avail RAM.
%{__cat} /proc/meminfo
# Unpack sources.
%if 0%{?rel_build}
%autosetup -p 1
%else # 0#{?rel_build}
%autosetup -n %{name}-%{commit} -p 1
%endif # 0#{?rel_build}
# Remove cluttering stuff.
%{__rm} -fr %{_cmake_build_subdir} build data third_party
# Copy gtest into sources.
%{__install} -Dpm 0644 %{SOURCE99} \
third_party/GoogleMock/release-%{gtest_ver}.tar.gz
# Scrub SVMlight.
%if !%{with svmlight}
./scripts/light-scrubber.sh
%endif # !%%{with svmlight}
# Fix finding PerlLibs and linking against HDF5.
%{__sed} -i -e 's!FindPerlLibs REQUIRED!PerlLibs REQUIRED!' \
-e '/SET.HDF5_LIBRARIES/d' CMakeLists.txt
# Ruby-plugins go to %%{ruby_vendorarchdir}, but on <= el6.
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 7
%{__sed} -i -e 's!\${RUBY_SITE_ARCH_DIR}!\${RUBY_VENDORARCH_DIR}!g' \
src/interfaces/ruby_modular/CMakeLists.txt
%endif # 0%%{?fedora} >= 13 || 0%%{?rhel} >= 7
# Copy data into proper location.
%{__cp} -pr %{_shogun_data_dir} .
###############################################################################
%build
# Use our customized optflags.
export CFLAGS="%{optflags_shogun}"
export CXXFLAGS="%{optflags_shogun}"
# These will be used for creation of CTest-files, only. There's no impact on
# the built binaries caused by them. They are needed to be defined on %%build,
# because CMake hardcodes them when creating the Makefiles and it's cache.
# We need to export a customized PYTHONPATH for testsuite.
PYTHONPATH="$(/bin/pwd)/%{_cmake_testinstall_dir}/%{python2_sitearch}/%{name}"
PYTHONPATH="${PYTHONPATH}:$(/bin/pwd)/%{_cmake_testinstall_dir}/%{python2_sitearch}"
PYTHONPATH="${PYTHONPATH}:$(/bin/pwd)/examples/undocumented/python_modular"
export PYTHONPATH="${PYTHONPATH}:%{python2_sitearch}:%{python2_sitelib}"
# We need to export a customized R_LIBS_USER for testsuite.
export R_LIBS_USER="$(/bin/pwd)/%{_cmake_testinstall_dir}%{_libdir}/R/library"
# We need to export some custom LD_LIBRARY_PATH for the tests, too.
LD_LIBRARY_PATH="$(/bin/pwd)/%{_cmake_testinstall_dir}/%{_libdir}"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:%{_libdir}/atlas"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:%{_libdir}"
%{__mkdir} -p %{_cmake_build_subdir}/tmp
pushd %{_cmake_build_subdir}
export TMPDIR="$(%{_bindir}/pwd)/%{_cmake_build_subdir}/tmp"
%cmake \
-DBUILD_COOKBOOK=ON \
-DCMAKE_BUILD_TYPE=DISTRIBUTION \
%ifarch %{ix86}
-DDISABLE_SSE=ON \
%endif # arch %%{ix86}
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
-DATLAS_LAPACK="%{_libdir}/atlas/libtatlas.so" \
-DATLAS_LIBRARIES="%{_libdir}/atlas/libtatlas.so" \
%else # 0%%{?fedora} >= 21 || 0%%{?rhel} >= 8
-DUSE_ORIGINAL_LAPACK=ON \
%endif # 0%%{?fedora} >= 21 || 0%%{?rhel} >= 8
%if %{with java}
-DJavaModular=ON \
-DScalaModular=ON \
-DJAVA_INSTALL_DIR=%{_jnidir} \
-DJNI_INSTALL_DIR=%{_libdir}/%{name}.java \
%endif # %%{with java}
%if %{with lua}
-DLuaModular=ON \
%endif # %%{with lua}
%if %{with mono}
-DCSharpModular=ON \
-DCSHARP_INSTALL_DIR=%{_libdir}/%{name}.mono \
%endif # %%{with mono}
%if %{with octave}
-DOctaveModular=ON \
%endif # %%{with octave}
%if %{with opencv}
-DOpenCV=ON \
%endif # %%{with opencv}
%if %{with perl}
-DPerlModular=ON \
%endif # %%{with perl}
%if %{with python}
-DPythonModular=ON \
%endif # %%{with python}
%if %{with r}
-DRModular=ON \
%endif # %%{with r}
%if %{with reduce_swig_debug}
-DREDUCE_SWIG_DEBUG=ON \
%endif # %%{with reduce_swig_debug}
%if %{with ruby}
-DRUBY_NARRAY_INCLUDE_DIR="%{narray_include}" \
-DRUBY_NARRAY_LIBRARY="%{narray_lib}" \
-DRubyModular=ON \
%endif # %%{with ruby}
%if %{with swig_single_threaded}
-DSWIG_SINGLE_THREADED=ON \
%endif # %%{with swig_single_threaded}
%if !%{with svmlight}
-DUSE_SVMLIGHT=OFF \
%endif # !%%{with svmlight}
%if %{with testsuite}
-DBUILD_DASHBOARD_REPORTS=ON \
-DENABLE_PYTHON_DEBUG=ON \
-DENABLE_TESTING=ON \
%endif # %%{with testsuite}
-DENABLE_CCACHE=ON \
-DPYTHON_EXECUTABLE="%{__python2}" \
..
%{__make} examples
popd
# Build the Python3-version.
%if %{with python3}
PYTHONPATH="$(/bin/pwd)/%{_cmake_testinstall_dir}/%{python3_sitearch}/%{name}"
PYTHONPATH="${PYTHONPATH}:$(/bin/pwd)/%{_cmake_testinstall_dir}/%{python3_sitearch}"
PYTHONPATH="${PYTHONPATH}:$(/bin/pwd)/examples/undocumented/python_modular"
export PYTHONPATH="${PYTHONPATH}:%{python3_sitearch}:%{python3_sitelib}"
%{__mkdir} -p %{_cmake_build_subdir}-py3/tmp
pushd %{_cmake_build_subdir}-py3
export TMPDIR="$(%{_bindir}/pwd)/%{_cmake_build_subdir}-py3/tmp"
%cmake \
-DCMAKE_BUILD_TYPE=DISTRIBUTION \
%ifarch %{ix86}
-DDISABLE_SSE=ON \
%endif # arch %%{ix86}
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
-DATLAS_LAPACK=%{_libdir}/atlas/libtatlas.so \
-DATLAS_LIBRARIES=%{_libdir}/atlas/libtatlas.so \
%else # 0%%{?fedora} >= 21 || 0%%{?rhel} >= 8
-DUSE_ORIGINAL_LAPACK=ON \
%endif # 0%%{?fedora} >= 21 || 0%%{?rhel} >= 8
%if %{with opencv}
-DOpenCV=ON \
%endif # %%{with opencv}
%if %{with reduce_swig_debug}
-DREDUCE_SWIG_DEBUG=ON \
%endif # %%{with reduce_swig_debug}
%if !%{with svmlight}
-DUSE_SVMLIGHT=OFF \
%endif # !%%{with svmlight}
%if %{with testsuite}
-DBUILD_DASHBOARD_REPORTS=ON \
-DENABLE_PYTHON_DEBUG=ON \
-DENABLE_TESTING=ON \
%endif # %%{with testsuite}
-DBUNDLE_EIGEN=OFF \
-DBUNDLE_NLOPT=OFF \
-DBUNDLE_JSON=OFF \
-DENABLE_CCACHE=ON \
-DPythonModular=ON \
-DPYTHON_EXECUTABLE=%{__python3} \
..
%{__make} examples
popd
%endif # %%{with python3}
unset LD_LIBRARY_PATH
unset PYTHONPATH
unset R_LIBS_USER
export TMPDIR="$(%{_bindir}/pwd)/%{_cmake_build_subdir}/tmp"
%make_build -C %{_cmake_build_subdir}
%if %{with python3}
export TMPDIR="$(%{_bindir}/pwd)/%{_cmake_build_subdir}-py3/tmp"
%make_build -C %{_cmake_build_subdir}-py3
%endif # %%{with python3}
unset TMPDIR
%make_build -C %{_cmake_build_subdir} doc
###############################################################################
%install
# We install to custom location first. This will be needed by testsuite, too.
CUSTOM_INSTALL_DIR="$(/bin/pwd)/%{_cmake_testinstall_dir}"
# Install the Python3-version first.
%if %{with python3}
%make_install -C %{_cmake_build_subdir}-py3 DESTDIR=${CUSTOM_INSTALL_DIR}
# Remove the installed headers and libshogun.so
%{__rm} -fr ${CUSTOM_INSTALL_DIR}%{_includedir} \
${CUSTOM_INSTALL_DIR}%{_libdir}/cmake \
${CUSTOM_INSTALL_DIR}%{_libdir}/lib%{name}.so*
%endif # %%{with python3}
%make_install -C %{_cmake_build_subdir} DESTDIR=${CUSTOM_INSTALL_DIR}
# Add pkg-config file.
%{__mkdir} -p ${CUSTOM_INSTALL_DIR}%{_libdir}/pkgconfig
%{__sed} -e 's!@_datadir@!%{_datadir}!g' \
-e 's!@_includedir@!%{_includedir}!g' \
-e 's!@_libdir@!%{_libdir}!g' \
-e 's!@_prefix@!%{_prefix}!g' \
-e 's!@name@!%{name}!g' \
-e 's!@url@!%{url}!g' \
-e 's!@version@!%{version}!g' \
< %{SOURCE1} > ${CUSTOM_INSTALL_DIR}%{_libdir}/pkgconfig/%{name}.pc
%if %{with java}
# Setup CLASSPATH-environment.
%{__mkdir} -p ${CUSTOM_INSTALL_DIR}%{_sysconfdir}/profile.d
%{__cat} << EOF >> ${CUSTOM_INSTALL_DIR}%{_sysconfdir}/profile.d/%{name}-java.sh
CLASSPATH="${CLASSPATH}:%{_jnidir}/%{name}.jar"
CLASSPATH="${CLASSPATH}:%{_libdir}/%{name}.java/libmod%{name}.so"
export CLASSPATH
EOF
%{__cat} << EOF >> ${CUSTOM_INSTALL_DIR}%{_sysconfdir}/profile.d/%{name}-java.csh
set JCP_TEMP = getenv('CLASSPATH')
set JCP_TEMP = "$JCP_TEMP:%{_jnidir}/%{name}.jar"
set JCP_TEMP = "$JCP_TEMP:%{_libdir}/%{name}.java/libmod%{name}.so"
setenv CLASSPATH "$JCP_TEMP"
EOF
%endif # %%{with java}
%if %{with mono}
# Setup MONO_PATH-environment.
%{__mkdir} -p ${CUSTOM_INSTALL_DIR}%{_sysconfdir}/profile.d
%{__cat} << EOF >> ${CUSTOM_INSTALL_DIR}%{_sysconfdir}/profile.d/%{name}-mono.sh
MONO_PATH="${MONO_PATH}:%{_libdir}/%{name}.mono"
export MONO_PATH
EOF
%{__cat} << EOF >> ${CUSTOM_INSTALL_DIR}%{_sysconfdir}/profile.d/%{name}-mono.csh
set MP_TEMP = getenv('MONO_PATH')
set MP_TEMP = "$MP_TEMP:%{_libdir}/%{name}.mono"
setenv MONO_PATH "$MP_TEMP"
EOF
%endif # %%{with mono}
# Fix-up the permissions for some plugins.
%{_bindir}/find ${CUSTOM_INSTALL_DIR} -type f -name '*.so' -print0 | \
%{_bindir}/xargs -0 %{__chmod} -cf 0755
# Copy the custom installation to %%{buildroot} for having an installed
# version with rpaths preserved for the testsuite.
%{__cp} -pr ${CUSTOM_INSTALL_DIR}/* %{buildroot}
# Install documentation-files to %%{_pkgdocdir}
%{__mkdir} -p %{buildroot}%{_pkgdocdir}/{cookbook,examples,html}
%{__rm} -f %{_cmake_build_subdir}/doc/cookbook/html/{.build*,*.inv}
%{__cp} -pr NEWS README* doc/ipython-notebooks %{buildroot}%{_pkgdocdir}
%{__cp} -pr %{_cmake_build_subdir}/doc/cookbook/html/* \
%{buildroot}%{_pkgdocdir}/cookbook
%{__cp} -pr %{_cmake_build_subdir}/doc/doxygen/html/* \
%{buildroot}%{_pkgdocdir}/html
%{__cp} -pr %{_cmake_build_subdir}/examples/meta/* \
%{buildroot}%{_pkgdocdir}/examples
%{__cp} -pr examples/undocumented/* %{buildroot}%{_pkgdocdir}/examples
# Kill rpath from binaries.
%{_bindir}/find %{buildroot}%{_libdir} -type f -perm 0755 -print0 | \
%{_bindir}/xargs -0 chrpath -dk
# Remove unneeded stuff, e.g. compiled examples in %%{buildroot}%%{_datadir},
# build-system files in examples and 0-size files in %%{buildroot}.
%{__rm} -fr %{buildroot}%{_datadir}/%{name}/examples
%{_bindir}/find %{buildroot} -type f -size 0 -print -delete
%{_bindir}/find %{buildroot}%{_pkgdocdir} -type f -executable -print -delete
%{_bindir}/find %{buildroot}%{_pkgdocdir} -xtype l -print -delete
%{_bindir}/find %{buildroot}%{_pkgdocdir} -name '*cmake*' -print0 | \
%{_bindir}/xargs -0 %{__rm} -fr
for _del in '__py*' 'CMake*' 'CTest*' 'Makefile*' 'parser_files' '*.class' \
'*.dat' '*.exe' '*.log' '*.map' '*.md5' '*.py?' '*.sh'
do
%{_bindir}/find %{buildroot} -name "${_del}" -print0 | \
%{_bindir}/xargs -0 %{__rm} -fr
done
# Make sure all files in %%{_pkgdocdir} have mode 0644.
%{_bindir}/find %{buildroot}%{_pkgdocdir} -type f -print0 | \
%{_bindir}/xargs -0 %{__chmod} -cf 0644
# Remove shebang from files in %%{_pkgdocdir}.
%{_bindir}/find %{buildroot}%{_pkgdocdir} -type f -print0 | \
%{_bindir}/xargs -0 %{__sed} -i -e '/^#!\//, 1d'
# Hardlink docs.
/sbin/hardlink -cfv %{buildroot}%{_pkgdocdir}
# Create log-files for testsuite
/bin/touch %{buildroot}%{_pkgdocdir}/unit.%{?__isa}%{?dist}.log \
%if %{with python3}
%{buildroot}%{_pkgdocdir}/unit.py3.%{?__isa}%{?dist}.log \
%endif # %%{with python3}
;
###############################################################################
%check
%if %{with testsuite}
pushd %{_cmake_build_subdir}
%if %{with memtest}
# Memory tests -- to find reasons for possible segfaults.
# These are allowed to fail and done in parallel.
%{_bindir}/ctest \
-DExperimentalMemCheck \
--timeout 5400 \
--tests-regex "^lib%{name}-.*|^unit-.*" \
--output-log %{buildroot}%{_pkgdocdir}/mem.%{?__isa}%{?dist}.log \
--output-on-failure || :
%endif # %%{with memtest}
# Disabled tests:
#
# These tests need SVM^light, which we cannot ship in Fedora.
%if !%{with svmlight}
EXCLUDE_FROM_TESTS="${EXCLUDE_FROM_TESTS}|csharp-mkl_binclass_modular"
EXCLUDE_FROM_TESTS="${EXCLUDE_FROM_TESTS}|java_modular-mkl_binclass_modular"
EXCLUDE_FROM_TESTS="${EXCLUDE_FROM_TESTS}|libshogun-regression_libsvr"
EXCLUDE_FROM_TESTS="${EXCLUDE_FROM_TESTS}|python_modular-mkl_regression_modular"
EXCLUDE_FROM_TESTS="${EXCLUDE_FROM_TESTS}|python_modular-mkl_binclass_modular"
EXCLUDE_FROM_TESTS="${EXCLUDE_FROM_TESTS}|python_modular-serialization_string_kernels_modular"
EXCLUDE_FROM_TESTS="${EXCLUDE_FROM_TESTS}|unit-LibSVR"
%endif # !%%{with svmlight}
# Export the list.
EXCLUDE_FROM_TESTS="$(echo ${EXCLUDE_FROM_TESTS} | %{__sed} -e's!^|!!' -e's!|$!!')"
# Unit && integration tests -- usual testsuite.
%{_bindir}/ctest \
--exclude-regex "${EXCLUDE_FROM_TESTS}" \
--timeout 5400 \
--output-log %{buildroot}%{_pkgdocdir}/unit.%{?__isa}%{?dist}.log \
--output-on-failure || :
popd
%if %{with python3}
# We don't need duplicated tests already run in other build.
EXCLUDE_FROM_TESTS="^lib%{name}-.*|^unit-.*|.*cpp.*|${EXCLUDE_FROM_TESTS}"
# Export the list.
EXCLUDE_FROM_TESTS="$(echo ${EXCLUDE_FROM_TESTS} | %{__sed} -e's!^|!!' -e's!|$!!')"
pushd %{_cmake_build_subdir}-py3
# Unit && integration tests -- usual testsuite.
%{_bindir}/ctest \
--exclude-regex "${EXCLUDE_FROM_TESTS}" \
--timeout 5400 \
--output-log %{buildroot}%{_pkgdocdir}/unit.py3.%{?__isa}%{?dist}.log \
--output-on-failure || :
popd
%endif # %%{with python3}
%endif # %%{with testsuite}
###############################################################################
%changelog
* Mon May 01 2017 Björn Esser <besser82@fedoraproject.org> - 6.0.0-4
- Doc-pkg still must be archful
* Mon May 01 2017 Björn Esser <besser82@fedoraproject.org> - 6.0.0-3
- Build the doc-pkg noarch'ed again
* Mon May 01 2017 Björn Esser <besser82@fedoraproject.org> - 6.0.0-2
- Remove shebang from files in %%{_pkgdocdir}
- Build the examples with sequential make first
* Sun Apr 30 2017 Björn Esser <besser82@fedoraproject.org> - 6.0.0-1
- New upstream release (rhbz#1400748)
- Fix FTBFS (rhbz#1439838, rhbz#1396762)
- General spec-file clean-up
- Use include-dir same as upstream
* Wed Apr 5 2017 Jerry James <loganjerry@gmail.com> - 5.0.0-0.6
- Rebuild for glpk 4.61
* Thu Feb 16 2017 Björn Esser <besser82@fedoraproject.org> - 5.0.0-0.5
- Rebuild for brp-python-bytecompile
* Sun Feb 12 2017 Björn Esser <besser82@fedoraproject.org> - 5.0.0-0.4
- Update Patch1 to work properly
- Use parallel make
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-0.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 26 2017 Orion Poplawski <orion@cora.nwra.com> - 5.0.0-0.2
- Rebuild for protobuf 3.2.0
* Tue Jan 17 2017 Björn Esser <besser82@fedoraproject.org> - 5.0.0-0.1
- New upstream release
- Add %%python_provide
- Drop patches, merged upstream
- Disabling '-Wmisleading-indentation' and '-fvar-tracking-assignments'
saves a lot of RAM during compilation
- Add needed BuildRequires
- Optimize subdir-handling
- Do not build sphinx-docs for now, because of failures in upstream
- Spec-file clean-up
- Cli and doc-cn packages are faded
- Generate regular debuginfo for bindings again
- Add Patch1 to fix build
- Use sequential make
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 4.1.0-9
- Rebuild for Python 3.6
* Wed Dec 07 2016 Orion Poplawski <orion@cora.nwra.com> - 4.1.0-8
- Rebuild for octave 4.2
* Thu Nov 24 2016 Björn Esser <fedora@besser82.io> - 4.1.0-7
- Ignore failing unittests for now
* Sat Nov 19 2016 Orion Poplawski <orion@cora.nwra.com> - 4.1.0-6
- Rebuild for protobuf 3.1.0
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.0-5
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Wed Jun 29 2016 Orion Poplawski <orion@cora.nwra.com> - 4.1.0-4
- Rebuild for hdf5 1.8.17
* Sat Mar 12 2016 Björn Esser <fedora@besser82.io> - 4.1.0-3
- rebuilt for libglpk.so.40
* Wed Feb 24 2016 Björn Esser <fedora@besser82.io> - 4.1.0-2
- fix serialization with JSON-C >= 0.12
* Wed Feb 10 2016 Björn Esser <fedora@besser82.io> - 4.1.0-1
- new upstream release (#1306079)
- fix build/testsuite with gcc 6.0.0 (#1308270)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-0.11.git20160201.03b8c1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Feb 01 2016 Björn Esser <fedora@besser82.io> - 4.0.1-0.10.git20160201.03b8c1c
- udpated to new snapshot git20160201.03b8c1cc3b8f4426a2fe80055fdfdc9e156953b6
* Tue Jan 26 2016 Björn Esser <fedora@besser82.io> - 4.0.1-0.9.git20160125.0382808
- updated to new snapshot git20160125.038280845fd7fb886f4459996f1405f8ca8c1612
- re-enable mono, issues with mono >= 4 are fixed upstream (#1223446)
* Thu Jan 21 2016 Orion Poplawski <orion@cora.nwra.com> - 4.0.1-0.8.git20151219.af8c1df
- Rebuild for hdf5 1.8.16
* Sat Jan 16 2016 Mamoru TASAKA <mtasaka@fedoraproject.org> -4.0.1-0.7.git20151219.af8c1df
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.3
* Mon Dec 21 2015 Björn Esser <fedora@besser82.io> - 4.0.1-0.6.git20151219.af8c1df
- updated to new snapshot git20151219.af8c1df859ed3d5780bbea5615a5c523e5651db9
- remove Patch0001, fixed in upstream-tarball
* Thu Dec 17 2015 Björn Esser <fedora@besser82.io> - 4.0.0-0.5.git20151217.7e4ac13
- updated to new snapshot git20151217.7e4ac1327cc3ee4b09f498c1b778d13f37ff0956
- updated %%description
- add modshogun.rb to ruby-shogun
- add Patch0001: revert removal of migration-framework
* Tue Dec 08 2015 Björn Esser <fedora@besser82.io> - 4.0.1-0.4.git20150913.d8eb73d
- changing name of python2-subpkg
* Sat Nov 21 2015 Björn Esser <fedora@besser82.io> - 4.0.1-0.3.git20150913.d8eb73d
- updated to new snapshot git20150913.d8eb73dd89f47e0da28f07163c4f635b96d0ec00
- removed ChangeLog from package, deleted in upstream tarball
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0.1-0.2.git20150808.779c3ad
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Sat Aug 08 2015 Björn Esser <bjoern.esser@gmail.com> - 4.0.1-0.1.git20150808.779c3ad
- updated to new snapshot git20150808.779c3ada68ae535062346ef71e6c1c39e482a8ca
- drop all patches, applied in upstream tarball
- add more testsuite-excludes for ix86
- disable memtests on %%arm
* Fri Aug 07 2015 Björn Esser <bjoern.esser@gmail.com> - 4.0.0-7
- rebuilt with full hardening
- add Patch11-13: enable CMake-policy CMP0056
- add Patch14: fix handling of C[XX]FLAGS
* Fri Aug 07 2015 Björn Esser <bjoern.esser@gmail.com> - 4.0.0-6
- temporarily disabling Mono-bindings on Fedora 23+
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 23 2015 Björn Esser <bjoern.esser@gmail.com> - 4.0.0-4
- fix: Build fails on fc23+ because of hardening
- fix: BR: mono >= 4.0.0
- exclude tests, which are failing on aarch64 (#1222401)
* Tue May 19 2015 Peter Robinson <pbrobinson@fedoraproject.org> 4.0.0-3
- Rebuild (mono4)
* Sun May 17 2015 Orion Poplawski <orion@cora.nwra.com> - 4.0.0-2
- Rebuild for hdf5 1.8.15
* Wed Apr 29 2015 Björn Esser <bjoern.esser@gmail.com> - 4.0.0-1
- new release v4.0.0 (#1105909, #1183622)
- add Patch0: fixes double delete[] and tests with swig 3.x
- add Patch1: fixes to CMake-buildsys
- add Patch2,3: enable python-debugging in testsuite
- add Patch4: optionally disabling sse and sse2 features
- add Patch5: requiring 'rubygems' in testsuite
- add Patch6: testing Py structure hierarchical multilabel classification
- add Patch7: replace deprecated json-c functions
- add Patch8: obey $ENV{R_LIBS_USER} when running tests
- add Patch9: reduce debuginfo of swig-generated bindings
- add Patch10: make sure all modular interfaces are build single-threaded
- add automatic CLASSPATH-export for java-shogun
- add automatic MONO_PATH-export for mono-shogun
- add pkg-config file for easier use with gcc
- move headers to versioned include-subdir to avoid collisions
- retiring octave-shogun on %%{arm}
- R-shogun is stable now (#1043885)
- use atlas' clapack on <= fc20 and <= el7
- narrowed the list of failing tests and don't ignore fails anymore
- remove obsolete sed-kludges
- use temporary files instead of pipes to pass data between different gcc instances
- builds are running multi-threaded again
- use %%__isa instead of %%_arch for file / dir naming
- add memory-tests to find reasons for possible segfaults
- run memory- and unit-test multi-threaded
- use %%license when available
- use %%bconds instead of %%global madness
- spec-file cosmetics
* Wed Apr 29 2015 Kalev Lember <kalevlember@gmail.com> - 3.2.0.1-0.35.git20141224.d71e19a
- Rebuilt for protobuf soname bump
* Thu Apr 23 2015 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.34.git20141224.d71e19a
- rebuild for so-name bump in protobuf-2.6.1 (libprotobuf.so.9)
* Sun Jan 18 2015 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.2.0.1-0.33.git20141224.d71e19a
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2
- Once reduce debuginfo verbosity on arm to reduce memory comsumption
- And once mark -doc, -doc-cn arch dependent perhaps due to above
* Wed Jan 07 2015 Orion Poplawski <orion@cora.nwra.com> - 3.2.0.1-0.32.git20141224.d71e19a
- Rebuild for hdf5 1.8.14
* Wed Dec 24 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.31.git20141224.d71e19a
- updated to new snapshot git20141224.d71e19aa5a575b2b4e52c908a694eb1db7afc973
- reduced number of make-jobs on %%{arm}
- conditionalized and disabled OpenCV-integration
* Tue Dec 23 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.30.git20141223.c329375
- updated to new snapshot git20141223.c32937574df1c560ce7c10f1b8860679ce011a8b
- added BR: ocl-icd-devel, opencl-headers
- enabled OpenCV-features and R-shogun
- purged light-scrubber.sh from repo, now shipped with tarball
- updated documentation-files
- build mono-shogun on %%{mono_arches}, only
- install documentation-files to %%{_pkgdocdir}
* Mon Sep 01 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.29.git20140901.705b7de
- updated to new snapshot git20140901.705b7dea7093cb094fe90fcebac20b7e7d1debcd
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.0.1-0.28.git20140804.96f3cf3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Mon Aug 04 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.27.git20140804.96f3cf3
- updated to new snapshot git20140804.96f3cf3ce58514299f98e688b7c43e057ad4fa41
* Mon Jul 21 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.26.git20140721.81c0008
- updated to new snapshot git20140721.81c00087da6f05d36aec410fef0fcef5be490f42
- enable SSE2 for %%{ix86}, because dSFMT-build will fail otherwise
- switch back to a monolithic build with limeted parallelization
- temporarily discard errors from testsuite
* Thu Jul 17 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.25.git20140717.1ba2924
- updated to new snapshot git20140717.1ba29247b850adef1b866a6c2112a6483c88428e
* Wed Jun 18 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.24.git20140618.2f7681e
- updated to new snapshot git20140618.2f7681ed0c1849088ee5bcc48b91a1c970ff3a9b
- excluded segfaulting tests
* Tue Jun 17 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.23.git20140616.31f5609
- updated to new snapshot git20140616.31f5609f7a7345ca05b5c1f8c7425236da2270df
* Thu Jun 05 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.22.git20140604.98900c2
- export additional C[XX]FLAGS on 32Bit-arches for SSE and SSE2
- fix typemapping for Mono (C#) with swig >= 3.0.0
- exclude testing python_modular on Fedora >= 21, segfaults related to swig3
- build libshogun with full parallelization, but the swig-bindings
* Thu Jun 05 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.21.git20140604.98900c2
- updated to new snapshot git20140604.98900c2996ccc4509099a6a337a71d7ca9991bd6
* Mon May 26 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.20.git20140526.7587570
- updated to new snapshot git20140526.758757094c30ae249f5ddc84f3cdc11b4b4203c4
- dropped obsolete BR LaTeX from -doc-pkg
* Mon May 26 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.19.git20140523.681b5ec
- updated to new snapshot git20140523.681b5ec17c0ca9c98cb54047dcd679bec9171989
* Sat May 17 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.18.git20140516.96b815f
- adapted the logic for finding rubygem-narray on Fedora >= 21
* Sat May 17 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.17.git20140516.96b815f
- updated to new snapshot git20140516.96b815fd1fa9769a24122f9016ff5a685a8a6944
* Thu Apr 24 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.16.git20140423.68a5124
- updated to new snapshot git20140423.68a5124bec8df5a013b2406e8c00d93ab83bf88d
* Fri Apr 18 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.15.git20140418.34f9672
- updated to new snapshot git20140418.34f96727f343b7f7f5e0426dbbf579f5dbc0f51e
* Mon Apr 14 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.14.git20140414.b0146f8
- updated to new snapshot git20140414.b0146f8b7314a4de25273dab2d6da4a37044bbec
* Tue Mar 18 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.13.git20140318.6134bc2
- updated to new snapshot git20140318.6134bc2e1e721726102624b372c1f8e7a31816df
* Mon Mar 17 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.12.git20140317.6ee3991
- updated to new snapshot git20140317.6ee39918dc99e72c23a30419a608f11217146e26
* Sat Mar 15 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.11.git20140315.55912da
- updated to new snapshot git20140315.55912da6dd499632ab2371cbbde9fdafaa913cac
* Fri Mar 14 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.10.git20140313.9b6dcd2
- updated to new snapshot git20140313.9b6dcd2a077868259029ce2f28b306e56b30bf2f
* Thu Mar 13 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.9.git20140313.e380071
- updated to new snapshot git20140313.e380071f5a8a5d35c0b33ea0ab55810ef9845354
* Thu Mar 13 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.8.git20140312.d9c535e
- updated to new snapshot git20140312.d9c535e85ed8dc61d537052a9abce200782b87b2
* Fri Mar 07 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.7.git20140307.c281eaa
- updated to new snapshot git20140307.c281eaaf51f44c16c9a7ded0678cbbac265714f6
* Wed Mar 05 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.6.git20140305.9c67564
- updated to new snapshot git20140305.9c67564278abd5a13efe9ae016f8b3e01bf209f9
* Wed Mar 05 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.5.git20140305.9b37dc1
- use new macros provided by shogun-data-pkg
* Wed Mar 05 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.4.git20140305.9b37dc1
- use `CMAKE_BUILD_TYPE=Release` for the Python3-version, too
* Wed Mar 05 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.3.git20140305.9b37dc1
- fixed year in git-snapshot-date
* Wed Mar 05 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.2.git20130305.9b37dc1
- updated to new snapshot git20130305.9b37dc1e630d54a9c16f2d19b6a10c34d8aef73a
* Tue Mar 04 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0.1-0.1.git20130303.df06a0e
- updated to new snapshot git20130303.df06a0e1a7e3551b0bee218246cfc4bf1a4696d8
* Tue Mar 04 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0-2
- require java-headless on Fedora >= 20 or RHEL >= 7
- exclude some tests on %%{arm} arches only
* Sun Feb 23 2014 Björn Esser <bjoern.esser@gmail.com> - 3.2.0-1
- new upstream release: v3.2.0 (#1066944)
- enabled build of Java-bindings (#1043882)
- enabled build of Python3-bindings (#1043884)
- dropped Patch0 for Octave 3.8.0 (#1047053)
- bumped required data-version to 0.8 (#1068941)
- split-off scrubber-script to seperate script
- exclude some tests on 32-Bit arches only
* Wed Jan 08 2014 Orion Poplawski <orion@cora.nwra.com> - 3.1.1-2
- Add patch for octave 3.8.0 support
* Mon Jan 06 2014 Björn Esser <bjoern.esser@gmail.com> - 3.1.1-1
- new upstream release: v3.1.1
- data-files are now moved into a separate package
- added example-applications to doc-pkg
* Sat Dec 28 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.13.git20131226.1c7fbaa
- rebuild for octave-3.8.0-rc2
* Thu Dec 26 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.12.git20131226.1c7fbaa
- updated to new snapshot git20131226.1c7fbaa732c8476b2df26bca2ae93de666959092
- updated to new testsuite-data git20131222.0bbb04f354a29ed3ab43ce002388b79bb274e886
* Fri Dec 20 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.11.git20131219.207a709
- rebuild for NLopt-2.4.1
* Fri Dec 20 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.10.git20131219.207a709
- rebuild for arprec-2.2.17
- added a line about `no-SVM^light-support` in %%description
- minor indention improvements for the list of bindings in %%description
- fixed `macro-in-comment %%{mono_arches}`
- added %%ifarch %%{mono_arches} for mono-shogun-pkg for building it on those
arches, only
* Thu Dec 19 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.9.git20131219.207a709
- updated to new snapshot git20131219.207a70972e794df28f0fc67309f217f7fbf3b4e7
* Tue Dec 17 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.8.git20131217.70f2657
- copying and packaging the prestine examples to another location is better
and less error-prone then removing the clutter left by testsuite afterwards
* Tue Dec 17 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.7.git20131217.70f2657
- remove more possible clutter from testsuite
- re-enable mldata-based tests when there is internet connectivity
* Tue Dec 17 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.6.git20131217.70f2657
- updated to new snapshot git20131217.70f26573a501791e11097615296127c1c36904d7
* Tue Dec 17 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.5.git20131216.7230f07
- temporarily disabled mono-shogun on all arm-arches
* Tue Dec 17 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.4.git20131216.7230f07
- enable build of mono-shogun, since it should be fixed in current
checkout (#1043859)
* Tue Dec 17 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.3.git20131216.7230f07
- updated to new snapshot git20131216.7230f074751a97842170b8a5f9c69fbd9b8287ca
* Tue Dec 17 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.2.git20131212.70e774d
- remove cluttering *.map *.md5 in autodocs (#1043856)
- remove possible clutter from testsuite
* Mon Dec 16 2013 Björn Esser <bjoern.esser@gmail.com> - 3.1.0-0.1.git20131212.70e774d
- updated to latest git-snapshot (#1043283)
- disabled shogun-mono, because it segfaults currently and has some severe
problems on ARMv7hl
* Sun Dec 15 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.0-1
- Initial rpm release (#1043283)