diff options
Diffstat (limited to 'pkgs/by-name/ir/ironbar/package.nix')
-rw-r--r-- | pkgs/by-name/ir/ironbar/package.nix | 110 |
1 files changed, 68 insertions, 42 deletions
diff --git a/pkgs/by-name/ir/ironbar/package.nix b/pkgs/by-name/ir/ironbar/package.nix index 1576f06528c6b..006eb004611d2 100644 --- a/pkgs/by-name/ir/ironbar/package.nix +++ b/pkgs/by-name/ir/ironbar/package.nix @@ -1,63 +1,76 @@ -{ gtk3 -, gdk-pixbuf -, librsvg -, webp-pixbuf-loader -, gobject-introspection -, glib-networking -, glib -, shared-mime-info -, gsettings-desktop-schemas -, wrapGAppsHook -, gtk-layer-shell -, gnome -, libxkbcommon -, openssl -, pkg-config -, hicolor-icon-theme -, rustPlatform -, lib -, fetchFromGitHub +{ + gtk3, + gdk-pixbuf, + librsvg, + webp-pixbuf-loader, + gobject-introspection, + glib-networking, + glib, + shared-mime-info, + gsettings-desktop-schemas, + wrapGAppsHook3, + gtk-layer-shell, + gnome, + libxkbcommon, + openssl, + pkg-config, + hicolor-icon-theme, + rustPlatform, + lib, + fetchFromGitHub, + luajit, + luajitPackages, + libpulseaudio, + features ? [ ], }: +let + hasFeature = f: features == [ ] || builtins.elem f features; +in rustPlatform.buildRustPackage rec { pname = "ironbar"; - version = "0.14.1"; + version = "0.15.1"; src = fetchFromGitHub { owner = "JakeStanger"; repo = "ironbar"; rev = "v${version}"; - hash = "sha256-y4w4i/IVe1+wjB2tsCPQH6c7XTl93u45Q0pXFi3TY1E="; + hash = "sha256-TPbvKQdoGfZMzp+fl72vy6MtRV1yGcOG/es67VOA0xw="; }; - cargoHash = "sha256-h5yNJM+NvX/Hi86iSegHWevPcPZeDmJ4y/qNr3G20Qg="; + cargoHash = "sha256-+9R505xyEycv5Dav4ZCh1BiYRp3U1I9yBDqSPefo9uY="; - buildInputs = [ - gtk3 - gdk-pixbuf - glib - gtk-layer-shell - glib-networking - shared-mime-info - gnome.adwaita-icon-theme - hicolor-icon-theme - gsettings-desktop-schemas - libxkbcommon - openssl - ]; + buildInputs = + [ + gtk3 + gdk-pixbuf + glib + gtk-layer-shell + glib-networking + shared-mime-info + gnome.adwaita-icon-theme + hicolor-icon-theme + gsettings-desktop-schemas + libxkbcommon + ] + ++ lib.optionals (hasFeature "http") [ openssl ] + ++ lib.optionals (hasFeature "volume") [ libpulseaudio ] + ++ lib.optionals (hasFeature "cairo") [ luajit ]; nativeBuildInputs = [ pkg-config - wrapGAppsHook + wrapGAppsHook3 gobject-introspection ]; + propagatedBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ - gtk3 - ]; + runtimeDeps = [ luajitPackages.lgi ]; - preFixup = '' - gappsWrapperArgs+=( + buildNoDefaultFeatures = features != [ ]; + buildFeatures = features; + + gappsWrapperArgs = + '' # Thumbnailers --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${librsvg}/share" @@ -66,6 +79,15 @@ rustPlatform.buildRustPackage rec { # gtk-launch --suffix PATH : "${lib.makeBinPath [ gtk3 ]}" + '' + + lib.optionalString (hasFeature "cairo") '' + --prefix LUA_PATH : "./?.lua;${luajitPackages.lgi}/share/lua/5.1/?.lua;${luajitPackages.lgi}/share/lua/5.1/?/init.lua;${luajit}/share/lua/5.1/\?.lua;${luajit}/share/lua/5.1/?/init.lua" + --prefix LUA_CPATH : "./?.so;${luajitPackages.lgi}/lib/lua/5.1/?.so;${luajit}/lib/lua/5.1/?.so;${luajit}/lib/lua/5.1/loadall.so" + ''; + + preFixup = '' + gappsWrapperArgs+=( + ${gappsWrapperArgs} ) ''; @@ -74,7 +96,11 @@ rustPlatform.buildRustPackage rec { description = "Customizable gtk-layer-shell wlroots/sway bar written in Rust"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ yavko donovanglover jakestanger ]; + maintainers = with maintainers; [ + yavko + donovanglover + jakestanger + ]; mainProgram = "ironbar"; }; } |