nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, stdenv
3, fetchFromGitHub
4, nix-update-script
5, fetchpatch
6, vala
7, meson
8, ninja
9, pkg-config
10, python3
11, libgee
12, gsettings-desktop-schemas
13, gnome
14, pantheon
15, wrapGAppsHook
16, gtk3
17, json-glib
18, glib
19, glib-networking
20, libhandy
21}:
22
23stdenv.mkDerivation rec {
24 pname = "tootle";
25 version = "1.0";
26
27 src = fetchFromGitHub {
28 owner = "bleakgrey";
29 repo = pname;
30 rev = version;
31 sha256 = "NRM7GiJA8c5z9AvXpGXtMl4ZaYN2GauEIbjBmoY4pdo=";
32 };
33
34 patches = [
35 # Adhere to GLib.Object naming conventions for properties
36 # https://github.com/bleakgrey/tootle/pull/339
37 (fetchpatch {
38 url = "https://git.alpinelinux.org/aports/plain/community/tootle/0001-Adhere-to-GLib.Object-naming-conventions-for-propert.patch?id=001bf1ce9695ddb0bbb58b44433d54207c15b0b5";
39 sha256 = "sha256-B62PhMRkU8P3jmnIUq1bYWztLtO2oNcDsXnAYbJGpso=";
40 })
41 # Use reason_phrase instead of get_phrase
42 # https://github.com/bleakgrey/tootle/pull/336
43 (fetchpatch {
44 url = "https://git.alpinelinux.org/aports/plain/community/tootle/0002-Use-reason_phrase-instead-of-get_phrase.patch?id=001bf1ce9695ddb0bbb58b44433d54207c15b0b5";
45 sha256 = "sha256-rm5NFLeAL2ilXpioywgCR9ppoq+MD0MLyVaBmdzVkqU=";
46 })
47 # Application: make app_entries private
48 # https://github.com/bleakgrey/tootle/pull/346
49 (fetchpatch {
50 url = "https://git.alpinelinux.org/aports/plain/community/tootle/0003-make-app-entries-private.patch?id=c973e68e3cba855f1601ef010afa9a14578b9499";
51 sha256 = "sha256-zwU0nxf/haBZl4tOYDmMzwug+HC6lLDT8/12Wt62+S4=";
52 })
53 # https://github.com/flathub/com.github.bleakgrey.tootle/pull/22
54 (fetchpatch {
55 url = "https://github.com/flathub/com.github.bleakgrey.tootle/raw/6b524dc13143e4827f67628e33dcf161d862af29/Fix-construct-prop.patch";
56 sha256 = "sha256-zOIMy9+rY2aRcPHcGWU/x6kf/xb7VnuHdsKQ0FO1Cyc=";
57 })
58 ];
59
60 nativeBuildInputs = [
61 meson
62 ninja
63 pkg-config
64 python3
65 vala
66 wrapGAppsHook
67 ];
68
69 buildInputs = [
70 glib
71 glib-networking
72 gnome.libsoup
73 gsettings-desktop-schemas
74 gtk3
75 json-glib
76 libgee
77 pantheon.granite
78 libhandy
79 ];
80
81 postPatch = ''
82 chmod +x meson/post_install.py
83 patchShebangs meson/post_install.py
84 '';
85
86 passthru = {
87 updateScript = nix-update-script { };
88 };
89
90 meta = with lib; {
91 description = "Simple Mastodon client designed for elementary OS";
92 homepage = "https://github.com/bleakgrey/tootle";
93 license = licenses.gpl3;
94 maintainers = with maintainers; [ dtzWill ];
95 platforms = platforms.linux;
96 };
97}