base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / li / libdbiDrivers / package.nix
blob6537e3ae2a3e8effa5298d66eab5e7c6a4cf7b69
1 { lib, stdenv, fetchurl, libdbi
2 # TODO: migrate away from overriding packages to null
3 , libmysqlclient ? null
4 , sqlite ? null
5 , postgresql ? null
6 }:
8 stdenv.mkDerivation rec {
9   pname = "libdbi-drivers";
10   version = "0.9.0";
12   src = fetchurl {
13     url = "mirror://sourceforge/libdbi-drivers/libdbi-drivers-${version}.tar.gz";
14     sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3";
15   };
17   buildInputs = [ libdbi sqlite postgresql ] ++ lib.optional (libmysqlclient != null) libmysqlclient;
19   patches = [
20     # https://sourceforge.net/p/libdbi-drivers/libdbi-drivers/ci/24f48b86c8988ee3aaebc5f303d71e9d789f77b6
21     ./libdbi-drivers-0.9.0-buffer_overflow.patch
22   ];
24   postPatch = ''
25     sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure;
26   '';
28   configureFlags = [
29     "--sysconfdir=/etc"
30     "--localstatedir=/var"
31     "--disable-docs"
32     "--enable-libdbi"
33     "--with-dbi-incdir=${libdbi}/include"
34     "--with-dbi-libdir=${libdbi}/lib"
35   ] ++ lib.optionals (libmysqlclient != null) [
36     "--with-mysql"
37     "--with-mysql-incdir=${lib.getDev libmysqlclient}/include/mysql"
38     "--with-mysql-libdir=${libmysqlclient}/lib/mysql"
39   ] ++ lib.optionals (sqlite != null) [
40     "--with-sqlite3"
41     "--with-sqlite3-incdir=${sqlite.dev}/include/sqlite"
42     "--with-sqlite3-libdir=${sqlite.out}/lib/sqlite"
43   ] ++ lib.optionals (postgresql != null) [
44     "--with-pgsql"
45   ];
47   env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
48     "-Wno-error=incompatible-function-pointer-types"
49     "-Wno-error=int-conversion"
50   ]);
52   installFlags = [ "DESTDIR=\${out}" ];
54   postInstall = ''
55     mv $out/$out/* $out
56     DIR=$out/$out
57     while rmdir $DIR 2>/dev/null; do
58       DIR="$(dirname "$DIR")"
59     done
61     # Remove the unneeded var/lib directories
62     rm -rf $out/var
63   '';
65   meta = with lib; {
66     homepage = "https://libdbi-drivers.sourceforge.net/";
67     description = "Database drivers for libdbi";
68     platforms = platforms.all;
69     license = licenses.lgpl21;
70     maintainers = [ ];
71   };