1{
2 lib,
3 stdenv,
4 fetchurl,
5 meson,
6 ninja,
7 pkg-config,
8 glib,
9 python3,
10 sqlite,
11 gdk-pixbuf,
12 gnome,
13 gobject-introspection,
14}:
15
16stdenv.mkDerivation rec {
17 pname = "gom";
18 version = "0.5.3";
19
20 outputs = [
21 "out"
22 "py"
23 ];
24
25 src = fetchurl {
26 url = "mirror://gnome/sources/gom/${lib.versions.majorMinor version}/gom-${version}.tar.xz";
27 sha256 = "Bp0JCfvca00n7feoeTZhlOOrUIsDVIv1uJ/2NUbSAXc=";
28 };
29
30 patches = [
31 ./longer-stress-timeout.patch
32 ];
33
34 nativeBuildInputs = [
35 gobject-introspection
36 meson
37 ninja
38 pkg-config
39 ];
40
41 buildInputs = [
42 gdk-pixbuf
43 glib
44 sqlite
45 python3.pkgs.pygobject3
46 ];
47
48 mesonFlags = [
49 "-Dpygobject-override-dir=${placeholder "py"}/${python3.sitePackages}/gi/overrides"
50 ];
51
52 # Success is more likely on x86_64
53 doCheck = stdenv.hostPlatform.isx86_64;
54
55 passthru = {
56 updateScript = gnome.updateScript {
57 packageName = "gom";
58 };
59 };
60
61 meta = with lib; {
62 description = "GObject to SQLite object mapper";
63 homepage = "https://gitlab.gnome.org/GNOME/gom";
64 license = licenses.lgpl21Plus;
65 platforms = platforms.unix;
66 teams = [ teams.gnome ];
67 };
68}