{ lib, stdenv, buildNimblePackage, fetchFromGitHub, glib, gobjectIntrospection, gnome3, cairo, pango, librsvg, libnotify, hicolor-icon-theme, wrapGAppsHook }: let oldgtk3 = buildNimblePackage rec { name = "oldgtk3-${version}"; version = "0.1.0"; src = fetchFromGitHub { owner = "StefanSalewski"; repo = "oldgtk3"; rev = "8ad4bc7e790c2c4b01eff9ff4f7d7ecc2cac25e3"; sha256 = "1kfv4cwgfygbxfgnsyzcwvy5l17082zx9vb9kc75zj27qhlq9ygd"; }; }; in buildNimblePackage rec { name = "gintro-${version}"; version = "0.4.22"; src = fetchFromGitHub { owner = "StefanSalewski"; repo = "gintro"; rev = "v${version}"; sha256 = "0a6qz51gl3bczisrac99nq3a1bqxwaqgvk21j8fdmi3xmylzx54g"; }; patches = [ ./allow-preinstalled-oldgtk3.patch ]; nimDeps = [ oldgtk3 ]; nativeBuildInputs = [ gobjectIntrospection wrapGAppsHook ]; buildInputs = [ glib gnome3.gdk_pixbuf gnome3.gtk gnome3.gtksourceview gnome3.vte gnome3.adwaita-icon-theme hicolor-icon-theme cairo pango librsvg libnotify ]; meta = with lib; { description = "High level GObject-Introspection based GTK3 bindings for Nim language"; homepage = https://github.com/StefanSalewski/gintro; license = licenses.mit; maintainers = with maintainers; [ lurchi ]; platforms = platforms.gnu ++ platforms.linux; }; }