nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 cmake,
3 coin3d,
4 doxygen,
5 eigen,
6 fetchFromGitHub,
7 fetchpatch,
8 lapack,
9 lib,
10 libdc1394,
11 libdmtx,
12 libglvnd,
13 libjpeg, # this is libjpeg-turbo
14 libpng,
15 librealsense,
16 libxml2,
17 libX11,
18 nlohmann_json,
19 #ogre,
20 openblas,
21 opencv,
22 pkg-config,
23 python3Packages,
24 stdenv,
25 texliveSmall,
26 v4l-utils,
27 xorg,
28 zbar,
29 zlib,
30}:
31
32stdenv.mkDerivation (finalAttrs: {
33 pname = "visp";
34 version = "3.6.0";
35
36 src = fetchFromGitHub {
37 owner = "lagadic";
38 repo = "visp";
39 tag = "v${finalAttrs.version}";
40 hash = "sha256-m5Tmr+cZab7eSjmbXb8HpJpFHb0UYFTyimY+CkfBIAo=";
41 };
42
43 patches = [
44 # fix for absolute install paths
45 # this was merged upstream, and can be removed on next release
46 (fetchpatch {
47 url = "https://github.com/lagadic/visp/pull/1416/commits/fdda5620389badee998fe1926ddd3b46f7a6bcd8.patch";
48 hash = "sha256-W3vvBdQdp59WAMjuucNoWI0eCyPHjWerl7VCNcPVvzI=";
49 })
50
51 # fix for opencv new Universal Intrinsic API
52 # this was merged upstream, and can be removed on next release
53 (fetchpatch {
54 url = "https://github.com/lagadic/visp/pull/1310/commits/9ed0300507e13dddd83fd62a799f5039025ea44e.patch";
55 hash = "sha256-xrJ7B/8mEfi9dM/ToMr6vCAwX/FMw+GA/W0zFYgT32s=";
56 })
57
58 # fix error: unsupported option '-mfpu=' on darwin
59 # this was merged upstream, and can be removed on next release
60 (fetchpatch {
61 url = "https://github.com/lagadic/visp/commit/8c1461661f99a5db31c89ede9946d2b0244f8123.patch";
62 hash = "sha256-MER5KDrFxKs+Y5G9UcEIAh95Zilmv1Vp4xq+isRMM/U=";
63 })
64 ];
65
66 nativeBuildInputs = [
67 cmake
68 doxygen
69 pkg-config
70 texliveSmall
71 ];
72
73 buildInputs = [
74 eigen
75 lapack
76 libdc1394
77 libdmtx
78 libglvnd
79 libjpeg
80 libpng
81 librealsense
82 libX11
83 libxml2
84 nlohmann_json
85 #ogre
86 openblas
87 opencv
88 python3Packages.numpy
89 xorg.libpthreadstubs
90 zbar
91 zlib
92 ]
93 ++ lib.optionals stdenv.hostPlatform.isLinux [
94 coin3d
95 v4l-utils
96 ];
97
98 doCheck = true;
99
100 meta = {
101 description = "Open Source Visual Servoing Platform";
102 # ref. https://github.com/lagadic/visp/pull/1658
103 broken = stdenv.hostPlatform.system == "x86_64-darwin";
104 homepage = "https://visp.inria.fr";
105 changelog = "https://github.com/lagadic/visp/blob/v${finalAttrs.version}/ChangeLog.txt";
106 license = lib.licenses.gpl2Plus;
107 maintainers = with lib.maintainers; [ nim65s ];
108 platforms = lib.platforms.unix;
109 };
110})