python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / libgda / 6.x.nix
blobc02c6116e64807bcc002969f4bf71bfa93af2f00
1 { lib
2 , stdenv
3 , fetchurl
4 , fetchpatch
5 , pkg-config
6 , intltool
7 , meson
8 , ninja
9 , itstool
10 , libxml2
11 , python3
12 , gtk3
13 , json-glib
14 , isocodes
15 , openssl
16 , gnome
17 , gobject-introspection
18 , vala
19 , libgee
20 , sqlite
21 , gtk-doc
22 , yelp-tools
23 , mysqlSupport ? false
24 , libmysqlclient ? null
25 , postgresSupport ? false
26 , postgresql ? null
29 assert mysqlSupport -> libmysqlclient != null;
30 assert postgresSupport -> postgresql != null;
32 stdenv.mkDerivation rec {
33   pname = "libgda";
34   version = "6.0.0";
36   src = fetchurl {
37     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
38     sha256 = "0w564z7krgjk19r39mi5qn4kggpdg9ggbyn9pb4aavb61r14npwr";
39   };
41   patches = [
42     # Fix undefined behavior
43     (fetchpatch {
44       url = "https://gitlab.gnome.org/GNOME/libgda/-/commit/657b2f8497da907559a6769c5b1d2d7b5bd40688.patch";
45       sha256 = "Qx4S9KQsTAr4M0QJi0Xr5kKuHSp4NwZJHoRPYyxIyTk=";
46     })
48     # Fix building vapi
49     (fetchpatch {
50       url = "https://gitlab.gnome.org/GNOME/libgda/-/commit/57f618a3b2a3758ee3dcbf9bbdc566122dd8566d.patch";
51       sha256 = "pyfymUd61m1kHaGyMbUQMma+szB8mlqGWwcFBBQawf8=";
52     })
53   ];
55   nativeBuildInputs = [
56     pkg-config
57     intltool
58     meson
59     ninja
60     itstool
61     libxml2
62     python3
63     gobject-introspection
64     vala
65     gtk-doc
66     yelp-tools
67   ];
69   buildInputs = [
70     gtk3
71     json-glib
72     isocodes
73     openssl
74     libgee
75     sqlite
76   ] ++ lib.optionals mysqlSupport [
77     libmysqlclient
78   ] ++ lib.optionals postgresSupport [
79     postgresql
80   ];
82   postPatch = ''
83     patchShebangs \
84       providers/raw_spec.py \
85       providers/mysql/gen_bin.py
86   '';
88   passthru = {
89     updateScript = gnome.updateScript {
90       packageName = pname;
91       attrPath = "libgda6";
92       versionPolicy = "odd-unstable";
93     };
94   };
96   meta = with lib; {
97     description = "Database access library";
98     homepage = "https://www.gnome-db.org/";
99     license = with licenses; [
100       # library
101       lgpl2Plus
102       # CLI tools
103       gpl2Plus
104     ];
105     maintainers = teams.gnome.members;
106     platforms = platforms.unix;
107   };