diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2013-04-11 05:18:38 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2013-04-11 05:18:38 +0000 |
commit | 249638020cd10fbbc9d76682864eff36d843fbfa (patch) | |
tree | 05b14e55bcc1c4f9fdc6b0c949e295b02aab024e | |
parent | Fix RDEPEND blocker's category wrt bug 464840 (diff) | |
download | historical-249638020cd10fbbc9d76682864eff36d843fbfa.tar.gz historical-249638020cd10fbbc9d76682864eff36d843fbfa.tar.bz2 historical-249638020cd10fbbc9d76682864eff36d843fbfa.zip |
Version bump (bug #456818). Added libpng16 patch (bug #465044)
Package-Manager: portage-2.2.0_alpha171/cvs/Linux x86_64
Manifest-Sign-Key: 0x981CA6FC
-rw-r--r-- | x11-libs/cairo/ChangeLog | 9 | ||||
-rw-r--r-- | x11-libs/cairo/Manifest | 25 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.14.ebuild | 148 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-libpng16.patch | 52 |
4 files changed, 225 insertions, 9 deletions
diff --git a/x11-libs/cairo/ChangeLog b/x11-libs/cairo/ChangeLog index 8c6af7d43a46..6087ad2b18cd 100644 --- a/x11-libs/cairo/ChangeLog +++ b/x11-libs/cairo/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for x11-libs/cairo # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.330 2013/04/09 22:05:38 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.331 2013/04/11 05:18:28 polynomial-c Exp $ + +*cairo-1.12.14 (11 Apr 2013) + + 11 Apr 2013; Lars Wendler <polynomial-c@gentoo.org> + +files/cairo-libpng16.patch, +cairo-1.12.14.ebuild: + Non-maintainer commit: Version bump (bug #456818). Added libpng16 patch (bug + #465044). Committed with kind permission from yngwin. 09 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> cairo-1.12.10-r2.ebuild, cairo-1.12.12.ebuild, cairo-1.12.12-r1.ebuild, cairo-9999.ebuild: diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest index 2cc143175647..a0025fe3a1dd 100644 --- a/x11-libs/cairo/Manifest +++ b/x11-libs/cairo/Manifest @@ -10,27 +10,36 @@ AUX cairo-1.12.10-xlib-corruption.patch 3199 SHA256 917c8d49ef881982e124a8e3b22b AUX cairo-1.12.10-xshm-corruption.patch 1039 SHA256 3bf1147514160a76dbd6282e1e1b834155710a34c0f8fae6fe979f91b0cab735 SHA512 e7c793a2468fc3173be9058a250feea8390b3090c81f59ba00c052885077d2ff65e08bbc0536b96e2c7fee136bb2307aa8e8193e54e6dd3fd47107529a65d5c7 WHIRLPOOL 3cc47b61920197c069063805b89c1e0ab8964996c4331eb018049a268ee08275ac0dbb58dce891b58b335808b8c4fb6be565bf95181e6d1bc7a9551e17b5def9 AUX cairo-1.12.12-disable-test-suite.patch 461 SHA256 da474e8982b1177ee6f8df70ce0867ee4e451a1ff6a94dce53ca2d62a936cd95 SHA512 1985a369fd6d707e816d9bb22aed89039b09fee105c84ffa4c63232dba15e87f12888d6ac735c766c075851e64e53c052df8af1eef08a75d6b908a5244ae2303 WHIRLPOOL c4ad092277b83d110094400af19f98b569297359be32b3e9a07a6e46acd43bcbdc3721838e833180809d647a2c7b941c9be1e8a00a437c3de3602dd8935610b2 AUX cairo-1.8.8-interix.patch 619 SHA256 505be82a1a0b7f963cb49ff85ecf1fa1389a4e43621df76b91fc1529616b2299 SHA512 651b73124ee5b65e2735deefde36727122e9c513da134441be923fb875aedfd3dbd81de8652e3919f3fa04d1de13dee6ec28e4fcd687aaec427d3b0dd94ac703 WHIRLPOOL a1803cbd8f32a8e926a8af932e099c5275920e3e09f7a53ee49898823e81ee7a2533a4db8d2125f200fa409d98fb8e2cbdeb01f00f64b7ba64ba8dffb8487bc3 +AUX cairo-libpng16.patch 1750 SHA256 80493f7340523ff25b1651ddad9ae052fa982a5361e528cf3d5402b664bfce41 SHA512 46f20a84217e5dd0c1197749eeead506995677b76b0b3a6421a2aee639793735632f5084429c72b4d7482eddb5fee3b5f3b22a4b17f552e320afd77abaee5e78 WHIRLPOOL 55f787a1e8c968225eaa333e64ae0e7b7f48b94d38a84a994ab0ec053f5916a4080bb536e858402e2e4db988b7346d7b3a3844e9bca5a3d1f77296a1e7abf6c2 AUX cairo-respect-fontconfig.patch 538 SHA256 1732f21adfe5ab291d987b7537b13470266253f599901a4707d27fd2b3d66734 SHA512 4d4d473f956b56f11b31f513de06751dcc77342e0f04ecf37064a74b8217f9d3536c0a8a41b09e580f34576ff2d06815b4cbc2bc091c201f947965509677415e WHIRLPOOL c7d8f364a787b095054507a6dceafe08e8112322853e261303adc07b79a9070be63200dbd4ff465943e2303126bcd7eec51b0f6c53f1d4e9a49fd363acbccde2 DIST cairo-1.10.2.tar.gz 23558405 SHA256 32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41 SHA512 8be4b9ce002f039014d747cc2b48c6a6dfac78df74ebc5ad711a8f36572b819b2c6da3cc4732d0ca93e9052b4b3bb42a146f5e7e346b75dde695d44477b19c9a WHIRLPOOL 8ee0e6f2f520a8e5e046a311926f07a49dd7b730b66b49684ce0ea296b9b5822a80a194b8eff56c73d92da850faa15fed925a1df41b3ea28e3841530548d4ef5 DIST cairo-1.12.10.tar.xz 42135592 SHA256 f1581aef210f6caa9cf42875fb66ab3b47a32db9436bdfa9913b9bbd5034b03b SHA512 e56bd3973039bc0dd48fb9e89b17a58e8061fce2628403e2c1256209cf66ef1b50af1c9a28c4a75806066416475515b75f76de845e2e6735fb273e6ddda3a160 WHIRLPOOL dbce51bbe1732076b770cc6928caac007eb0e69bcb392ac9c82d17a203defcbb732d7bf8d8b020c3d04937d4a5df757600f1bedc51ea3d88cd41f6c44aeedf0b DIST cairo-1.12.12.tar.xz 42139096 SHA256 14f693759ecc87472355ae8f0c34731a8578b408b607cfd0b5d34331ff05d81a SHA512 bde93913895116b80d857b965e34af969bee42d30d3e2d94edc6bc9af93ebb8f1124328a280f9d1b955d811e671e9d339e990669f30d5d861145b6bcc86e3f86 WHIRLPOOL ec4f0727c928fa4bd4fb75fd6183bbb4d32e78385400284adf95389d278fa79ee812cc08bf07efe95313a6d265871c3c9569fb509f0b973468dc770ca89ed65a +DIST cairo-1.12.14.tar.xz 42132464 SHA256 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13 SHA512 c676973ab98e018291aeced53bcda9b192202f1a7d65c845798decfaee015f40600f4db32c8977ba4a3e6ff8dc10478f6fd06e83be7e6cca610be8aafd125ee0 WHIRLPOOL 36fbe32711de3b6ae213e819c456e22fa0d629f3a6d99cdad8d2c77a810f9a758191c0d10e6933bf57e60b3b5573e9bceb0b0955512d2e2c981e98eac6907709 DIST cairo-1.12.8.tar.xz 42113752 SHA256 8fbb6fc66117ab4100bad830cb4479497e53c6f3facb98bf05c8d298554ebdd9 SHA512 f6f6079ccae8353fa43a2af66b655516b33d6d94329c968795b727d049ac94a5e000b148d9318a294576df1d992e48eb17c2d37301461bd15d8c2e2fb042f41f WHIRLPOOL 9502505327000e5241e46256da6b92d7a6204a03baebecf963a92ca7bbf88cba7e998fa114a9f2003ee7a602bcd65f79a0967f9cc486d06d61d160a5748b52cd EBUILD cairo-1.10.2-r3.ebuild 4384 SHA256 94a459c7041fbc68bea702c37dee51b97923d161a12d2038a816d9efc4d847e3 SHA512 f51f7a7144fc7f43d10a91113bc677476b67602b06ea25b5e8125ae3b0fea2f435373a5b81ad7bcf19890cf9205906ee939a6c6678aca6f2fde78f62d12afb88 WHIRLPOOL 6946367a0e00f3d18494d2bc7c2393fe56c125dd102d254542c06f3f77c6536adae2a79dc4e31e8046006a889f7eb501ca7b93e36c8657edafe9a3680201e3b1 EBUILD cairo-1.12.10-r2.ebuild 4008 SHA256 2a07f7d76ab06fb01ebfeaaa6e0c06f9e3eec13268e806796e5f5d09aa50e9d4 SHA512 668da68dec58b52e823937431582795e6b6b699a4a11eb9a92169f052f89d60d495a5bf955b06f01ef9b8ed310363d4e2c4af1a73686b0807f29dc913a258b63 WHIRLPOOL 672582a833a80203295d5fed1681ef72823f2f33a674431902ddf0d1b70802dd7d35c9cce1dcb62cab37268451a2a7699d09f60a06cffa17f706ca04fa044837 EBUILD cairo-1.12.12-r1.ebuild 4064 SHA256 d10f80a855542c6a22c6399aa6e18c91a10d6cd5eeaaed88bcb953ff41706f5c SHA512 9106521698f9c8cb003dda679d795807a742c60b3afab041df197f84a696259c01935b2613b1a8186ea98f795e4e00be860324e7bab38d6b4f6573f39a976d43 WHIRLPOOL 8d765ea2f8b74b699dd3213187ee4102688b0d4a764cbc00f6304f3a760d5bea4bd1b97f207dc28ef0a71252e05e7d751ba4fe9398146ac3ab657d2cae092cae EBUILD cairo-1.12.12.ebuild 3970 SHA256 4e5a30d52b663cab1a271e8c632d41587baf035f0db7a704f31d4c6ea8fce479 SHA512 e982ce45c10aee5c30f1bed54e2aa3c3b17b2a26e8dff4054955a4617a366ea01905c8d8121da8b91d57f6cdb97cad3b1edd42faf068488f40bbcb90076a1e16 WHIRLPOOL e5193d6dd6e7b52f091d08de1bfeb6e05a9d19ddccecf883a86e0dbe6a933bd2b887e289a536affdc0b4face528c47bb9052324b03eae12201f482fefb2a6101 +EBUILD cairo-1.12.14.ebuild 4055 SHA256 67f5d165535e5658a76f454babdfbab775c0e080c3ae79025e86e133602ddc9b SHA512 72ee8a16cedf4193e397a156e79f8a19ee46f73e1cbac78a8a5984446d401f27b9ed6ef97c67e7e0261912073ad00e404454f5245538f3fcec12099f0343cb92 WHIRLPOOL 89ca9ba081145b4224240d9c1ff7c7a0400e7e8a670b472e9f31091bdec4f860b7281863f9661ae4bc575363def5797b5a21b8389a3894eb4634c78a05b8cba5 EBUILD cairo-1.12.8.ebuild 3904 SHA256 4fe87359c63f2097c219ef1e701016516316ed05fcbb8160be940d9d9e0b7bb6 SHA512 8da56cca2a1f5348168102b4880489f5f4c9de843a5a08a035ebe3a0dab509f18ccce81eb00befedb9915070ca65c95539c32c7df7905ae08685a4c702cce53b WHIRLPOOL f7b95a469bb32c3d98989e59160c7b7fa8565625c12fe8bc64da301492f98f3e4f16741a2f8aed4a3bf4f517ab445913af0de79ee4c60f5f7684c91c7bfafe31 EBUILD cairo-9999.ebuild 4007 SHA256 9f2dbcd21b11ee3036d0bd7a350720b4a37337a45a988b763d52a40229af72e5 SHA512 c42e19feaddbf018eeef02549dae0d61ab67e3ae599d67b5d9d47f0126c1c304529ee6eb836bafe8865bbd0ddd52182016e9febcb45ab6bdb9ae8c53425e72c6 WHIRLPOOL 11959b93e814adf2cf9b5f7b613c8b396b96bbec8a762f12f1dbc9478cef7cd0a674494dd380f254ab9c3955cf3b233d53205977098b3ccad2eb7ed200b72cc8 -MISC ChangeLog 48481 SHA256 aaee4fbb3dadeeff2a4434ab79ab434e7a0061b643e6a641f85e99f62e55120d SHA512 3d9419028a36c73a17f5d79c44203bb9a65f9abe8d1338ef1072d2e895a87495b97510e276419373e406f6c48dbbd8b83fd8e5188841905dc867c3c1071ba9f7 WHIRLPOOL 59975c3e4c8702cd0ca28c42853b4f51c7f45cda2dd77e0b12af0bf30c161b8459c740c7c9b8b8dd5910e1b277cc5a0de03a1964939022b56d26d68b50e35d34 +MISC ChangeLog 48758 SHA256 099b5cc7dcf257801ec942d0baf4f789e7fdcde5667f6b8c26fe3555795bb5fe SHA512 e824617874626a96329ab77b8939c4d1e910f30149a199eab2c6a61b983d939784cb8e9af1512625f8fc11373712d66b624d2703a13ac1e8b4e9336fb451a41e WHIRLPOOL 8cebc94fae4a31282da69ebbae12352d7ee46ba6648050680624b3385880c7175cdc45908d181b8d6036560a2635d48e32fedab3922f3b76586e2fcf75cf9a7b MISC metadata.xml 798 SHA256 f9797b2bdea41285e7b75db0f303570d00928b6135f40f869584e77c4dcdfeb1 SHA512 6cf758886d5711ec28d0f4e37f8c5fd863827c69c43930a3bc5755f397838f8a209dcc7f4652cd4d61a126bceb5565a60675ed7d941f49d67ef8a6e2b2b496e1 WHIRLPOOL 40b5b64a9933fa7facc9842409e0f4b4612d74bc940ccf6ec701da649af54507f95abf35820fe3d629e1c0cd15185c881a528e8e4a738375756a74936cb6cb46 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iQEcBAEBCAAGBQJRZJCxAAoJEEdUh39IaPFNN0UH/277RugktPcg0HSUSU5HFODn -PwqzkfOXjKcxW9Uib7QX2OYWpqoslaBBJxmGR0/no9TWPZYx+Y14vuKtNe89rd2V -fBC4q9eWs5WGw5n9UBdriF9+HgZwVP65eQtAYYsaJ1QRzE//xl8OLOywjBTcY7/g -h5pF8l5erC6XqczeD5dHU2ECuAmpC4zUnBBpOZxsEAoVxsHmSombWudn/30CVvbK -iruV71YnnQQ91wsXA/dvTB8mjvG3pUJ4F5+ea+v07y+zzeUJgy1jEUVXXYCwdiVK -NZqB4TTtIoiYLjH5V45yj/lx1Ws5uKjg6r3SCgp/iALfSlM7pRKV20zZa0Rs6Qk= -=3z6d +iQIcBAEBCAAGBQJRZkelAAoJEPiazRVxLXTFmO4P/jwQiRrUSY04NrhK2egVhErL +onXX58VPpuYoenhjuQm18e40XIUwp41Jxk4EDYC4hge6kAYzZj6srXxiBVX48uER +DZz7webimi4eoF84T85/SElaUsacvpIOoS7Y5jQj6EC5ieG1dRztpNDYXsA6DNam +KXaQHSTt628Lc0Tc6Ffoo390iiHJxnLrDXQpbGmQq1Es4nkI6yQsBrVg6dNGJMaX +kO3eb3W7fMvkhuF1xwrYelHx/jRogLblINTuxk/eczGLQ08dZGukSaGH1mGgaIsH +jJH/5yaiazuzgm0zutxEkRBd2Uxp6GYNqS/pvq+igYAM5LP7Glohelb6Tr7E/uNM +sMJqseJpXKaTOgLrlyq1VyqNwXJJBpyRIkuNXtGu33T2BVu9YhFbzZzERsm2RVWl +XWSD1jzT1XHnAPOM3Lzom2cqsoqXUVuIUjtz+ZSId6V6NOki2hRSg183zIyKESt6 +RucDJ4p2y7NR4dbXb7HReDY0PQr4uz3POF6yOnZKNO4Z0a1l9FI8paek8xj/EEo8 +f5LwmODw3Z/xxmmu5twMgUYW7P+4NUeSsqN3kf49m24RE6RwLKEy6FzNECaN4qb5 +Y8Vzxv076/oKTI3+99deXhP/kcOjEN1zsJDiNiBrHLXtD/HUEkcighffZKBRzfgK +oDMD/4AS5pgS7GcBEGEy +=gYy1 -----END PGP SIGNATURE----- diff --git a/x11-libs/cairo/cairo-1.12.14.ebuild b/x11-libs/cairo/cairo-1.12.14.ebuild new file mode 100644 index 000000000000..392993c0bbcd --- /dev/null +++ b/x11-libs/cairo/cairo-1.12.14.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.12.14.ebuild,v 1.1 2013/04/11 05:18:28 polynomial-c Exp $ + +EAPI=5 + +inherit eutils flag-o-matic autotools + +if [[ ${PV} == *9999* ]]; then + inherit git-2 + EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://cairographics.org/releases/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="A vector graphics library with cross-device output support" +HOMEPAGE="http://cairographics.org/" +LICENSE="|| ( LGPL-2.1 MPL-1.1 )" +SLOT="0" +IUSE="X aqua debug directfb doc drm gallium +glib legacy-drivers opengl openvg qt4 static-libs +svg xcb" + +# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it +RESTRICT="test" + +RDEPEND="media-libs/fontconfig + media-libs/freetype:2 + media-libs/libpng:0= + sys-libs/zlib + >=x11-libs/pixman-0.28.0 + directfb? ( dev-libs/DirectFB ) + glib? ( >=dev-libs/glib-2.28.6:2 ) + opengl? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) ) + openvg? ( media-libs/mesa[openvg] ) + qt4? ( >=dev-qt/qtgui-4.8:4 ) + X? ( + >=x11-libs/libXrender-0.6 + x11-libs/libXext + x11-libs/libX11 + drm? ( + >=virtual/udev-136 + gallium? ( media-libs/mesa[gallium] ) + ) + ) + xcb? ( + x11-libs/libxcb + x11-libs/xcb-util + )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-devel/libtool-2 + doc? ( + >=dev-util/gtk-doc-1.6 + ~app-text/docbook-xml-dtd-4.2 + ) + X? ( + x11-proto/renderproto + drm? ( + x11-proto/xproto + >=x11-proto/xextproto-7.1 + ) + )" + +# drm module requires X +# for gallium we need to enable drm +REQUIRED_USE=" + drm? ( X ) + gallium? ( drm ) +" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch + use legacy-drivers && epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch + epatch "${FILESDIR}"/${PN}-libpng16.patch + epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch + epatch "${FILESDIR}"/${P}-disable-test-suite.patch + epatch_user + + # Slightly messed build system YAY + if [[ ${PV} == *9999* ]]; then + touch boilerplate/Makefile.am.features + touch src/Makefile.am.features + touch ChangeLog + fi + + # We need to run elibtoolize to ensure correct so versioning on FreeBSD + # upgraded to an eautoreconf for the above interix patch. + eautoreconf +} + +src_configure() { + local myopts + + # SuperH doesn't have native atomics yet + use sh && myopts+=" --disable-atomic" + + [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT + # http://bugs.freedesktop.org/show_bug.cgi?id=15463 + [[ ${CHOST} == *-solaris* ]] && append-flags -D_POSIX_PTHREAD_SEMANTICS + + #gets rid of fbmmx.c inlining warnings + append-flags -finline-limit=1200 + + use X && myopts+=" --enable-tee=yes" + + use elibc_FreeBSD && myopts+=" --disable-symbol-lookup" + + # --disable-xcb-lib: + # do not override good xlib backed by hardforcing rendering over xcb + # --disable-valgrind: + # valgrind code is busted as per upstream + econf \ + --disable-dependency-tracking \ + $(use_with X x) \ + $(use_enable X xlib) \ + $(use_enable X xlib-xrender) \ + $(use_enable aqua quartz) \ + $(use_enable aqua quartz-image) \ + $(use_enable debug test-surfaces) \ + $(use_enable directfb) \ + $(use_enable glib gobject) \ + $(use_enable doc gtk-doc) \ + $(use_enable openvg vg) \ + $(use_enable opengl gl) \ + $(use_enable qt4 qt) \ + $(use_enable static-libs static) \ + $(use_enable svg) \ + $(use_enable xcb) \ + $(use_enable xcb xcb-shm) \ + $(use_enable drm) \ + $(use_enable gallium) \ + --enable-ft \ + --enable-pdf \ + --enable-png \ + --enable-ps \ + --disable-xlib-xcb \ + --disable-valgrind \ + ${myopts} +} + +src_install() { + # parallel make install fails + emake -j1 DESTDIR="${D}" install + find "${ED}" -name '*.la' -exec rm -f {} + + dodoc AUTHORS ChangeLog NEWS README +} diff --git a/x11-libs/cairo/files/cairo-libpng16.patch b/x11-libs/cairo/files/cairo-libpng16.patch new file mode 100644 index 000000000000..0110c42d0ee4 --- /dev/null +++ b/x11-libs/cairo/files/cairo-libpng16.patch @@ -0,0 +1,52 @@ +http://lists.cairographics.org/archives/cairo/2013-March/024195.html
+--- src/cairo-png.c 2012-03-29 12:05:32.000000000 +0200
++++ src/cairo-png.c 2013-03-30 09:13:50.817181600 +0100
+@@ -497,6 +497,20 @@
+ }
+ }
+
++/* branches into premultiply_data or convert_bytes_to_data depending on color type */
++static void read_user_transform_func (png_structp png, png_row_infop row_info, png_bytep data)
++{
++ switch ((cairo_format_t) png_get_user_transform_ptr (png)) {
++ case CAIRO_FORMAT_ARGB32:
++ premultiply_data (png, row_info, data);
++ break;
++
++ case CAIRO_FORMAT_RGB24:
++ convert_bytes_to_data (png, row_info, data);
++ break;
++ }
++}
++
+ static cairo_status_t
+ stdio_read_func (void *closure, unsigned char *data, unsigned int size)
+ {
+@@ -623,6 +637,9 @@
+
+ png_set_filler (png, 0xff, PNG_FILLER_AFTER);
+
++ /* this must be stored before calling png_read_update_info */
++ png_set_read_user_transform_fn (png, read_user_transform_func);
++
+ /* recheck header after setting EXPAND options */
+ png_read_update_info (png, info);
+ png_get_IHDR (png, info,
+@@ -643,15 +660,15 @@
+
+ case PNG_COLOR_TYPE_RGB_ALPHA:
+ format = CAIRO_FORMAT_ARGB32;
+- png_set_read_user_transform_fn (png, premultiply_data);
+ break;
+
+ case PNG_COLOR_TYPE_RGB:
+ format = CAIRO_FORMAT_RGB24;
+- png_set_read_user_transform_fn (png, convert_bytes_to_data);
+ break;
+ }
+
++ png_set_user_transform_info (png, (void*) format, 0, 0);
++
+ stride = cairo_format_stride_for_width (format, png_width);
+ if (stride < 0) {
+ surface = _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_STRIDE));
|