Merge pull request #74282 from d-goldin/pango_update_split

pango, pygtk: fixing up newer pango and pygtk
This commit is contained in:
Jan Tojnar 2019-12-03 15:31:39 +01:00 committed by GitHub
commit daa676f1d1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 21 deletions

View file

@ -198,6 +198,14 @@
The <literal>buildRustCrate</literal> infrastructure now produces <literal>lib</literal> outputs in addition to the <literal>out</literal> output. The <literal>buildRustCrate</literal> infrastructure now produces <literal>lib</literal> outputs in addition to the <literal>out</literal> output.
This has led to drastically reduced closed sizes for some rust crates since development dependencies are now in the <literal>lib</literal> output. This has led to drastically reduced closed sizes for some rust crates since development dependencies are now in the <literal>lib</literal> output.
</para> </para>
</listitem>
<listitem>
<para>
Pango was upgraded to 1.44, which no longer uses freetype for font loading. This means that type1
and bitmap fonts are no longer supported in applications relying on Pango for font rendering
(notably, GTK application). See <link xlink:href="https://gitlab.gnome.org/GNOME/pango/issues/386">
upstream issue</link> for more information.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View file

@ -9,13 +9,13 @@ with stdenv.lib;
let let
pname = "pango"; pname = "pango";
version = "1.43.0"; version = "1.44.7";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1lnxldmv1a12dq5h0dlq5jyzl4w75k76dp8cn360x2ijlm9w5h6j"; sha256 = "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6";
}; };
# FIXME: docs fail on darwin # FIXME: docs fail on darwin
@ -26,31 +26,18 @@ in stdenv.mkDerivation rec {
pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43 pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43
]; ];
buildInputs = [ buildInputs = [
harfbuzz fribidi fribidi
] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
ApplicationServices ApplicationServices
Carbon Carbon
CoreGraphics CoreGraphics
CoreText CoreText
]); ]);
propagatedBuildInputs = [ cairo glib libintl ] ++ propagatedBuildInputs = [ cairo glib libintl harfbuzz ] ++
optional x11Support libXft; optional x11Support libXft;
patches = [
(fetchpatch {
# Add gobject-2 to .pc file
url = "https://gitlab.gnome.org/GNOME/pango/commit/546f4c242d6f4fe312de3b7c918a848e5172e18d.patch";
sha256 = "1cqhy4xbwx3ad7z5d1ks7smf038b9as8c6qy84rml44h0fgiq4m2";
})
(fetchpatch {
# Fixes CVE-2019-1010238
url = "https://gitlab.gnome.org/GNOME/pango/commit/490f8979a260c16b1df055eab386345da18a2d54.diff";
sha256 = "1s0qclbaknkx3dkc3n6mlmx3fnhlr2pkncqjkywprpvahmmypr7k";
})
];
mesonFlags = [ mesonFlags = [
"-Denable_docs=${if stdenv.isDarwin then "false" else "true"}" "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}"
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, python, pkgconfig, gtk2, pygobject2, pycairo { stdenv, fetchurl, fetchpatch, python, pkgconfig, gtk2, pygobject2, pycairo, pango
, buildPythonPackage, libglade ? null, isPy3k }: , buildPythonPackage, libglade ? null, isPy3k }:
buildPythonPackage rec { buildPythonPackage rec {
@ -12,8 +12,22 @@ buildPythonPackage rec {
sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"; sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d";
}; };
patches = [
# https://bugzilla.gnome.org/show_bug.cgi?id=660216 - fixes some memory leaks
(fetchpatch {
url = "https://gitlab.gnome.org/Archive/pygtk/commit/eca72baa5616fbe4dbebea43c7e5940847dc5ab8.diff";
sha256 = "031px4w5cshcx1sns430sdbr2i007b9zyb2carb3z65nzr77dpdd";
})
(fetchpatch {
url = "https://gitlab.gnome.org/Archive/pygtk/commit/4aaa48eb80c6802aec6d03e5695d2a0ff20e0fc2.patch";
sha256 = "0z8cg7nr3qki8gg8alasdzzyxcihfjlxn518glq5ajglk3q5pzsn";
})
];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = stdenv.lib.optional (libglade != null) libglade; buildInputs = [
pango
] ++ stdenv.lib.optional (libglade != null) libglade;
propagatedBuildInputs = [ gtk2 pygobject2 pycairo ]; propagatedBuildInputs = [ gtk2 pygobject2 pycairo ];

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, pkgconfig { stdenv, lib, fetchurl, fetchpatch, pkgconfig
, bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash
, buildPackages , buildPackages
# darwin attributes # darwin attributes
@ -36,6 +36,13 @@ stdenv.mkDerivation rec {
# Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d
./libuv-application-services.patch ./libuv-application-services.patch
# Fix for harfbuzz with pango versions > 1.43.
# Should be removed with cmake >= 3.16
(fetchpatch {
url = "https://gitlab.kitware.com/cmake/cmake/commit/effafca77eacbb4988006b1f3f4d9154df6c33f8.diff";
sha256 = "0vxam5kka1dffygp1nd0g21ib9qk8kds8iprbfga2gimzyrlfmfr";
})
] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch; ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch;
outputs = [ "out" ]; outputs = [ "out" ];