nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv
2, lib
3, fetchFromGitHub
4, glib
5, meson
6, ninja
7, wrapGAppsHook
8, desktop-file-utils
9, gobject-introspection
10, gtk3
11, python3
12}:
13
14stdenv.mkDerivation rec {
15 pname = "siglo";
16 version = "0.9.9";
17
18 src = fetchFromGitHub {
19 owner = "theironrobin";
20 repo = "siglo";
21 rev = "v${version}";
22 hash = "sha256-4jKsRpzuyHH31LXndC3Ua4TYcI0G0v9qqe0cbvLuCDA=";
23 };
24
25 patches = [
26 ./siglo-no-user-install.patch
27 ];
28
29 postPatch = ''
30 chmod +x build-aux/meson/postinstall.py # patchShebangs requires an executable file
31 patchShebangs build-aux/meson/postinstall.py
32 '';
33
34 nativeBuildInputs = [
35 glib
36 meson
37 ninja
38 wrapGAppsHook
39 python3.pkgs.wrapPython
40 python3
41 desktop-file-utils
42 gtk3
43 ];
44
45 buildInputs = [
46 gtk3
47 python3.pkgs.gatt
48 gobject-introspection
49 ];
50
51 pythonPath = with python3.pkgs; [
52 gatt
53 pybluez
54 requests
55 ];
56
57 preFixup = ''
58 buildPythonPath "$out $pythonPath"
59 gappsWrapperArgs+=(--prefix PYTHONPATH : "$program_PYTHONPATH")
60 '';
61
62 meta = with lib; {
63 description = "GTK app to sync InfiniTime watch with PinePhone";
64 homepage = "https://github.com/theironrobin/siglo";
65 changelog = "https://github.com/theironrobin/siglo/tags/v${version}";
66 license = licenses.mpl20;
67 maintainers = with maintainers; [ tomfitzhenry ];
68 platforms = platforms.linux;
69 };
70}