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