Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 fetchurl,
5 pkg-config,
6 openssl,
7 libxslt,
8 perl,
9 curl,
10 libxml2,
11 librdf_rasqal,
12 gmp,
13 libmysqlclient,
14 withMysql ? false,
15 libpq,
16 withPostgresql ? false,
17 sqlite,
18 withSqlite ? true,
19 db,
20 withBdb ? false,
21}:
22
23stdenv.mkDerivation rec {
24 pname = "redland";
25 version = "1.0.17";
26
27 src = fetchurl {
28 url = "http://download.librdf.org/source/redland-${version}.tar.gz";
29 sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
30 };
31
32 nativeBuildInputs = [
33 perl
34 pkg-config
35 ]
36 ++ lib.optional withPostgresql libpq.pg_config;
37
38 buildInputs = [
39 openssl
40 libxslt
41 curl
42 libxml2
43 gmp
44 ]
45 ++ lib.optional withMysql libmysqlclient
46 ++ lib.optional withSqlite sqlite
47 ++ lib.optional withPostgresql libpq
48 ++ lib.optional withBdb db;
49
50 propagatedBuildInputs = [ librdf_rasqal ];
51
52 postInstall = "rm -rvf $out/share/gtk-doc";
53
54 configureFlags = [
55 "--with-threads"
56 ]
57 ++ lib.optionals withBdb [
58 "--with-bdb-include=${db.dev}/include"
59 "--with-bdb-lib=${db.out}/lib"
60 ];
61
62 # Fix broken DT_NEEDED in lib/redland/librdf_storage_sqlite.so.
63 NIX_CFLAGS_LINK = "-lraptor2";
64
65 doCheck = false; # fails 1 out of 17 tests with a segmentation fault
66
67 meta = with lib; {
68 description = "C libraries that provide support for the Resource Description Framework (RDF)";
69 homepage = "https://librdf.org/";
70 platforms = platforms.unix;
71 license = licenses.asl20;
72 };
73}