diff options
Diffstat (limited to 'pkgs/development/libraries/gtk')
-rw-r--r-- | pkgs/development/libraries/gtk/2.x.nix | 37 | ||||
-rw-r--r-- | pkgs/development/libraries/gtk/3.x.nix | 39 | ||||
-rw-r--r-- | pkgs/development/libraries/gtk/4.x.nix | 2 |
3 files changed, 43 insertions, 35 deletions
diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index 3568bbfed4813..88dfc54094f3c 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -5,10 +5,9 @@ , gdktarget ? if stdenv.isDarwin then "quartz" else "x11" , AppKit, Cocoa , fetchpatch, buildPackages +, testers }: -with lib; - let gtkCleanImmodulesCache = substituteAll { @@ -19,12 +18,12 @@ let in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtk+"; version = "2.24.33"; src = fetchurl { - url = "mirror://gnome/sources/gtk+/2.24/${pname}-${version}.tar.xz"; + url = "mirror://gnome/sources/gtk+/2.24/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; sha256 = "rCrHV/WULTGKMRpUsMgLXvKV8pnCpzxjL2v7H/Scxto="; }; @@ -39,12 +38,14 @@ stdenv.mkDerivation rec { ]; - nativeBuildInputs = setupHooks ++ [ perl pkg-config gettext gobject-introspection ]; + nativeBuildInputs = finalAttrs.setupHooks ++ [ + perl pkg-config gettext gobject-introspection + ]; patches = [ ./patches/2.0-immodules.cache.patch ./patches/gtk2-theme-paths.patch - ] ++ optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin [ (fetchpatch { url = "https://bug557780.bugzilla-attachments.gnome.org/attachment.cgi?id=306776"; sha256 = "0sp8f1r5c4j2nlnbqgv7s7nxa4cfwigvm033hvhb1ld652pjag4r"; @@ -54,13 +55,13 @@ stdenv.mkDerivation rec { propagatedBuildInputs = with xorg; [ glib cairo pango gdk-pixbuf atk ] - ++ optionals (stdenv.isLinux || stdenv.isDarwin) [ + ++ lib.optionals (stdenv.isLinux || stdenv.isDarwin) [ libXrandr libXrender libXcomposite libXi libXcursor ] - ++ optionals stdenv.isDarwin [ libXdamage ] - ++ optional xineramaSupport libXinerama - ++ optionals cupsSupport [ cups ] - ++ optionals stdenv.isDarwin [ AppKit Cocoa ]; + ++ lib.optionals stdenv.isDarwin [ libXdamage ] + ++ lib.optional xineramaSupport libXinerama + ++ lib.optionals cupsSupport [ cups ] + ++ lib.optionals stdenv.isDarwin [ AppKit Cocoa ]; preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then '' MACOSX_DEPLOYMENT_TARGET=10.16 @@ -69,7 +70,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-gdktarget=${gdktarget}" "--with-xinput=yes" - ] ++ optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin [ "--disable-glibtest" "--disable-introspection" "--disable-visibility" @@ -92,13 +93,21 @@ stdenv.mkDerivation rec { $out/bin/gtk-query-immodules-2.0 $out/lib/gtk-2.0/2.10.0/immodules/*.so > $out/lib/gtk-2.0/2.10.0/immodules.cache ''; # workaround for bug of nix-mode for Emacs */ ''; inherit gdktarget; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; - meta = { + meta = with lib; { description = "A multi-platform toolkit for creating graphical user interfaces"; homepage = "https://www.gtk.org/"; license = licenses.lgpl2Plus; maintainers = with maintainers; [ lovek323 raskin ]; + pkgConfigModules = [ + "gdk-2.0" + "gtk+-2.0" + ] ++ lib.optionals (gdktarget == "x11") [ + "gdk-x11-2.0" + "gtk+-x11-2.0" + ]; platforms = platforms.all; longDescription = '' @@ -113,4 +122,4 @@ stdenv.mkDerivation rec { ''; changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS"; }; -} +}) diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index 112158a47276d..af81a55fcaa15 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -2,7 +2,6 @@ , stdenv , substituteAll , fetchurl -, fetchpatch2 , pkg-config , gettext , docbook-xsl-nons @@ -47,6 +46,7 @@ , QuartzCore , broadwaySupport ? true , wayland-scanner +, testers }: let @@ -59,9 +59,9 @@ let in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtk+3"; - version = "3.24.35"; + version = "3.24.36"; outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc"; outputBin = "dev"; @@ -71,24 +71,16 @@ stdenv.mkDerivation rec { gtkCleanImmodulesCache ]; - src = fetchurl { + src = let + inherit (finalAttrs) version; + in fetchurl { url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz"; - sha256 = "sha256-7BD+bXEu8LPGO1+TJjnJ0a6Z/OlPUA9vBpZWKf72C9E="; + sha256 = "sha256-J6bvFXdDNQyAf/6lm6odcCJtvt6CpelT/9WOpgWf5pE="; }; patches = [ ./patches/3.0-immodules.cache.patch ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch - - # Add accidentally non-dist’d build file. - # https://gitlab.gnome.org/GNOME/gtk/-/commit/b2ad8d2abafbd94c7e58e5e1b98c92e6b6fa6d9a - (fetchpatch2 { - url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/66a199806ceb3daa5e2c7d3a5b45a86007cec46a.patch"; - includes = [ - "gdk/wayland/cursor/meson.build" - ]; - sha256 = "cOOcSB3yphff2+7l7YpFbGSswWjV8lJ2tk+Vjgl1ras="; - }) ] ++ lib.optionals stdenv.isDarwin [ # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin # let’s drop that dependency in similar way to how other parts of the library do it @@ -110,7 +102,7 @@ stdenv.mkDerivation rec { python3 sassc gdk-pixbuf - ] ++ setupHooks ++ lib.optionals withGtkDoc [ + ] ++ finalAttrs.setupHooks ++ lib.optionals withGtkDoc [ docbook_xml_dtd_43 docbook-xsl-nons gtk-doc @@ -121,7 +113,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobject-introspection libxkbcommon (libepoxy.override { inherit x11Support; }) isocodes @@ -180,7 +171,7 @@ stdenv.mkDerivation rec { # These are the defines that'd you'd get with --enable-debug=minimum (default). # See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options - NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"; + env.NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"; postPatch = '' # See https://github.com/NixOS/nixpkgs/issues/132259 @@ -224,7 +215,7 @@ stdenv.mkDerivation rec { for program in ''${demos[@]}; do wrapProgram $dev/bin/$program \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${pname}-${version}" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${finalAttrs.pname}-${finalAttrs.version}" done '' + lib.optionalString stdenv.isDarwin '' # a comment created a cycle between outputs @@ -237,6 +228,7 @@ stdenv.mkDerivation rec { attrPath = "gtk3"; freeze = true; }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; meta = with lib; { @@ -254,7 +246,14 @@ stdenv.mkDerivation rec { homepage = "https://www.gtk.org/"; license = licenses.lgpl2Plus; maintainers = with maintainers; [ raskin ] ++ teams.gnome.members; + pkgConfigModules = [ + "gdk-3.0" + "gtk+-3.0" + ] ++ lib.optionals x11Support [ + "gdk-x11-3.0" + "gtk+-x11-3.0" + ]; platforms = platforms.all; changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS"; }; -} +}) diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix index 11d00dfa1c058..764dc36d7db9c 100644 --- a/pkgs/development/libraries/gtk/4.x.nix +++ b/pkgs/development/libraries/gtk/4.x.nix @@ -175,7 +175,7 @@ stdenv.mkDerivation rec { # These are the defines that'd you'd get with --enable-debug=minimum (default). # See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options - NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"; + env.NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"; postPatch = '' files=( |