1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 autoreconfHook,
6 pkg-config,
7 boost,
8 libixion,
9 mdds,
10 python3,
11 zlib,
12}:
13
14stdenv.mkDerivation rec {
15 pname = "liborcus";
16 version = "0.19.2";
17
18 src = fetchFromGitLab {
19 owner = "orcus";
20 repo = "orcus";
21 rev = version;
22 hash = "sha256-+9C52H99c/kL5DEIoXV+WcLnTftRbicRLQN/FdIXBw8=";
23 };
24
25 nativeBuildInputs = [
26 autoreconfHook
27 pkg-config
28 python3.pythonOnBuildForHost
29 ];
30
31 buildInputs = [
32 boost
33 libixion
34 mdds
35 python3
36 zlib
37 ];
38
39 configureFlags = [
40 "--with-boost=${boost.dev}"
41 ];
42
43 preCheck = ''
44 patchShebangs test/python
45 ''
46 + lib.optionalString stdenv.hostPlatform.isDarwin ''
47 export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}${
48 lib.concatMapStringsSep ":" (d: "$(pwd)/src/${d}/.libs") [
49 "liborcus"
50 "parser"
51 "python"
52 "spreadsheet"
53 ]
54 }
55 '';
56
57 strictDeps = true;
58 doCheck = true;
59 enableParallelBuilding = true;
60 enableParallelChecking = true;
61
62 meta = with lib; {
63 description = "Collection of parsers and import filters for spreadsheet documents";
64 homepage = "https://gitlab.com/orcus/orcus";
65 changelog = "https://gitlab.com/orcus/orcus/-/blob/${src.rev}/CHANGELOG";
66 license = licenses.mpl20;
67 maintainers = [ ];
68 platforms = platforms.all;
69 };
70}