Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 pkg-config, 6 meson, 7 ninja, 8 python3, 9 gtk3, 10 glibmm, 11 cairomm, 12 pangomm, 13 atkmm, 14 libepoxy, 15 gnome, 16 glib, 17 gdk-pixbuf, 18}: 19 20stdenv.mkDerivation rec { 21 pname = "gtkmm"; 22 version = "3.24.10"; 23 24 src = fetchurl { 25 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 26 sha256 = "erfiJmgIcW4mw5kkrOH7RtqGwX7znZiWJMQjFLMrWnY="; 27 }; 28 29 outputs = [ 30 "out" 31 "dev" 32 ]; 33 34 nativeBuildInputs = [ 35 pkg-config 36 meson 37 ninja 38 python3 39 glib 40 gdk-pixbuf # for gdk-pixbuf-pixdata 41 ]; 42 buildInputs = [ libepoxy ]; 43 44 propagatedBuildInputs = [ 45 glibmm 46 gtk3 47 atkmm 48 cairomm 49 pangomm 50 ]; 51 52 # https://bugzilla.gnome.org/show_bug.cgi?id=764521 53 doCheck = false; 54 55 passthru = { 56 updateScript = gnome.updateScript { 57 packageName = pname; 58 attrPath = "${pname}3"; 59 versionPolicy = "odd-unstable"; 60 freeze = true; 61 }; 62 }; 63 64 meta = with lib; { 65 description = "C++ interface to the GTK graphical user interface library"; 66 67 longDescription = '' 68 gtkmm is the official C++ interface for the popular GUI library 69 GTK. Highlights include typesafe callbacks, and a 70 comprehensive set of widgets that are easily extensible via 71 inheritance. You can create user interfaces either in code or 72 with the Glade User Interface designer, using libglademm. 73 There's extensive documentation, including API reference and a 74 tutorial. 75 ''; 76 77 homepage = "https://gtkmm.gnome.org/"; 78 79 license = licenses.lgpl2Plus; 80 81 maintainers = with maintainers; [ raskin ]; 82 platforms = platforms.unix; 83 }; 84}