Commit graph

28 commits

Author SHA1 Message Date
Sebastián Mancilla 70b3662a67 shogun: disable broken test
Shogun has been broken for a while [0].

Looks like the latest update to openblas, by f07a0615ea (openblas:
0.3.20 -> 0.3.21, 2022-08-10), broke the `libshogun-mathematics_lapack`
example. It calculates the eigenvectors for a matrix, but the assertions
now fail:

    compute_eigenvectors
    A=[
    [       -0.500000000000000111,  0.707106781186547351,   0.5],
    [       0.707106781186547351,   1.04083408558608426e-16,        0.707106781186547129],
    [       -0.499999999999999722,  -0.707106781186547462,  0.5]
    ]
    eigenvalues=[-1.41421356237309492,1.04083408558608426e-17,1.41421356237309492]
    terminate called after throwing an instance of 'shogun::ShogunException'

The darwin build output shows a bit more detail:

    assertion is_equal(A(0,0), 0.5, eps) failed in void test_ev()
    file /tmp/nix-build-shogun-6.1.4.drv-0/source/examples/undocumented/libshogun/mathematics_lapack.cpp
    line 49

Disable the test to fix the build, although the results seem "correct".
It appears that openblas now calculates values with slightly less
precision, thus the assertion fails due to the expected epsilon.

[0]: https://hydra.nixos.org/build/194671473
2023-05-21 22:34:01 -04:00
Sebastián Mancilla 61fc2d2c89 shogun: disable tests that take too long
The checkPhase may take from 30 minutes up to 2 hours and 30 minutes on
Hydra due to these tests:

    [...]
    311/375 Test #311: libshogun-evaluation_cross_validation_classification ............   Passed  247.33 sec
    312/375 Test #313: libshogun-evaluation_cross_validation_mkl_weight_storage ........   Passed  428.31 sec
    315/375 Test #312: libshogun-evaluation_cross_validation_locked_comparison .........   Passed  880.44 sec
    341/375 Test #316: libshogun-evaluation_cross_validation_regression ................   Passed  380.48 sec
    342/375 Test #343: libshogun-modelselection_grid_search_kernel .....................   Passed 4866.85 sec
    343/375 Test #344: libshogun-modelselection_grid_search_linear .....................   Passed  574.78 sec
    345/375 Test #342: libshogun-modelselection_combined_kernel_sub_parameters .........   Passed 5929.90 sec
    375/375 Test #346: libshogun-modelselection_grid_search_multiclass_svm .............   Passed 1826.27 sec
    [...]
    Total Test time (real) = 9046.65 sec
    checkPhase completed in 2 hours 30 minutes 47 seconds
2023-05-21 22:34:01 -04:00
Sebastián Mancilla 5873454b52 shogun: fix compiler warnings
Fix warnings related to virtual destruction. Kinda important to fix.
2023-05-21 22:34:01 -04:00
Sebastián Mancilla c812170c74 shogun: refactor derivation 2023-05-21 22:34:00 -04:00
Josef Kemetmüller 1ca04aa9f1 treewide: Stop setting CMAKE_SKIP_BUILD_RPATH=OFF
This is now the new default and thus doesn't need to be set manually
anymore.
2022-07-04 03:49:01 +03:00
Sebastián Mancilla c03c5c1500 shogun: fix CMake targets
CMake uses the directory of the configuration files to calculate
the path to the installed library and headers. But now that shogun uses
multiple outputs, this results in the $dev output being used for the
location of the shared library instead of $out.

Path the targets file to use the right location for the shared library.
2022-01-22 18:41:49 -03:00
Sebastián Mancilla aaea9844c6 shogun: use Python 3 as build dependency
Also default pythonSupport to false because it's broken for Python 3.

In any case the Python interface has been disabled for almost 2 years
now because the wrong CMake flag was being passed, so the build stays
the same.

But do use the proper flag now.
2022-01-22 18:36:06 -03:00
Robert Schütz d5cceedbd1 python,pythonPackages: make aliases
Since aliases are disallowed in nixpkgs, this makes usage of Python 2
which is EOL more explicit.
2022-01-16 18:39:59 +00:00
Sebastián Mancilla 203db44ed4 shogun: fix compile errors with Eigen 3.4
Fixes #142811.
2021-11-09 00:27:13 -03:00
Sebastián Mancilla 82568e6718 shogun: refactor build
Main changes are:

- Build with default stdenv instead of forcing GCC 8, by applying upstream
  patches that fix building with newer compilers.

  Together with #134390 and #134393 (and the blas library fixes on #135493
  and #136535), this enables building the derivation on darwin.

