about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/opendbx
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/opendbx')
-rw-r--r--nixpkgs/pkgs/development/libraries/opendbx/default.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/opendbx/default.nix b/nixpkgs/pkgs/development/libraries/opendbx/default.nix
new file mode 100644
index 000000000000..04ffde29daa0
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/opendbx/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchurl, readline, libmysqlclient, postgresql, sqlite }:
+
+let inherit (lib) getDev; in
+
+stdenv.mkDerivation rec {
+  pname = "opendbx";
+  version = "1.4.6";
+
+  src = fetchurl {
+    url = "https://linuxnetworks.de/opendbx/download/opendbx-${version}.tar.gz";
+    sha256 = "0z29h6zx5f3gghkh1a0060w6wr572ci1rl2a3480znf728wa0ii2";
+  };
+
+  preConfigure = ''
+    export CPPFLAGS="-I${getDev libmysqlclient}/include/mysql"
+    export LDFLAGS="-L${libmysqlclient}/lib/mysql -L${postgresql}/lib"
+    configureFlagsArray=(--with-backends="mysql pgsql sqlite3")
+  '';
+
+  buildInputs = [ readline libmysqlclient postgresql sqlite ];
+
+  env.NIX_CFLAGS_COMPILE = toString [
+    # Needed with GCC 12
+    "-std=c++14"
+  ];
+
+  meta = with lib; {
+    broken = stdenv.isDarwin;
+    description = "Extremely lightweight but extensible database access library written in C";
+    mainProgram = "odbx-sql";
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+  };
+}