Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / gtkmm / 3.x.nix
blob1d3f15ba9871bcc6382d7f0e843e63509c80ee1d
1 { lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, gtk3, glibmm, cairomm, pangomm, atkmm, libepoxy, gnome, glib, gdk-pixbuf }:
3 stdenv.mkDerivation rec {
4   pname = "gtkmm";
5   version = "3.24.8";
7   src = fetchurl {
8     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
9     sha256 = "0pQMZJIuW5WFVLI9TEHRg56p5D4NLls4Gc+0aCSgmMQ=";
10   };
12   outputs = [ "out" "dev" ];
14   nativeBuildInputs = [
15     pkg-config
16     meson
17     ninja
18     python3
19     glib
20     gdk-pixbuf # for gdk-pixbuf-pixdata
21   ];
22   buildInputs = [ libepoxy ];
24   propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ];
26   # https://bugzilla.gnome.org/show_bug.cgi?id=764521
27   doCheck = false;
29   passthru = {
30     updateScript = gnome.updateScript {
31       packageName = pname;
32       attrPath = "${pname}3";
33       versionPolicy = "odd-unstable";
34       freeze = true;
35     };
36   };
38   meta = with lib; {
39     description = "C++ interface to the GTK graphical user interface library";
41     longDescription = ''
42       gtkmm is the official C++ interface for the popular GUI library
43       GTK.  Highlights include typesafe callbacks, and a
44       comprehensive set of widgets that are easily extensible via
45       inheritance.  You can create user interfaces either in code or
46       with the Glade User Interface designer, using libglademm.
47       There's extensive documentation, including API reference and a
48       tutorial.
49     '';
51     homepage = "https://gtkmm.org/";
53     license = licenses.lgpl2Plus;
55     maintainers = with maintainers; [ raskin ];
56     platforms = platforms.unix;
57   };