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