gtk3: 3.24.8 -> 3.24.10, meson!

We now build gtk3 with the meson build system.
Notably, at least for the expression, all the platforms
logic for we had for configureFlags should be unneeded
with meson.
This commit is contained in:
worldofpeace 2019-06-25 21:07:28 -04:00 committed by Frederik Rietdijk
parent a7edafd0d3
commit 638c39e65b
2 changed files with 43 additions and 24 deletions

View File

@ -3,7 +3,9 @@
, fetchpatch , fetchpatch
, pkgconfig , pkgconfig
, gettext , gettext
, perl , meson
, ninja
, python3
, makeWrapper , makeWrapper
, shared-mime-info , shared-mime-info
, isocodes , isocodes
@ -22,7 +24,7 @@
, libxkbcommon , libxkbcommon
, gmp , gmp
, gnome3 , gnome3
, autoreconfHook , hicolor-icon-theme
, gsettings-desktop-schemas , gsettings-desktop-schemas
, x11Support ? stdenv.isLinux , x11Support ? stdenv.isLinux
, waylandSupport ? stdenv.isLinux , waylandSupport ? stdenv.isLinux
@ -42,14 +44,16 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gtk+3"; pname = "gtk+3";
version = "3.24.8"; version = "3.24.10";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
outputBin = "dev"; outputBin = "dev";
setupHook = ./gtk3-setup-hook.sh;
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz"; url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
sha256 = "16f71bbkhwhndcsrpyhjia3b77cb5ksf5c45lyfgws4pkgg64sb6"; sha256 = "00qvq1r96ikdalv7xzgng1kad9i0rcahqk01gwhxl3xrw83z3a1m";
}; };
patches = [ patches = [
@ -66,13 +70,36 @@ stdenv.mkDerivation rec {
./3.0-darwin-x11.patch ./3.0-darwin-x11.patch
]; ];
mesonFlags = [
"-Dtests=false"
];
postPatch = ''
files=(
build-aux/meson/post-install.py
demos/gtk-demo/geninclude.py
gdk/broadway/gen-c-array.py
gdk/gen-gdk-gresources-xml.py
gtk/cursor/dnd-copy.png
gtk/gen-gtk-gresources-xml.py
gtk/gen-rc.py
gtk/gentypefuncs.py
)
chmod +x ''${files[@]}
patchShebangs ''${files[@]}
'';
nativeBuildInputs = [ nativeBuildInputs = [
autoreconfHook
gettext gettext
gobject-introspection gobject-introspection
hicolor-icon-theme # setup-hook
makeWrapper makeWrapper
perl meson
ninja
pkgconfig pkgconfig
python3
setupHook
]; ];
buildInputs = [ buildInputs = [
@ -109,27 +136,9 @@ stdenv.mkDerivation rec {
; ;
#TODO: colord? #TODO: colord?
## (2019-06-12) Demos seem to install fine now. Keeping this around in case it fails again.
## (2014-03-27) demos fail to install, no idea where's the problem
#preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in";
configureFlags = optional stdenv.isDarwin [
"--disable-debug"
"--disable-dependency-tracking"
"--disable-glibtest"
] ++ optional (stdenv.isDarwin && !x11Support)
"--enable-quartz-backend"
++ optional x11Support [
"--enable-x11-backend"
] ++ optional waylandSupport [
"--enable-wayland-backend"
];
doCheck = false; # needs X11 doCheck = false; # needs X11
postInstall = optionalString (!stdenv.isDarwin) '' postInstall = optionalString (!stdenv.isDarwin) ''
substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \
--replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
# The updater is needed for nixos env and it's tiny. # The updater is needed for nixos env and it's tiny.
moveToOutput bin/gtk-update-icon-cache "$out" moveToOutput bin/gtk-update-icon-cache "$out"
# Launcher # Launcher

View File

@ -0,0 +1,10 @@
fixupOutputHooks+=(_gtk3CleanComments)
# Clean comments that link to generator of the file
_gtk3CleanComments() {
local f="$prefix/lib/gtk-3.0/3.0.0/immodules.cache"
if [ -f "$f" ]; then
sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
fi
}