diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-06-22 15:01:47 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-06-22 16:57:59 +0000 |
commit | 633cab0ecb07627706c6b523e219490f019eaab5 (patch) | |
tree | 4fb472bdfe2723037dad53dc1b8a87c939015f5e /nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix | |
parent | ffb691c199e7e0cbc4e45e5310779c9e3f7c2a73 (diff) | |
parent | 432fc2d9a67f92e05438dff5fdc2b39d33f77997 (diff) | |
download | nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.gz nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.bz2 nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.lz nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.xz nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.zst nixlib-633cab0ecb07627706c6b523e219490f019eaab5.zip |
Merge commit '432fc2d9a67f92e05438dff5fdc2b39d33f77997'
# Conflicts: # nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix # nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix # nixpkgs/pkgs/applications/window-managers/sway/default.nix # nixpkgs/pkgs/build-support/rust/default.nix # nixpkgs/pkgs/development/go-modules/generic/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix b/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix new file mode 100644 index 000000000000..50839568462f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix @@ -0,0 +1,91 @@ +{ stdenv +, lib +, fetchurl +, pkg-config +, meson +, ninja +, python3 +, gtk4 +, glibmm_2_68 +, cairomm_1_16 +, pangomm_2_48 +, epoxy +, gnome +, makeFontsConf +, xvfb-run +}: + +stdenv.mkDerivation rec { + pname = "gtkmm"; + version = "4.0.1"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-iXPZvHhI4CyyBR4F8+46S6/+L+tK9KVIfw4xMu7AOIQ="; + }; + + nativeBuildInputs = [ + pkg-config + meson + ninja + python3 + ]; + + buildInputs = [ + epoxy + ]; + + propagatedBuildInputs = [ + glibmm_2_68 + gtk4 + cairomm_1_16 + pangomm_2_48 + ]; + + checkInputs = [ + xvfb-run + ]; + + # Tests require fontconfig. + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ ]; + }; + + doCheck = true; + + checkPhase = '' + runHook preCheck + + xvfb-run -s '-screen 0 800x600x24' \ + meson test --print-errorlogs + + runHook postCheck + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "${pname}4"; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + description = "C++ interface to the GTK graphical user interface library"; + longDescription = '' + gtkmm is the official C++ interface for the popular GUI library + GTK. Highlights include typesafe callbacks, and a + comprehensive set of widgets that are easily extensible via + inheritance. You can create user interfaces either in code or + with the Glade User Interface designer, using libglademm. + There's extensive documentation, including API reference and a + tutorial. + ''; + homepage = "https://gtkmm.org/"; + license = licenses.lgpl2Plus; + maintainers = teams.gnome.members ++ (with maintainers; [ raskin ]); + platforms = platforms.unix; + }; +} |