summary refs log tree commit diff
path: root/pkgs/applications/blockchains/sparrow/openimajgrabber.nix
blob: 0bf642d49d1ca2e1605a30becb37d5b564b09943 (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
{ stdenv
, lib
, fetchFromGitHub
, libv4l
}:
stdenv.mkDerivation rec {
  pname = "openimajgrabber";
  version = "1.3.10";

  src = fetchFromGitHub {
    owner = "openimaj";
    repo = "openimaj";
    rev = "openimaj-${version}";
    sha256 = "sha256-Y8707ovE7f6Fk3cJ+PtwvzNpopgH5vlF55m2Xm4hjYM=";
  };

  buildInputs = [ libv4l ];

  # These build instructions come from build.sh
  buildPhase = ''
    pushd hardware/core-video-capture/src-native/linux
    g++ -fPIC -g -c OpenIMAJGrabber.cpp
    g++ -fPIC -g -c capture.cpp
    g++ -shared -Wl,-soname,OpenIMAJGrabber.so -o OpenIMAJGrabber.so OpenIMAJGrabber.o capture.o -lv4l2 -lrt -lv4lconvert
    popd
  '';

  installPhase = ''
    mkdir -p $out/lib
    cp hardware/core-video-capture/src-native/linux/OpenIMAJGrabber.so $out/lib
  '';

  meta = with lib; {
    description = "A collection of libraries and tools for multimedia (images, text, video, audio, etc.) content analysis and content generation. This package only builds the OpenIMAJGrabber for Linux.";
    homepage = "http://www.openimaj.org";
    license = licenses.bsd0;
    maintainers = with maintainers; [ emmanuelrosa _1000101 ];
    platforms = platforms.linux;
  };
}