nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 70 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 python3, 6 meson, 7 ninja, 8 vala, 9 pkg-config, 10 libgee, 11 gtk3, 12 glib, 13 gettext, 14 gsettings-desktop-schemas, 15 gobject-introspection, 16 wrapGAppsHook3, 17}: 18 19stdenv.mkDerivation rec { 20 pname = "granite"; 21 version = "6.2.0"; # nixpkgs-update: no auto update 22 23 outputs = [ 24 "out" 25 "dev" 26 ]; 27 28 src = fetchFromGitHub { 29 owner = "elementary"; 30 repo = pname; 31 rev = version; 32 sha256 = "sha256-WM0Wo9giVP5pkMFaPCHsMfnAP6xD71zg6QLCYV6lmkY="; 33 }; 34 35 nativeBuildInputs = [ 36 gettext 37 gobject-introspection 38 meson 39 ninja 40 pkg-config 41 python3 42 vala 43 wrapGAppsHook3 44 ]; 45 46 propagatedBuildInputs = [ 47 glib 48 gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format" 49 gtk3 50 libgee 51 ]; 52 53 postPatch = '' 54 chmod +x meson/post_install.py 55 patchShebangs meson/post_install.py 56 ''; 57 58 meta = with lib; { 59 description = "Extension to GTK used by elementary OS"; 60 longDescription = '' 61 Granite is a companion library for GTK and GLib. Among other things, it provides complex widgets and convenience functions 62 designed for use in apps built for elementary OS. 63 ''; 64 homepage = "https://github.com/elementary/granite"; 65 license = licenses.lgpl3Plus; 66 platforms = platforms.linux; 67 teams = [ teams.pantheon ]; 68 mainProgram = "granite-demo"; 69 }; 70}