Commit Graph

20 Commits

Author SHA1 Message Date
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