summary refs log tree commit diff
path: root/pkgs/development/libraries/dlib/default.nix
blob: 0d262fb061e2905bcd8676824406fe70cd89ca79 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{ stdenv, fetchurl, cmake, x11 }:

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

  src = fetchurl {
    url = "mirror://sourceforge/dclib/dlib/${name}.tar.bz2";
    sha256 = "1g3v13azc29m5r7zqs3x0g731hny6spb66cxnra7f167z31ka3s7";
  };

  # The supplied CMakeLists.txt does not have any install targets.
  sources_var = "\$\{sources\}";
  headers_var = "\$\{hearders\}";
  preConfigure = ''
    cat << EOF > CMakeLists.txt
    cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
    project(dlib)

    include_directories(./)

    file(GLOB sources ./dlib/all/*.cpp)
    file(GLOB headers ./dlib/*.h)

    SET(LIBRARY_OUTPUT_PATH ".")
    add_library(dlib "SHARED" dlib/all/source.cpp ${sources_var} ${headers_var})

    install(TARGETS dlib DESTINATION lib)
    install(DIRECTORY dlib/ DESTINATION include/dlib FILES_MATCHING PATTERN "*.h")
    EOF
  '';   

  enableParallelBuilding = true;
  buildInputs = [ cmake x11 ];
  propagatedBuildInputs = [ x11 ];

  meta = with stdenv.lib; {
    description = "A general purpose cross-platform C++ machine learning library";
    homepage = http://www.dlib.net;
    license = stdenv.lib.licenses.boost;
    maintainers = with maintainers; [ christopherpoole ];
    platforms = stdenv.lib.platforms.all;
  };
}