- Use multiple outputs.

- Move build-only inputs to nativeBuildInputs.

- Generate the meta examples but do not compile them (they are compiled as
  part of the tests), to not make the build take more time than already is.

  Install the example source files into $doc (but do not install the
  example binaries, only the sources).

- Enable testing by setting the CMake variable CMAKE_SKIP_BUILD_RPATH to
  false (it should not be needed if #108496 is merged). This allows the
  tests to locate the shogun library and run without problems.

  Disable integration and meta tests to speed up the build.

With a few other minor changes:

- Use upstream URL for the json-c patch.

- Be explicit about which optional, commercial dependencies are not used,
  to stop CMake searching for them.

- Do not set NIX_CFLAGS_COMPILE with '-faligned-new' because it causes a
  warning when compiling C files. Set CXXFLAGS instead.

- Remove unnecessary ccache variables from the environment.

- Fix wrong Google Mock download location, which was forcing CMake to need
  network access to download the tarball to the right location (which fails
  within the sandbox).
2021-11-08 23:57:29 -03:00
Sebastián Mancilla 1e25b1831d shogun: add smancill to maintainers 2021-11-08 23:02:09 -03:00
Sebastián Mancilla 2dd5d704d5 shogun: format derivation 2021-11-08 23:01:59 -03:00
Sebastián Mancilla e810fad47a shogun: remove non-distributable SVMlight code
SVMlight uses a non-standard license [0] that doesn't allow distribution
without the author's permission:

> The software must not be modified and distributed without prior permission of the author.

So remove all code related to it when building the binary package.
Use upstream's own script to do it (which they use to create and
distribute their own Debian package), with a few fixes.

There is still the option of building from source with SVMlight enabled
with an override that sets the withSvmLight parameter.

If SVMlight is enabled set the license to unfree. Also fix the
deprecated gpl3 license to gpl3Plus.

[0]: https://github.com/shogun-toolbox/shogun/blob/shogun_6.1.4/doc/license/LICENSE_SVMlight.md
2021-09-17 15:04:34 -03:00
Sandro Jäckel 3453b89f4b
lzma: deprecate alias 2021-04-04 19:49:52 +02:00
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Ben Siraphob 3ae5e6ce03 treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
Ben Siraphob b04fc593e7 treewide: cmake buildInputs to nativeBuildInputs, minor cleanups 2021-01-01 11:52:33 +07:00
Daiderd Jordan 7b3a2963d1
treewide: replace base64 encoded hashes 2020-06-03 18:35:19 +02:00
Matthew Bauer ff2f2644f8 blas,lapack: use isILP64 instead of is64bit
This is a better name since we have multiple 64-bit things that could
be referred to.

LP64  : integer=32, long=64, pointer=64
ILP64 : integer=64, long=64, pointer=64
2020-04-20 16:02:43 -05:00
Matthew Bauer 1c8aba8334 treewide: use blas and lapack
This makes packages use lapack and blas, which can wrap different
BLAS/LAPACK implementations.

treewide: cleanup from blas/lapack changes

A few issues in the original treewide:

- can’t assume blas64 is a bool
- unused commented code
2020-04-17 16:24:09 -05:00
Edward Tjörnhammar 9b6faedb18
shogun: 6.0.0 -> 6.1.4
Also migrate to opencv3 to address #72739, the PR didn't build for me.
Disable testing and ccache since they were broken.

Co-authored-by: Robert Scott <code@humanleg.org.uk>
2020-02-21 11:05:09 +01:00
volth 46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
Matthew Bauer 3dcb8c10f5 shogun: remove liblapack
not needed anymore
2018-11-08 14:42:29 -06:00
Matthew Bauer 349f3dfe25 shogun: use openblas
shogun needs the cblas.h header file to be available. It used to get
it from liblapack, but that is not available anymore. Instead we can
use openblasCompat to get it.
2018-11-07 13:18:33 -06:00
xeji b3d50c7afa shogun: disable paralllel building
... to avoid sporadic failures
2018-04-19 12:27:00 -05:00
Robin Gloster 50cdd5f02b
shogun: add patch for json-c 0.13 2018-03-05 22:00:03 +01:00
Orivej Desh 812e0bced1 shogun: fix parallel building 2017-12-07 08:52:42 +00:00
Edward Tjörnhammar 9acbfbc7b7
shogun: init at 6.0.0 2017-10-29 10:20:55 +01:00