lol
1{
2 lib,
3 fetchurl,
4 desktop-file-utils,
5 meson,
6 ninja,
7 pkg-config,
8 gnome,
9 gtk3,
10 wrapGAppsHook3,
11 gobject-introspection,
12 itstool,
13 python3,
14 at-spi2-core,
15 gettext,
16 libwnck,
17 librsvg,
18}:
19
20python3.pkgs.buildPythonApplication rec {
21 pname = "accerciser";
22 version = "3.46.2";
23
24 format = "other";
25
26 src = fetchurl {
27 url = "mirror://gnome/sources/accerciser/${lib.versions.majorMinor version}/accerciser-${version}.tar.xz";
28 hash = "sha256-r/RpRR8k5YdpPE9/en+GpQU8ZrIDOndDrZ2DhHSWdw4=";
29 };
30
31 nativeBuildInputs = [
32 desktop-file-utils
33 gettext
34 gobject-introspection # For setup hook
35 itstool
36 meson
37 ninja
38 pkg-config
39 wrapGAppsHook3
40 ];
41
42 buildInputs = [
43 at-spi2-core
44 gtk3
45 libwnck
46 librsvg
47 ];
48
49 propagatedBuildInputs = with python3.pkgs; [
50 dbus-python
51 ipython
52 pyatspi
53 pycairo
54 pygobject3
55 pyxdg
56 setuptools # for pkg_resources
57 ];
58
59 dontWrapGApps = true;
60
61 preFixup = ''
62 makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
63 '';
64
65 passthru = {
66 updateScript = gnome.updateScript {
67 packageName = "accerciser";
68 versionPolicy = "odd-unstable";
69 };
70 };
71
72 meta = {
73 homepage = "https://gitlab.gnome.org/GNOME/accerciser";
74 changelog = "https://gitlab.gnome.org/GNOME/accerciser/-/blob/${version}/NEWS?ref_type=tags";
75 description = "Interactive Python accessibility explorer";
76 mainProgram = "accerciser";
77 teams = [ lib.teams.gnome ];
78 license = lib.licenses.bsd3;
79 platforms = lib.platforms.linux;
80 };
81}