debian/0000775000000000000000000000000012300362126007163 5ustar debian/libcairo-script-interpreter2.symbols0000664000000000000000000000105612274146423016322 0ustar libcairo-script-interpreter.so.2 libcairo-script-interpreter2 #MINVER# cairo_script_interpreter_create@Base 1.10.0 cairo_script_interpreter_destroy@Base 1.10.0 cairo_script_interpreter_feed_stream@Base 1.10.0 cairo_script_interpreter_feed_string@Base 1.10.0 cairo_script_interpreter_finish@Base 1.10.0 cairo_script_interpreter_get_line_number@Base 1.10.0 cairo_script_interpreter_install_hooks@Base 1.10.0 cairo_script_interpreter_reference@Base 1.10.0 cairo_script_interpreter_run@Base 1.10.0 cairo_script_interpreter_translate_stream@Base 1.10.0 debian/libcairo2-udeb.install0000664000000000000000000000015612274146423013352 0ustar debian/install/udeb/usr/lib/libcairo.so.* /usr/lib debian/install/udeb/usr/lib/libcairo-gobject.so.* /usr/lib debian/copyright0000664000000000000000000006745512274146423011151 0ustar This is the Debian package of the Cairo multi-platform 2D graphics library Packaged by Dave Beckett It was downloaded from http://cairographics.org/snapshots/ ---------------------------------------------------------------------- Copyright 1999 Tom Tromey Copyright 2002, 2003 University of Southern California, Information Sciences Institute (ISI) Copyright 2000, 2002, 2004, 2005 Keith Packard Copyright 2004 Calum Robinson Copyright 2004 Richard D. Worth Copyright 2004, 2005 Red Hat, Inc. Copyright 2004 David Reveman Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of David Reveman not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. David Reveman makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. DAVID REVEMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DAVID REVEMAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Author: David Reveman ---------------------------------------------------------------------- Cairo is free software. Every source file in the implementation of cairo is available to be redistributed and/or modified under the terms of either the GNU Lesser General Public License (LGPL) version 2.1 or the Mozilla Public License (MPL) version 1.1. Some files are available under more liberal terms, but we believe that in all cases, each file may be used under either the LGPL or the MPL. See the following files in this directory for the precise terms and conditions of either license: COPYING-LGPL-2.1 COPYING-MPL-1.1 Please see each file in the implementation for Copyright and licensing information. ---------------------------------------------------------------------- On Debian systems, the complete text of the GNU General Lesser Public License 2.1 can be found in /usr/share/common-licenses/LGPL-2.1 The Mozilla Public License 1.1 (COPYING-MPL-1.1 above) follows: MOZILLA PUBLIC LICENSE Version 1.1 --------------- 1. Definitions. 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party. 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications. 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data. 1.5. "Executable" means Covered Code in any form other than Source Code. 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. 1.8. "License" means this document. 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. B. Any new file that contains any part of the Original Code or previous Modifications. 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. Source Code License. 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof). (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License. (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices. 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination). (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code. (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor. 3. Distribution Obligations. 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. 3.4. Intellectual Property Matters (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file. (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License. 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. 4. Inability to Comply Due to Statute or Regulation. If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Application of this License. This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code. 6. Versions of the License. 6.1. New Versions. Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. 6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) 7. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 8. TERMINATION. 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that: (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above. (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant. 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license. 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination. 9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 10. U.S. GOVERNMENT END USERS. The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. 11. MISCELLANEOUS. This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. 12. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability. 13. MULTIPLE-LICENSED CODE. Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A. EXHIBIT A -Mozilla Public License. ``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is ______________________________________. The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. Contributor(s): ______________________________________. Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License." [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.] debian/changelog0000664000000000000000000013754412300355730011056 0ustar cairo (1.13.0~20140204-0ubuntu1) trusty; urgency=medium * Upload a git snapshot of the current upstream serie, there seems to be little activity upstream toward rolling tarballs and we need that version for Hi-DPI support in the LTS. (note that other distributions ship a git snapshot as well for the same reason) -- Sebastien Bacher Tue, 04 Feb 2014 11:21:39 +0000 cairo (1.12.16-0ubuntu2) saucy; urgency=low * debian/patches/pdf-output-avoid-transparency.patch: PDF output: Avoid making groups a transparency group if not required (LP: #668800, LP: #968785, LP: #980616, LP: #1159452, upstream bug #48260). * debian/patches/pdf-output-mime-data-embedding.patch: PDF output: Fix embedding of mime data, improves printing performance especially on PDF output with embedded JPEG (Upstream bug #48260, comment #10). -- Till Kamppeter Mon, 16 Sep 2012 10:28:27 +0200 cairo (1.12.16-0ubuntu1) saucy; urgency=low * New upstream version: - should fix eog segfaulting on some images (lp: #1179735) * debian/libcairo-gobject2.symbols: - updated to new version -- Sebastien Bacher Tue, 27 Aug 2013 16:31:23 +0200 cairo (1.12.14-0ubuntu1) raring; urgency=low * New upstream version, fix rendering issue introduced in previous versions (lp: #1119304) -- Sebastien Bacher Mon, 11 Feb 2013 11:48:45 +0100 cairo (1.12.12-0ubuntu1) raring; urgency=low * New upstream version * git_evince_rendering_fix.patch: dropped, the fix is in the new version -- Sebastien Bacher Fri, 08 Feb 2013 12:24:08 +0100 cairo (1.12.10-1ubuntu1) raring; urgency=low * Merge from Debian, remaining changes: * debian/patches/server_side_gradients.patch: - Don't use server side gradients, most drivers don't handle those and are really slow * debian/control: Add missing libxext-dev dependency to libcairo2-dev. Spotted by autopkgtest. * debian/patches/git_evince_rendering_fix.patch: Backport GIT commit to fix a rendering bug in evince * debian/control, debian/libcairo2.symbols, debian/rules: - Disable GL backend due to LP: #725434 -- Chris Coulson Wed, 23 Jan 2013 21:19:34 +0000 cairo (1.12.10-1) experimental; urgency=low * New upstream bugfix release: + debian/control: - Build-depend on liblzo2-dev. -- Sebastian Dröge Fri, 18 Jan 2013 11:02:22 +0100 cairo (1.12.8-0ubuntu4) raring; urgency=low * debian/control: Add missing libxext-dev dependency to libcairo2-dev. Spotted by autopkgtest. -- Martin Pitt Mon, 12 Nov 2012 16:48:29 +0100 cairo (1.12.8-0ubuntu3) raring; urgency=low * Add debian/tests: Simple compile/link/run autopkgtest. Thanks Rafał mieślak! (LP: #1073374) -- Martin Pitt Mon, 12 Nov 2012 13:47:31 +0100 cairo (1.12.8-0ubuntu2) raring; urgency=low * Add libxext-dev Build-Depends to fix FTBFS. (LP: #1077194) -- Michael Kuhn Fri, 09 Nov 2012 20:58:59 +0100 cairo (1.12.8-0ubuntu1) raring; urgency=low * New upstream version * Dropped patches included in the new version -- Sebastien Bacher Mon, 05 Nov 2012 16:46:16 +0100 cairo (1.12.6-1) experimental; urgency=low [ Sebastian Dröge * New upstream bugfix release. [ Martin Pitt ] * Add debian/tests: Simple compile/link/run autopkgtest. Thanks Rafał Cieślak! (LP: #1073374) -- Sebastian Dröge Mon, 12 Nov 2012 15:29:05 +0100 cairo (1.12.4-1) experimental; urgency=low * New upstream bugfix release: + debian/control: - Build-depend on libxext-dev. * debian/control: + Build-depend on libpng-dev instead of libpng12-dev (Closes: #662279, #642264, #673642). * debian/control, debian/rules, debian/libcairo2.symbols: + Re-enable OpenGL/EGL backend (Closes: #684302). -- Sebastian Dröge Mon, 08 Oct 2012 10:05:46 +0200 cairo (1.12.2-2ubuntu1) raring; urgency=low * Merge from Debian. Remaining changes: - patches/font-handling-fixes.patch (LP: #1063618) - patches/lp-#1030357.patch (LP: #1030357) - patches/server_side_gradients.patch -- Stéphane Graber Thu, 25 Oct 2012 14:12:19 +0200 cairo (1.12.2-2) unstable; urgency=low * debian/libcairo2-udeb.install: + Add the GObject library to the udeb. Needed by GTK+3 nowadays. Thanks to Michael Biebl for the patch. -- Sebastian Dröge Thu, 17 May 2012 13:22:36 +0200 cairo (1.12.2-1ubuntu2.1) quantal-proposed; urgency=low * debian/patches/font-handling-fixes.patch: Fix several font handling bugs in the PDF generator (LP: #1063618). -- Till Kamppeter Wed, 17 Oct 2012 14:11:27 +0200 cairo (1.12.2-1ubuntu2) quantal; urgency=low * Cherry-pick fixes from upstream (LP: #1030357) Thanks to Edward Donovan for the patch. - cff subsetting: widths can be floating point - cff: initialise variable to prevent valgrind warning - cff: use correct size for buffer - cff: convert '.' to locale specific decimal point before using sscanf - cff-subsetting: Ignore charset for non cid fonts -- Stéphane Graber Fri, 28 Sep 2012 15:20:19 -0400 cairo (1.12.2-1ubuntu1) quantal; urgency=low * Rebase on Debian, remaining Ubuntu changes: * debian/patches/server_side_gradients.patch: - Don't use server side gradients, most drivers don't handle those and are really slow -- Robert Ancell Thu, 17 May 2012 15:43:44 +1200 cairo (1.12.2-1) unstable; urgency=low * New upstream bugfix release: + debian/patches/07_traps-Clip-the-trapezoid-extents-against-the-clip-ex.patch, debian/patches/08_xlib-Allow-applications-to-create-0x0-surfaces.patch: - Dropped, merged upstream. + Refresh patches to apply cleanly again. -- Sebastian Dröge Mon, 30 Apr 2012 14:30:31 +0200 cairo (1.12.0-2.1) unstable; urgency=low * Non-maintainer upload. * 07_traps-Clip-the-trapezoid-extents-against-the-clip-ex.patch: patch from upstream git fixing crashes in evince (closes: #668619) * 08_xlib-Allow-applications-to-create-0x0-surfaces.patch: patch from upstream git fixing libreoffice impress slideshow mode (closes: #668172) * Exclude cairo-perf-utils from libcairo2-dbg (closes: #669990) * Properly remove all stamp files in debian/rules clean. * Drop dh_testroot from debian/rules clean. -- Julien Cristau Thu, 26 Apr 2012 21:57:15 +0200 cairo (1.12.0-2) unstable; urgency=low * debian/rules: + Enable hardened build flags (Closes: #655128). * Upload to unstable. * debian/patches/06_hurd-map-noreserve.patch: + Hurd has no MAP_NORESERVE so don't use it there. -- Sebastian Dröge Fri, 30 Mar 2012 09:49:05 +0200 cairo (1.12.0-1) experimental; urgency=low * New upstream release: + debian/control: - Update XCB and pixman (build-) dependencies. + debian/patches/04-LD_PRELOAD-is-supported-on-Hurd.patch: - Dropped, merged upstream. + debian/libcairo2.symbols: - Update symbols file. -- Sebastian Dröge Tue, 27 Mar 2012 10:46:09 +0200 cairo (1.10.2-7) unstable; urgency=low * debian/cairo-perf-utils.install.in, debian/clean, debian/libcairo-gobject2.install.in, debian/libcairo-script-interpreter2.install.in, debian/libcairo2-dev.install.in, debian/libcairo2.install.in, debian/control, debian/rules: + Update package for multi-arch. Thanks to Steve Langasek and Gregory Hainaut for the patches (Closes: #631873). -- Sebastian Dröge Tue, 06 Mar 2012 08:32:57 +0100 cairo (1.10.2-6.2) unstable; urgency=low * Non-maintainer upload. * Refresh the ltmain-as-needed patch (closes: #648141). Thanks to Nobuhiro Iwamatsu for the bug report and the initial patch. -- Jakub Wilk Tue, 13 Dec 2011 19:06:10 +0100 cairo (1.10.2-6.1ubuntu2) precise; urgency=low * debian/ltmain_as-needed.patch: - Refresh to fix FTBFS -- Michael Terry Mon, 21 Nov 2011 10:17:03 -0500 cairo (1.10.2-6.1ubuntu1) precise; urgency=low * disable-flto-for-gcc-4.6: replaced with the debian version -- Sebastien Bacher Mon, 21 Nov 2011 10:28:19 +0100 cairo (1.10.2-6.1) unstable; urgency=low * Non-maintainer upload. * Disable -flto support as it currently doesn't work with -Wl,--as-needed. Closes: #625159. -- Aurelien Jarno Fri, 29 Jul 2011 19:00:54 +0200 cairo (1.10.2-6ubuntu3) oneiric; urgency=low * Don't turn the gl backend on, it still creates issues for nvidia users * debian/control, debian/libcairo2.symbols, debian/rules: - updated for the non-gl build -- Sebastien Bacher Tue, 09 Aug 2011 22:47:20 +0200 cairo (1.10.2-6ubuntu2) oneiric; urgency=low * disable-flto-for-gcc-4.6: list it in the serie it was dropped by error. -- Sebastien Bacher Fri, 10 Jun 2011 11:40:22 +0200 cairo (1.10.2-6ubuntu1) oneiric; urgency=low * Resynchronize on Debian, the remaining delta for ubuntu is: * server_side_gradients.patch: don't use server side gradients, most drivers don't handle those and are really slow * cairo-lp-680628.patch: git backport to fix pdf printing speed issues * debian/patches/disable-flto-for-gcc-4.6: disable use of -flto when building. * Build tweaks for multiarch, enable the GL backend -- Sebastien Bacher Mon, 03 Jan 2011 16:47:46 +0100 cairo (1.10.2-6) unstable; urgency=low * debian/patches/03_export-symbols.patch: + Only export ^cairo_* symbols for libcairo-gobject and libcairo-script-interpreter (in addition to libcairo). Fixes a FTBFS in the architectures that are still using gcc-4.4, as one symbol isn't being exported there (since that gcc doesn't support -flto). * debian/libcairo-gobject2.symbols debian/libcairo-script-interpreter2.symbols + Remove the __gnu_lto_v1 symbol accordingly. -- Emilio Pozuelo Monfort Sat, 26 Mar 2011 10:11:21 +0000 cairo (1.10.2-5) unstable; urgency=low * debian/control, debian/libcairo2.symbols, debian/rules: + Temporarily disable the OpenGL/EGL backend, since that makes us block on mesa / libdrm / linux-2.6 to migrate to testing, and we're blocking the gobject-introspection transition, and we don't want to tie them. It will be re-enabled soon after we migrate. There shouldn't be anything depending on these symbols yet, so this should be safe. * debian/libcairo-gobject2.symbols, debian/libcairo-script-interpreter2.symbols: + Updated. -- Emilio Pozuelo Monfort Fri, 25 Mar 2011 22:10:28 +0000 cairo (1.10.2-4) unstable; urgency=low * Brown paper bug release. * Apply 04-LD_PRELOAD-is-supported-on-Hurd.patch to the git tree, otherwise dpkg-source will create a debian-changes-* patch reverting it, for some reason that I ignore. -- Emilio Pozuelo Monfort Wed, 02 Mar 2011 18:37:59 +0000 cairo (1.10.2-3) unstable; urgency=low * debian/patches/04-LD_PRELOAD-is-supported-on-Hurd.patch: + Patch from upstream git, let configure know that GNU/Hurd supports LD_PRELOAD. This enables the build of cairo-trace. Closes: #608492. * debian/control: + Don't build depend on egl packages on GNU/Hurd for now. + Add myself to Uploaders. * debian/libcairo2.symbols: + Mark a couple of egl-related symbols as not available on Hurd. -- Emilio Pozuelo Monfort Wed, 02 Mar 2011 10:49:23 +0000 cairo (1.10.2-2) unstable; urgency=low * debian/control: + Let libcairo2-dev depend on libcairo-script-interpreter2 to prevent dangling symlinks. * Upload to unstable. * debian/rules: + Enable tee surface (Closes: #609978). * debian/control, debian/rules: + Enable the OpenGL/EGL backend (Closes: #611692). * debian/libcairo2.symbols, debian/rules: + Update shlibs and symbols files. * debian/patches/03_export-symbols.patch: + Only export public cairo symbols. -- Sebastian Dröge Tue, 08 Feb 2011 09:54:30 +0100 cairo (1.10.2-1) experimental; urgency=low * New upstream bugfix release: + debian/patches/01_build_perf_utils.patch, debian/patches/02_am-maintainer-mode.patch: - Refresh patches. -- Sebastian Dröge Tue, 28 Dec 2010 14:45:49 +0100 cairo (1.10.0-1) experimental; urgency=low [ Alexandros Frantzis ] * debian/control: + Add libcairo-script-interpreter2 package. + Add cairo-perf-utils package (Closes: #587771). * debian/libcairo-script-interpreter2.install, debian/cairo-perf-utils.install: + Add installation file list for new binary packages. * debian/libcairo-script-interpreter2.symbols: + Add new symbols for libcairo-script-interpreter.so library. * debian/libcairo2-dev.install: + Install the libcairo-script-interpreter.so symbolic link. * debian/rules: + Enable building of cairo-perf-* utilities. + Run dh_makeshlibs for the libcairo-script-interpreter2 package. * debian/patches/01_build_perf_utils.patch, debian/patches/99_autoreconf.patch: + Build cairo-perf-* utils as part of the normal build process. [ Sebastian Dröge ] * New upstream stable release (Closes: #595897): + debian/libcairo2.symbols, debian/libcairo-script-interpreter2.symbols, debian/rules: - Update symbols and shlibs to the stable version. + debian/control: - Update pixman build dependency to >= 0.18.4. + debian/patches/01_build_perf_utils.patch: - Refreshed. + debian/control, debian/libcairo-gobject2.symbols, debian/libcairo-gobject2.install: - Add GObject library. + debian/patches/02_am-maintainer-mode.patch: - Add AM_MAINTAINER_MODE again to configure.ac to prevent build problems. + debian/control, debian/rules: - Use dh-autoreconf instead of an autoreconf patch. cairo's build system doesn't like patches... -- Sebastian Dröge Tue, 07 Sep 2010 10:09:10 +0200 cairo (1.9.14-1) experimental; urgency=low * New upstream development release: + debian/patches/01_no-private-symbol-export.patch: - Dropped, shouldn't be necessary since ages. + debian/libcairo2.symbols, debian/rules: - Update symbols and shlibs version. -- Sebastian Dröge Mon, 26 Jul 2010 15:07:28 +0200 cairo (1.9.12-1) experimental; urgency=low * New upstream development release: + debian/rules: - Drop --disable-shave, cairo uses automake 1.11 silent rules now. + debian/patches/03_no-cxx.patch, debian/patches/05_am-maintainer-mode.patch, debian/patches/99_autoreconf.patch: - Dropped, first patch merged upstream and the other two are not necessary anymore. + debian/libcairo2.symbols, debian/rules: - Update symbols and shlibs version for the new API. -- Sebastian Dröge Mon, 12 Jul 2010 15:05:20 +0200 cairo (1.9.10-1) experimental; urgency=low * New upstream development release: + Use subpixel rendering settings for fonts (Closes: #555722). + debian/patches/99_autoreconf.patch: - Regenerated for the new version. + debian/patches/01_no-private-symbol-export.patch, debian/patches/03_no-cxx.patch, debian/patches/05_am-maintainer-mode.patch, debian/patches/99_ltmain_as-needed.patch: - Refreshed. -- Sebastian Dröge Sat, 26 Jun 2010 16:13:32 +0200 cairo (1.9.8-1) experimental; urgency=low * New upstream development release: + Fixes crash in evince when displaying a file (Closes: #578072). + debian/control: - Update pixman and xcb (build-) dependencies. + debian/patches/02_xcb-without-dri2.patch, debian/patches/04_bo-rectangular-edge-traversal-invalid-read.patch, debian/patches/06_bo-rectangular-skipping.patch: - Dropped, merged upstream. + debian/patches/03_no-cxx.patch, debian/patches/99_autoreconf.patch: - Refreshed for the new version. + debian/libcairo2.symbols, debian/rules: - Update symbols and shlibs version for the new API. * debian/copyright: + Fix typo (Closes: #573530). -- Sebastian Dröge Mon, 14 Jun 2010 10:04:57 +0200 cairo (1.9.6-6) experimental; urgency=low * debian/patches/04_bo-rectangular-edge-traversal-invalid-read.patch, debian/patches/06_bo-rectangular-skipping.patch: + Patch from upstream GIT to fix invalid read during edge traversal and incorrect skipping of edges. Fixes crash in WebKit. * debian/patches/05_am-maintainer-mode.patch, debian/patches/99_autoreconf.patch: + Add support for disabling automake maintainer mode, which causes warnings messages and possible errors during build. -- Sebastian Dröge Mon, 22 Mar 2010 06:49:30 +0100 cairo (1.9.6-5) experimental; urgency=low * debian/rules: + Add --disable-silent-rules --disable-shave to configure flags. * debian/control, debian/rules, debian/libcairo-directfb2*: + Drop DirectFB backend completely now, it's marked experimental upstream and was only enabled for the debian-installer, which now uses X11 anyway. * debian/control: + Drop obsolete Replaces and Conflicts which were for versions many releases ago. + Add ${misc:Depends} and ${shlibs:Depends} wherever necessary. * debian/rules: + Use dh_prep instead of dh_clean -k. * debian/patches/03_no-cxx.patch: + Patch by Julien Cristau to drop the unecessary dependency on libstdc++ caused by an automake stupidity. * debian/patches/99_autoreconf.patch: + Regenerated automake/autoconf files for the above change. * debian/patches/99_ltmain_as-needed.patch, debian/rules: + Link with -Wl,-z,defs -Wl,-O1 -Wl,--as-needed. -- Sebastian Dröge Fri, 19 Mar 2010 14:28:17 +0100 cairo (1.9.6-4) experimental; urgency=low [ Cyril Brulebois ] * Switch udeb from DirectFB to Xlib to prepare the move to an X11-based graphical installer: - Ship libcairo2-udeb instead of libcairo-directfb2-udeb. - Update package description accordingly. - Rename udeb’s .install file accordingly. - Adapt package name for various dh_* calls accordingly. - Switch --enable-directfb and --enable-xlib in *configure_flags variables, and get rid of --program-suffix=-directfb, no longer needed. * Version/Bump some B-D to make sure the udeb gets its dependencies on the (recently-added) udebs rather than on the libraries: - libx11-dev - libxrender-dev * Thanks to Julien Cristau for his initial patch. [ Sebastian Dröge ] * Upload to experimental (Closes: #573394). -- Sebastian Dröge Sun, 14 Mar 2010 20:07:04 +0100 cairo (1.9.6-3) experimental; urgency=low * debian/control: + Depend on libxcb-shm0-dev as required by the pkg-config file (Closes: #572119). + Update dependency versions as requested by the pkg-config files. -- Sebastian Dröge Mon, 01 Mar 2010 18:55:01 +0100 cairo (1.9.6-2) experimental; urgency=low * debian/control: + Add Breaks for xulrunner and iceape until they're fixed (Closes: #571192, #561859, #551570, #551852, #555412, #562698). * debian/control: + Fix sections (Closes: #486174, #515919). -- Sebastian Dröge Thu, 25 Feb 2010 13:24:15 +0100 cairo (1.9.6-1) experimental; urgency=low * New upstream development release: + debian/control: - Update build dependencies. + debian/libcairo2.symbols, debian/rules: - Update symbols and shlibs version for the new API. * debian/patches, debian/source/format, debian/rules, debian/control, debian/compat: + Update to source format 3.0 (quilt). + Update to debhelper compat level 7. + Update Standards-Version to 3.8.4. * debian/rules: + Don't update config.guess/config.sub, upstream doesn't use them. + Don't delete cairo-features.h in clean. + Don't touch configure.in and friends. * debian/patches/02_xcb-without-dri2.patch: + Fix compilation without DRI2. -- Sebastian Dröge Tue, 23 Feb 2010 14:33:09 +0100 cairo (1.9.4-1) experimental; urgency=low * New upstream development release. + debian/control: - Update build dependencies. + debian/libcairo2.symbols, debian/rules: - Update symbols and shlibs version for the new API. -- Sebastian Dröge Fri, 16 Oct 2009 08:46:43 +0200 cairo (1.9.2-1) experimental; urgency=low * New upstream development release. + debian/control: - Update build dependencies. + debian/libcairo2.symbols, debian/rules: - Update symbols and shlibs version for the new API. * debian/control: + Update Standards-Version to 3.8.3. -- Sebastian Dröge Tue, 15 Sep 2009 17:23:45 +0200 cairo (1.8.8-2) unstable; urgency=low * Upload to unstable. -- Sebastian Dröge Thu, 18 Jun 2009 08:59:17 +0200 cairo (1.8.8-1) experimental; urgency=low [ Loïc Minier ] * Use "udeb" consistently to describe this flavor * Rename CFLAGS to CFLAGS_MAIN for consistency * Rename %-flavor-stamp targets to %-stamp-flavor * Also strip dependency_libs in DEB_DIST_DIR * Always lowercase the flavor name in vars * Drop unused configure-main and udeb targets * Drop dangerous configure target listed in .PHONY * Drop build-main and build-udeb targets * Make the build and configure rules implicit ones * Define builddir using the current_flavor * Split flavors installation into a install-% target * Move debian/build-* and /dist-* to nicer places * Misc cleanups * Factor configure flags * Fix --host and --build handling * Remove useless cleanups * Factor "touch" calls * Save and restore config.guess and .sub * Drop INSTALL_PROGRAM, not needed with dh_strip * Factor CFLAGS; add -Wall * Implement an optional optimized flavor [ Sebastian Dröge ] * New upstream bugfix release. * Update Standards-Version to 3.8.2. * Update sections of binary packages -- Sebastian Dröge Wed, 17 Jun 2009 16:47:55 +0200 cairo (1.8.6-2) unstable; urgency=low * Upload to unstable. -- Sebastian Dröge Tue, 17 Feb 2009 09:56:44 +0100 cairo (1.8.6-1) experimental; urgency=low * New upstream bugfix release. -- Sebastian Dröge Tue, 16 Dec 2008 14:55:53 +0100 cairo (1.8.4-1) experimental; urgency=low * New upstream bugfix release. -- Sebastian Dröge Sat, 15 Nov 2008 08:46:56 +0100 cairo (1.8.2-2) experimental; urgency=low * ACK NMU and merge all changes, thanks Joss. -- Sebastian Dröge Wed, 05 Nov 2008 12:59:03 +0100 cairo (1.6.4-6.1) unstable; urgency=low * Non-maintainer upload. * Remove the rpath stuff in /usr/lib/libcairo-directdb and only keep it around for compatibility. Closes: #499662. + Remove the rpath hack in the .pc file. + Make the libcairo-directfb2{,dev} packages dummy, only keeping symbolic links from the former locations. + libcairo-directfb2-dev.postinst: do the symbolic link dance upon upgrade. + Update package descriptions accordingly. + libcairo2.symbols: add cairo_directfb_surface_create. + libcairo2-dev conflicts with libcairo-directfb2-dev (<< 1.6.4-6.1). * rules: completely cleanup the .la files from their dependency libs. Closes: #491292. * Add ~ to symbol versions to make backports possible. * Fix doc-base section. * Standards version is 3.8.0. -- Josselin Mouette Mon, 13 Oct 2008 11:00:24 +0200 cairo (1.8.2-1) experimental; urgency=low * New upstream stable release: + debian/control: - Update (Build-)Depends. - Fix section of libcairo2 from docs to libs. + debian/watch: - Update location for releases. + debian/rules: - Patch from Ubuntu package to update config.guess/sub again properly. - Update shlibs to 1.8.0 because of new API. - Remove src/cairo-features.h as it's generated by configure and breaks the build if it's already there. + debian/libcairo-directfb2.symbols, debian/libcairo2.symbols: - Updated symbols. * debian/patches/02_no-private-symbol-export.dpatch: + Re-added to not export some private symbols. -- Sebastian Dröge Wed, 05 Nov 2008 12:17:09 +0100 cairo (1.7.4-1) experimental; urgency=low * New upstream snapshot release * Removed debian/patches/02_no-private-symbol-export.dpatch merged upstream * Removed debian/patches/01_directfb-no-accel.dpatch Hoping that this GIT commit makes it moot: + commit 7fbda72137d8685718a8e8fe1d3af5b1d377521c Date: Sun Aug 10 05:05:27 2008 -0700 * Known packaging errors: - not copying new config.sub/config.guess for now -- Dave Beckett Thu, 11 Sep 2008 23:03:15 -0700 cairo (1.6.4-7) unstable; urgency=low * debian/rules: + Remove libtool .la dependency_libs (Closes: #491292) * debian/control: + Update to standards version 3.8.0 + Move libcairo2-doc to 'doc' section (Closes: #486174) * debian/dpatch/*: Added ##DP descriptions (lintian) * debian/libcairo2.symbols: Removed symbols with a debian revision (lintian) * debian/libcairo2-doc.doc-base: Use section "Graphics" (lintian) -- Dave Beckett Sun, 07 Sep 2008 15:33:00 -0700 cairo (1.6.4-6) unstable; urgency=low * debian/control: + Let libcairo2-dev depend on libxcb-render-util0-dev (Closes: #486006). -- Sebastian Dröge Fri, 13 Jun 2008 11:55:50 +0200 cairo (1.6.4-5) unstable; urgency=low * debian/rules, debian/control, debian/libcairo2.symbols: + Enable XCB backend now that XCB is in unstable (Closes: #474353). -- Sebastian Dröge Tue, 10 Jun 2008 07:46:49 +0200 cairo (1.6.4-4) unstable; urgency=low * debian/rules: + Make sure that the debug package contains debug symbols for the libcairo2 package and not for the directfb one (Closes: #484603). -- Sebastian Dröge Thu, 05 Jun 2008 12:35:35 +0200 cairo (1.6.4-3) unstable; urgency=low * debian/patches/02_no-private-symbol-export.dpatch, debian/libcairo2.symbols, debian/libcairo-directfb2.symbols, debian/rules: + Don't export private symbols and pass -c4 to dh_makeshlibs (Closes: #481260). * debian/control: + Fix documentation path in the package description (Closes: #464116). * debian/rules: + Only build the arch-indep packages when build-indep is invoked (Closes: #476499). -- Sebastian Dröge Wed, 28 May 2008 11:19:21 +0200 cairo (1.6.4-2) unstable; urgency=low * debian/patches/01_directfb-no-accel.dpatch: + Disable rendering acceleration for the DirectFB backend as it causes broken screen repainting with the Debian installer and other GTK/DirectFB applications (Closes: #477331). -- Sebastian Dröge Tue, 13 May 2008 10:34:26 +0200 cairo (1.6.4-1) unstable; urgency=low * New upstream release: + Works on remote Sun displays by adding support for 8 bit pseudocolors (Closes: #348109). + Adds support for 32 bit visuals (Closes: #421266). + Adds support for 655 xlib format (Closes: #413690). + Fixes error when creating pdf charts (Closes: #474136). + Fixes assertions in cairo_destroy (Closes: #423951). + Fixes display errors with iceweasel 3.0 (Closes: #474395). + debian/control: - Update build dependencies and dependencies. - Add myself as co-maintainer. - Fix spelling error. + debian/rules: - Update shlibs to >= 1.6.0 because of API additions. + debian/libcairo2.symbols, debian/libcairo-directfb2.symbols: - Add symbol files for the libraries. -- Sebastian Dröge Tue, 15 Apr 2008 20:07:29 +0200 cairo (1.5.8-1) experimental; urgency=low * New upstream release -- Dave Beckett Wed, 30 Jan 2008 08:27:44 -0800 cairo (1.5.6-1) experimental; urgency=low * New upstream release -- Dave Beckett Wed, 16 Jan 2008 19:14:02 -0800 cairo (1.5.4-1) experimental; urgency=low * Cairo snapshot packaging (Closes: #452736) - NOTE: This is the *unstable* Cairo API and may change at any time before the next stable release which will be called something like 1.6.0 -- Dave Beckett Mon, 24 Dec 2007 15:08:42 -0800 cairo (1.4.12-2) unstable; urgency=low * Apply fixes from upstream to fix PDF issues using upstream cairo bug 8399 via dependent upstream bugs - cairo bug 12284 (Early detection of a zero sized bitmap) git commit d62f8861689d8b9a9a837043fb78813f0407abd4 - cairo bug 9846 (Ignore FT_Load_Glyph errors other than out-of-memory Same for FT_Render_Glyph) git commit 21ab44f11d3d20eead5d988c7a6cf48eebff08c7 (Closes: #428466, #435913, #439542, #440811, #442481) * Apply fix from upstream "PS: Ensure that xyshow operator has a pair of offsets for each glyph" git commit 5e8f60531a09f357db38c4b646b1bbd29b97a891 (Closes: #453718) -- Dave Beckett Sun, 16 Dec 2007 12:57:00 -0800 cairo (1.4.12-1) unstable; urgency=low * New upstream release - fixes SIG PIPE crash (Closes: #454768) * Acknowledge NMU - Thanks Nico * Correct source package name * Added debug package libcairo2-dbg (Closes: #422597, #429335, #446637) * debian/control: - Standards version 3.7.3 - Add homepage - Use ${binary:Version} to replace deprecated ${Source-Version} in Depends - libcairo2-doc package is now in Section doc * debian/rules: fix cross build support (Closes: #451596) * debian/libcairo2-doc.doc-base: fix lintian warning doc-base-file-separator-extra-whitespaces * Evaluated ubuntu patches to 1.4.10 and applied none: - 02-cairo-1.4.8-lcd-filter-2.dpatch - changes Cairo public API - 90_from_git_fix_not_available_glyph_handling.dpatch - from upstream - 90_from_git_fix_zero_sized_bitmap_handling.dpatch - from upstream - 91_malloc-overflow-fixes.dpatch - from upstream -- Dave Beckett Tue, 11 Dec 2007 09:33:10 -0800 libcairo (1.4.10-1.2) unstable; urgency=high * Fix floating point regressions introduced by the previous NMU. Do not blindly call malloc if the size is zero (Closes: #454768,#454650,#454413). -- Nico Golde Fri, 07 Dec 2007 20:33:11 +0100 libcairo (1.4.10-1.1) unstable; urgency=high * Non-maintainer upload by testing-security team. * Fix multiple integer overflows leading to arbitrary code execution (CVE-2007-5503; Closes: #453686). -- Nico Golde Mon, 03 Dec 2007 17:20:59 +0100 libcairo (1.4.10-1) unstable; urgency=low * New upstream release - fixes XError crash seen in openoffice.org (Closes: #430550) * Removed patch 001-148-directfb.dpatch merged upstream -- Dave Beckett Wed, 27 Jun 2007 18:20:10 -0700 libcairo (1.4.8-1) unstable; urgency=low * New upstream release - fixes gnome bug http://bugzilla.gnome.org/show_bug.cgi?id=431990 that caused gnome-about to crash (Closes: #425058) * Added patch 001-148-directfb.dpatch to make directfb build with 1.4.8 * Fix directfb udeb shlibs (Closes: #429672) - remove udeb line from libcairo2 package shlibs - libcairo-directfb2 package shlibs provide libcairo-directfb2(-udeb) * Acknowledge NMU - thanks Don -- Dave Beckett Thu, 21 Jun 2007 01:03:51 -0700 libcairo (1.4.6-1.1) unstable; urgency=low * NMU * Apply patch from Adrian Johnson to fix segfault with PS_surface (closes: #422388) -- Don Armstrong Mon, 28 May 2007 11:11:45 -0700 libcairo (1.4.6-1) unstable; urgency=low * New upstream release * Add debian/compat, remove DH_COMPAT from debian/rules -- Dave Beckett Tue, 1 May 2007 23:38:00 -0800 libcairo (1.4.4-1) unstable; urgency=low * New upstream release * Remove different versioned shlibs dependency for one udeb to get rid of duplicate dependencies (Closes: #418616) * Switch shlibs API version to 1.4.0 since API calls were added * PDF fonts fixed upstream (Closes: #406191) -- Dave Beckett Fri, 13 Apr 2007 21:46:46 -0700 libcairo (1.4.2-1) experimental; urgency=low * New upstream release (Closes: #416024) * debian/rules: Pass on CFLAGS (Closes: #399868) -- Dave Beckett Tue, 27 Mar 2007 06:55:45 -0700 libcairo (1.2.6-1) experimental; urgency=low * New upstream release * Removed patch 01-cairo_xlib_surface_add_glyph.patch now in upstream * Require pkg-config 0.19 -- Dave Beckett Fri, 17 Nov 2006 20:42:08 -0800 libcairo (1.2.4-4) unstable; urgency=medium * Acknowledge NMU. * Urgency medium since RC bugs are acknowledged. * Patch 01-cairo_xlib_surface_add_glyph.patch added in experimental confirmed fixes powerpc X byte copy crash for bug #388116 which was closed by email after an NMU. * Enable PDF and PS for the cairo+directfb build in unstable (Closes: #383297) * Bump libcairo-directfb2's shlibs to >= 1.2.4-4 for the addition of PDF and PS related symbols to the cairo+directfb lib. (Closes: #387289) * Remove libcairo.la references to other .la files to aid future removal of all .la files. -- Dave Beckett Thu, 19 Oct 2006 22:41:56 -0700 libcairo (1.2.4-3.2) experimental; urgency=low * NMU * Re-upload to get the changes from -2 in experimental, that is building cairo+directfb with PS and PDF support (needed by Gtk+2.10+directfb). * Bump libcairo-directfb shlibs to >= 1.2.4-3.2 so that packages depending on the new +directfb things get the right dep. -- Marc 'HE' Brockschmidt Wed, 18 Oct 2006 11:09:16 +0200 libcairo (1.2.4-3.1) unstable; urgency=low * NMU * Upload with 01-cairo_xlib_surface_add_glyph.patch but without the directfb changes from -2. The patch fixes the segfault caused by a broken loop condition (c >= 0 works like, eh, always after doing "unsigned int c"...). (Closes: #388116) -- Marc 'HE' Brockschmidt Sun, 15 Oct 2006 16:25:06 +0200 libcairo (1.2.4-3) experimental; urgency=low * Added patch 01-cairo_xlib_surface_add_glyph.patch from upstream git attempting to fix 388116 -- Dave Beckett Sun, 8 Oct 2006 11:08:23 -0700 libcairo (1.2.4-2) experimental; urgency=low * Enable PDF and PS for the cairo+directfb build in order to allow GTK 2.10+directfb to build (Closes: #383297) -- Dave Beckett Sun, 3 Sep 2006 13:24:31 -0700 libcairo (1.2.4-1) unstable; urgency=low * New upstream release. * Remove double call to dh_installdocs (Closes: #382594) * Submit to override for libcairo2-doc, changing to section libs. -- Dave Beckett Fri, 18 Aug 2006 18:11:00 -0700 libcairo (1.2.2-1) unstable; urgency=medium * New upstream release. * This version again handles BGR X server visuals such as used by Exceed and VNC (Closes: #376858) * Removed patches taken from upstream git: - cairo-bug-7494.patch - cairo-bug-7514.patch * Build-Depend on xutils-dev and libxt-dev since the test for the presence of X in the latest configure (as generated by autoconf 2.60) uses xmkmf and checks for libxt-dev even though neither are used by Cairo. -- Dave Beckett Tue, 8 Aug 2006 23:59:01 -0700 libcairo (1.2.0-5) unstable; urgency=medium * Rebuild against directfb 0.9.25 which has changed library and udeb package names from 0.9.24 that all earlier cairos were built against, and which are now removed. This should prevent Cairo from becoming uninstallable due to this change. Urgency medium due to this. -- Dave Beckett Wed, 2 Aug 2006 22:04:17 -0700 libcairo (1.2.0-4) unstable; urgency=medium * Added patch cairo-bug-7494.patch (Closes: #378005) * Added patch cairo-bug-7514.patch (Closes: #380064) -- Dave Beckett Tue, 1 Aug 2006 22:29:04 -0700 libcairo (1.2.0-3) unstable; urgency=low * Add libsm-dev to Build-Depends and libcairo2-dev depends to pull in libSM and libICE (Closes: #377259) * Remove unused libxrender-dev Depends from libcairo-directfb2-dev -- Dave Beckett Sun, 9 Jul 2006 16:36:10 -0700 libcairo (1.2.0-2) unstable; urgency=low * Remove libcairo2-dev depending on libdirectfb-dev (Closes: 376691) -- Dave Beckett Tue, 4 Jul 2006 10:45:33 -0700 libcairo (1.2.0-1) unstable; urgency=low * New upstream release. -- Dave Beckett Sat, 1 Jul 2006 19:43:51 -0700 libcairo (1.1.10-3) experimental; urgency=low * First upload of 1.1.x series to debian experimental * Remove patch 02-no-ft-glyphslot-embolden.patch (was for bug #325526) and depend on a new enough libfreetype6 (2.1.10) which is already in testing. * Removed Build-Depend on libxml2 for creating SVG as that has been rewritten. * Added libcairo2 Conflicts and Replaces libcairo1 (Closes: #366755) -- Dave Beckett Wed, 28 Jun 2006 19:04:10 -0700 libcairo (1.1.10-2) experimental; urgency=low * Add -Wl,-rpath,${libdir} to libcairo-directfb pkgconfig to make the linker use the libcairo in the libdir * Removed Provides: libcairo2 from libcairo-directfb2-udeb -- Dave Beckett Sun, 25 Jun 2006 10:20:40 -0700 libcairo (1.1.10-1) experimental; urgency=low * New upstream release * Renamed directfb packages to be libcairo-directfb2* * Use dh_makeshlibs with --add-udeb to make udeb: lines appear in shlibs * Depend on debhelper 5.0.22 to get a working dh_makeshlibs with --add-udeb -- Dave Beckett Sat, 24 Jun 2006 10:03:02 -0700 libcairo (1.1.8-1) experimental; urgency=low * New upstream release * Added libcairo2-directfb deb. -- Dave Beckett Wed, 14 Jun 2006 11:47:00 -0700 libcairo (1.1.6-1) experimental; urgency=low * New upstream release * Enable PNG, PDF and SVG backends (add Build-Depend: on libxml2) * Added Cairo DirectFB udeb packages libcairo2-directfb-udeb and libcairo2-directfb-dev (add Build-Depend: on libdirectfb-dev) * libcairo2-dev and libcairo2-directfb-dev can both be installed together * Stop using CDBS since it cannot handle the double configure and build setup. * Use dpatch for patching and Build-Depend: on it. -- Dave Beckett Mon, 12 Jun 2006 12:57:38 -0700 libcairo (1.0.4-2) unstable; urgency=low * Rebuild against X11R7 to fix .la breakage xorg caused (Closes: #362237) -- Dave Beckett Tue, 25 Apr 2006 22:00:36 -0700 libcairo (1.0.4-1) unstable; urgency=low * New upstream release * Removed patches merged upstream: - 01-INT_pixman.patch * Debhelper 5 -- Dave Beckett Wed, 5 Apr 2006 17:44:12 -0700 libcairo (1.0.2-4) unstable; urgency=low * Rebuild against current build dependencies since something in the build depends changed to make it stop working. This may be the most useless changelog entry ever. (Closes: #347675) -- Dave Beckett Thu, 12 Jan 2006 19:52:08 -0800 libcairo (1.0.2-3) unstable; urgency=low * Bump libcairo2 shlibs to 1.0.2-2 given all the freetype version changes. -- Dave Beckett Wed, 30 Nov 2005 09:21:02 -0800 libcairo (1.0.2-2) unstable; urgency=low * Fix libcairo2-doc section to doc (Closes: #337515) * Re-add patch 02-no-ft-glyphslot-embolden.patch to use only freetype 2.1.7 symbols even though sid has freetype 2.1.10. The latter has ABI changes beyond it's declared shlibs of 2.1.5 and is undergoing a large transition. Require freetype 2.1.7+ again. (Closes: #338817) * Added patch 01-INT_pixman.patch from CVS to remove spurious INT_ items that broke build with recent binutils (Closes: #340073) * Require pkg-config >= 0.18 since cairo.pc uses Require.private: -- Dave Beckett Fri, 25 Nov 2005 04:01:51 +0000 libcairo (1.0.2-1) unstable; urgency=low * New upstream release * Removed patch 01-endianess-cairo-xlib-surface.patch previously taken from upstream CVS. * Removed patch 02-no-ft-glyphslot-embolden.patch to re-allow configure to use FT_GlyphSlot_Embolden provided in freetype 2.1.10 which is now in sid. * Require freetype 2.1.10+ -- Dave Beckett Tue, 25 Oct 2005 18:45:57 +0100 libcairo (1.0.0-3) unstable; urgency=low * Added patch 02-no-ft-glyphslot-embolden.patch to disable use of FT_GlyphSlot_Embolden in freetype, which was added after the freetype version 2.1.7 currently in testing (closes: #325526) * Require freetype 2.1.7+ -- Dave Beckett Tue, 13 Sep 2005 19:33:38 +0100 libcairo (1.0.0-2) unstable; urgency=low * Added patch 01-endianess-cairo-xlib-surface.patch from CVS to fix endianess problem when running over remote X (Closes: #326920) * Register cairo docs with doc-base (Closes: #325541) -- Dave Beckett Tue, 6 Sep 2005 18:15:57 +0100 libcairo (1.0.0-1) unstable; urgency=low * New upstream release * Removed glitz backend as currently experimental and unsupported * debian/watch: update to use stable release area * Removed patch cairo-0.9.2-cache-eviction-fix.patch merged upstream. -- Dave Beckett Wed, 24 Aug 2005 18:14:23 +0100 libcairo (0.9.2-2) unstable; urgency=low * Add patch cairo-0.9.2-cache-eviction-fix.patch from Kristian Høgsberg to make the freetype font cache evict correctly. -- Dave Beckett Mon, 15 Aug 2005 19:48:43 +0100 libcairo (0.9.2-1) unstable; urgency=low * New upstream release * First stable API release - remove patching sonames * libcairo2, libcairo2-dev and libcairo2-doc replace all previous versions * No longer Depends: on libpixman, now an internal library -- Dave Beckett Sat, 13 Aug 2005 14:16:46 +0100 libcairo (0.9.0-1) unstable; urgency=low * New upstream release * libcairo0.9.0 replaces libcairo0.6.0 * Functions were added so create new sonames and libraries -- Dave Beckett Tue, 9 Aug 2005 08:21:50 +0100 libcairo (0.6.0-1) unstable; urgency=low * New upstream release * libcairo0.6.0 replaces libcairo0.5.1 * Functions were added so create new sonames and libraries * Require glitz 0.4.4 API and libpixman 0.1.5 -- Dave Beckett Fri, 29 Jul 2005 23:31:05 +0100 libcairo (0.5.1-2) unstable; urgency=low * Upload to unstable * libcairo0.5.1 replaces older libcairo1 * libcairo0.5.1-dev already conflicted with libcairo1-dev so enable shipping libcairo.so and delete patch 05-cairo.pc.in.patch as the cairo.pc.in is ok again -- Dave Beckett Sun, 10 Jul 2005 22:07:22 +0100 libcairo (0.5.1-1) experimental; urgency=low * New upstream release * Revert to source package name libcairo * Reflect ABI version into both library soname as libcairo-1debian0.5.1 and package name libcairo0.5.1 (Closes: #314776) * libcairo0.5.1 no longer conflicts with libcairo1 * Added a libcairo0.5.1-doc package with the HTML documentation -- Dave Beckett Wed, 22 Jun 2005 21:06:01 +0100 cairo (0.5.0-2) unstable; urgency=low * Fix the shlibs dependencies for libcairo0.5 -- Dave Beckett Thu, 9 Jun 2005 21:56:08 +0100 cairo (0.5.0-1) unstable; urgency=low * New upstream release (Closes: 311042) * Change source package s/lib// and add API version to binary packages * Enable glitz backend (Closes: 307573) -- Dave Beckett Thu, 9 Jun 2005 20:51:11 +0100 libcairo (0.4.0-1) unstable; urgency=low * New upstream release * API changes for fonts so shlib version is now 0.4.0 * Require libpixman 0.1.4 -- Dave Beckett Wed, 9 Mar 2005 19:39:44 +0000 libcairo (0.3.0-1) unstable; urgency=low * New upstream release. Closes: 284205 * Bumped shlibs version since new functions were added. * Headers have moved to below /usr/include/cairo * Require libpixman 0.1.3 -- Dave Beckett Sun, 6 Feb 2005 12:40:04 +0000 libcairo (0.2.0-1) unstable; urgency=low * New upstream release * Bumped shlibs version since new functions were added. * Require libpixman 0.1.2 * Still keep glitz disabled -- Dave Beckett Mon, 8 Nov 2004 22:19:29 +0000 libcairo (0.1.23-2) unstable; urgency=low * Replace Build-Depend on xlibs-dev with libx11-dev * Changed to LGPL license (in CVS 2004-08-02) * Disable use of glitz explicitly -- Dave Beckett Mon, 23 Aug 2004 22:25:16 +0100 libcairo (0.1.23-1) unstable; urgency=low * New upstream release. Closes: 248705 * Add PNG backend, require libpng12-dev * Requires libpixman >= 0.1.1 -- Dave Beckett Sat, 29 May 2004 21:10:58 +0100 libcairo (0.1.18-1) unstable; urgency=low * New upstream release * Remove xlib-surface-debian.patch, not needed for XFree86 4.3.0+ -- Dave Beckett Thu, 19 Feb 2004 23:08:25 +0000 libcairo (0.1.17-4) unstable; urgency=low * Initial version to debian archive. Closes: #205346 -- Dave Beckett Sun, 15 Feb 2004 21:45:47 +0000 libcairo (0.1.17-3) unstable; urgency=low * Setting me as the maintainer temporarily -- Eduard Bloch Sat, 14 Feb 2004 16:49:18 +0100 libcairo (0.1.17-2) unstable; urgency=low * Add patch/xlib-surface-debian.patch to restore this to working for X. -- Dave Beckett Sat, 24 Jan 2004 18:02:38 +0000 libcairo (0.1.17-1) unstable; urgency=low * New upstream release * Replace libpixman/libic dependencies with libpixman -- Dave Beckett Tue, 16 Dec 2003 17:49:55 +0000 libcairo (0.1.16-1) unstable; urgency=low * New upstream release * Added libxrender-dev (>=0.6.0) requirement to match configure.in -- Dave Beckett Mon, 8 Dec 2003 20:39:59 +0000 libcairo (0.1.13-1) unstable; urgency=low * New upstream release * Remove patch for src/config.h - merged upstream. * Return libfreetype6 minimum version to 2.1.0. -- Dave Beckett Fri, 21 Nov 2003 20:05:38 +0000 libcairo (0.1.12-3) unstable; urgency=low * Pull patch from CVS to allow building with newer freetype using the new include via defines mechanism now enforced in freetype 2.1.6 -- Dave Beckett Tue, 18 Nov 2003 20:15:08 +0000 libcairo (0.1.12-2) unstable; urgency=low * Remove dependency on libxft-dev, replaced with libfreetype6-dev and libfontconfig1-dev -- Dave Beckett Sat, 8 Nov 2003 18:44:19 +0000 libcairo (0.1.12-1) unstable; urgency=low * New upstream release -- Dave Beckett Fri, 7 Nov 2003 20:43:33 +0000 libcairo (0.1.11-1) unstable; urgency=low * New upstream release -- Dave Beckett Tue, 4 Nov 2003 15:10:14 +0000 libcairo (0.1.10-1) unstable; urgency=low * New upstream release -- Dave Beckett Tue, 4 Nov 2003 00:23:16 +0000 libcairo (0.1.9-2) unstable; urgency=low * Generate packages correctly named after the library major soname: libcairo1, libcairo1-dev -- Dave Beckett Thu, 30 Oct 2003 23:16:43 +0000 libcairo (0.1.9-1) unstable; urgency=low * New upstream release. * Removed dependency on automake, autoconf, libtool -- Dave Beckett Thu, 30 Oct 2003 21:37:25 +0000 libcairo (0.1.8-1) unstable; urgency=low * Initial package -- Dave Beckett Wed, 29 Oct 2003 23:20:26 +0000 debian/rules0000775000000000000000000001204212274146423010254 0ustar #!/usr/bin/make -f # list of flavors we build; each gets a builddir, a configure pass (configure # args are defined below), a build pass, and an install pass FLAVORS := main udeb # current flavor we're building; this is only expanded in flavor specific # targets current_flavor = $* # macro to get a value for the current flavor we're building; for example # when building the main flavor, $(call flavor_get,CFLAGS) will expand to # main_CFLAGS if it's set or to CFLAGS otherwise; pay attention to not adding # superflous spaces when for the arguments of $(call ); only some vars can # be expanded in this way though flavor_get = $(or $($(current_flavor)_$(1)),$($(1))) # Supported backends (as of Cairo 1.7.4): # (internal) Image # xlib Xlib # pdf PDF # ps PostScript # svg SVG # # Experimental and unsupported backends: # directfb DirectFB (requires Build-Depend on libdirectfb-dev (>=0.9.25) ) # glitz OpenGL (glitz) # xcb XCB (requires Build-Depend on at least libxcb1-dev) # # Other platform backends are auto disabled: quartz/OSX, win32/Win32 # # Features: # --enable-png PNG (default enabled) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) configure_flags += \ --prefix=/usr \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-pdf --enable-ps \ --enable-xlib \ --enable-png \ --enable-tee \ --disable-silent-rules \ --disable-maintainer-mode \ --build=$(DEB_BUILD_GNU_TYPE) ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) configure_flags += --host=$(DEB_HOST_GNU_TYPE) endif main_configure_flags += \ $(configure_flags) \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ --enable-xlib --enable-svg \ --enable-xcb --enable-perf-utils # --enable-gl udeb_configure_flags += \ $(configure_flags) \ --disable-svg \ --disable-xcb builddir = $(buildbasedir)/$(current_flavor) buildbasedir = $(CURDIR)/debian/build installdir = $(installbasedir)/$(current_flavor) installbasedir = $(CURDIR)/debian/install # default CFLAGS; these can be expanded with $(call flavor_get, ) CFLAGS = `dpkg-buildflags --get CFLAGS` CFLAGS += -Wall LDFLAGS = `dpkg-buildflags --get LDFLAGS` CPPFLAGS = `dpkg-buildflags --get CPPFLAGS` CFLAGS_main += $(CFLAGS) ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS_udeb += $(CFLAGS) else CFLAGS_udeb += $(CFLAGS) -Os endif LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed configure-common-stamp: dh_testdir # Generated by configure and breaks the build if already existing -test -r src/cairo-features.h && \ mv src/cairo-features.h src/cairo-features.h.orig dh_autoreconf patch -Np1 < debian/ltmain_as-needed.patch touch $@ configure-stamp-%: configure-common-stamp dh_testdir mkdir -p $(builddir); \ cd $(builddir); \ $(CURDIR)/configure \ CFLAGS="$(call flavor_get,CFLAGS)" \ LDFLAGS="$(LDFLAGS)" \ CPPFLAGS="$(CPPFLAGS)" \ $(call flavor_get,configure_flags) touch $@ build: $(addprefix build-stamp-, $(FLAVORS)) build-stamp-%: configure-stamp-% dh_testdir $(MAKE) -C $(builddir) touch $@ clean: dh_testdir [ ! -r src/cairo-features.h.orig ] || mv -f src/cairo-features.h.orig src/cairo-features.h [ ! -r configure-common-stamp ] || patch -NRp1 < debian/ltmain_as-needed.patch rm -f *-stamp* rm -rf $(buildbasedir) $(installbasedir) dh_autoreconf_clean dh_clean install-%: build-stamp-% $(MAKE) -C $(builddir) install DESTDIR=$(installdir) for file in $$(find $(installdir)/usr/lib -name '*.la'); do \ sed -i "/dependency_libs/ s/'.*'/''/" $$file; \ done install: dh_testdir dh_testroot dh_prep for file in libcairo2-dev.install libcairo-gobject2.install \ libcairo-script-interpreter2.install libcairo2.install \ cairo-perf-utils.install; \ do \ sed -e"s,\$${DEB_HOST_MULTIARCH},${DEB_HOST_MULTIARCH},g" \ debian/$${file}.in > debian/$$file; \ done dh_installdirs for f in $(FLAVORS); do \ debian/rules install-$$f; \ done binary-indep: build install dh_testdir dh_testroot dh_install -i dh_installchangelogs -i ChangeLog dh_installdocs -i -A NEWS README AUTHORS dh_link -i dh_compress -i dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i binary-arch: build install dh_testdir dh_testroot dh_install -s dh_installdocs -s -A README NEWS AUTHORS dh_installchangelogs -s ChangeLog dh_installman -s dh_installexamples -s dh_link -s dh_strip -s --dbg-package=libcairo2-dbg -Nlibcairo2-udeb -Ncairo-perf-utils dh_strip -plibcairo2-udeb -pcairo-perf-utils dh_compress -s dh_fixperms -s dh_makeshlibs -plibcairo2 --add-udeb=libcairo2-udeb -V 'libcairo2 (>= 1.12.0)' -- -c4 dh_makeshlibs -plibcairo-gobject2 -V 'libcairo-gobject2 (>= 1.10.0)' -- -c4 dh_makeshlibs -plibcairo-script-interpreter2 -V 'libcairo-script-interpreter2 (>= 1.10.0)' -- -c4 dh_installdeb -s dh_shlibdeps -s dh_perl -s dh_gencontrol -s dh_md5sums -s dh_builddeb -s binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install clean debian/libcairo-gobject2.symbols0000664000000000000000000000306112274146423014070 0ustar libcairo-gobject.so.2 libcairo-gobject2 #MINVER# cairo_gobject_antialias_get_type@Base 1.10.0 cairo_gobject_content_get_type@Base 1.10.0 cairo_gobject_context_get_type@Base 1.10.0 cairo_gobject_device_get_type@Base 1.10.0 cairo_gobject_device_type_get_type@Base 1.10.0 cairo_gobject_extend_get_type@Base 1.10.0 cairo_gobject_fill_rule_get_type@Base 1.10.0 cairo_gobject_filter_get_type@Base 1.10.0 cairo_gobject_font_face_get_type@Base 1.10.0 cairo_gobject_font_options_get_type@Base 1.10.0 cairo_gobject_font_slant_get_type@Base 1.10.0 cairo_gobject_font_type_get_type@Base 1.10.0 cairo_gobject_font_weight_get_type@Base 1.10.0 cairo_gobject_format_get_type@Base 1.10.0 cairo_gobject_hint_metrics_get_type@Base 1.10.0 cairo_gobject_hint_style_get_type@Base 1.10.0 cairo_gobject_line_cap_get_type@Base 1.10.0 cairo_gobject_line_join_get_type@Base 1.10.0 cairo_gobject_matrix_get_type@Base 1.12.16 cairo_gobject_operator_get_type@Base 1.10.0 cairo_gobject_path_data_type_get_type@Base 1.10.0 cairo_gobject_pattern_get_type@Base 1.10.0 cairo_gobject_pattern_type_get_type@Base 1.10.0 cairo_gobject_rectangle_get_type@Base 1.10.0 cairo_gobject_rectangle_int_get_type@Base 1.10.0 cairo_gobject_region_get_type@Base 1.10.0 cairo_gobject_region_overlap_get_type@Base 1.10.0 cairo_gobject_scaled_font_get_type@Base 1.10.0 cairo_gobject_status_get_type@Base 1.10.0 cairo_gobject_subpixel_order_get_type@Base 1.10.0 cairo_gobject_surface_get_type@Base 1.10.0 cairo_gobject_surface_type_get_type@Base 1.10.0 cairo_gobject_text_cluster_flags_get_type@Base 1.10.0 debian/clean0000664000000000000000000000024312274146423010201 0ustar debian/libcairo2-dev.install debian/libcairo-gobject2.install debian/libcairo-script-interpreter2.install debian/libcairo2.install debian/cairo-perf-utils.install debian/libcairo2.install.opt0000664000000000000000000000006512274146423013235 0ustar debian/install/opt/usr/lib/libcairo.so.* @OPTLIBDIR@ debian/libcairo-gobject2.install.in0000664000000000000000000000014712274146423014455 0ustar debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/libcairo-gobject.so.* /usr/lib/${DEB_HOST_MULTIARCH} debian/ltmain_as-needed.patch0000664000000000000000000000161612274146423013413 0ustar Index: cairo/build/ltmain.sh =================================================================== --- cairo.orig/build/ltmain.sh 2010-06-26 16:12:17.428175248 +0200 +++ cairo/build/ltmain.sh 2010-06-26 16:13:17.044176141 +0200 @@ -5800,6 +5800,11 @@ arg=$func_stripname_result ;; + -Wl,--as-needed) + deplibs="$deplibs $arg" + continue + ;; + -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result @@ -6163,6 +6168,15 @@ lib= found=no case $deplib in + -Wl,--as-needed) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + fi + continue + ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then debian/source/0000775000000000000000000000000012274146423010475 5ustar debian/source/format0000664000000000000000000000001412274146423011703 0ustar 3.0 (quilt) debian/tests/0000775000000000000000000000000012274146423010337 5ustar debian/tests/control0000664000000000000000000000010112274146423011732 0ustar Tests: build Depends: build-essential, libcairo2-dev, pkg-config debian/tests/build0000664000000000000000000000246012274146423011363 0ustar #!/bin/sh # autopkgtest check: Builds a small application against libcairo2-dev, checking # if it compiles, links and runs successfully. # Author: Rafał Cieślak set -e WORKDIR=$(mktemp -d) trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM cd $WORKDIR cat < build_test.c /* The source code I used here is the actual cairo's HelloWorld from it's FAQ on cairographics.org. It should generate a .png file with some text inside. */ #include int main (int argc, char *argv[]) { cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 240, 80); cairo_t *cr = cairo_create (surface); cairo_select_font_face (cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size (cr, 32.0); cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); cairo_move_to (cr, 10.0, 50.0); cairo_show_text (cr, "Hello, world"); cairo_destroy (cr); cairo_surface_write_to_png (surface, "hello.png"); cairo_surface_destroy (surface); return 0; } EOF gcc -o build_test build_test.c `pkg-config --cflags --libs cairo` echo "build: OK" [ -x build_test ] ./build_test # Also checking if the generated image is actually present [ -e hello.png ] echo "run: OK" debian/libcairo2.install.in0000664000000000000000000000013712274146423013041 0ustar debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/libcairo.so.* /usr/lib/${DEB_HOST_MULTIARCH} debian/cairo-perf-utils.install.in0000664000000000000000000000031712274146423014360 0ustar debian/install/main/usr/bin/cairo-perf* /usr/bin debian/install/main/usr/bin/cairo-trace /usr/bin debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/cairo/libcairo-trace* /usr/lib/${DEB_HOST_MULTIARCH}/cairo debian/libcairo2.symbols0000664000000000000000000003652112300355604012455 0ustar libcairo.so.2 libcairo2 #MINVER# * Build-Depends-Package: libcairo2-dev cairo_append_path@Base 1.2.4 cairo_arc@Base 1.2.4 cairo_arc_negative@Base 1.2.4 cairo_clip@Base 1.2.4 cairo_clip_extents@Base 1.4.10 cairo_clip_preserve@Base 1.2.4 cairo_close_path@Base 1.2.4 cairo_copy_clip_rectangle_list@Base 1.4.10 cairo_copy_page@Base 1.2.4 cairo_copy_path@Base 1.2.4 cairo_copy_path_flat@Base 1.2.4 cairo_create@Base 1.2.4 cairo_curve_to@Base 1.2.4 cairo_debug_reset_static_data@Base 1.2.4 cairo_destroy@Base 1.2.4 cairo_device_acquire@Base 1.10.0 cairo_device_destroy@Base 1.10.0 cairo_device_finish@Base 1.10.0 cairo_device_flush@Base 1.10.0 cairo_device_get_reference_count@Base 1.10.0 cairo_device_get_type@Base 1.10.0 cairo_device_get_user_data@Base 1.10.0 cairo_device_observer_elapsed@Base 1.12.0 cairo_device_observer_fill_elapsed@Base 1.12.0 cairo_device_observer_glyphs_elapsed@Base 1.12.0 cairo_device_observer_mask_elapsed@Base 1.12.0 cairo_device_observer_paint_elapsed@Base 1.12.0 cairo_device_observer_print@Base 1.12.0 cairo_device_observer_stroke_elapsed@Base 1.12.0 cairo_device_reference@Base 1.10.0 cairo_device_release@Base 1.10.0 cairo_device_set_user_data@Base 1.10.0 cairo_device_status@Base 1.10.0 cairo_device_to_user@Base 1.2.4 cairo_device_to_user_distance@Base 1.2.4 cairo_fill@Base 1.2.4 cairo_fill_extents@Base 1.2.4 cairo_fill_preserve@Base 1.2.4 cairo_font_extents@Base 1.2.4 cairo_font_face_destroy@Base 1.2.4 cairo_font_face_get_reference_count@Base 1.4.10 cairo_font_face_get_type@Base 1.2.4 cairo_font_face_get_user_data@Base 1.2.4 cairo_font_face_reference@Base 1.2.4 cairo_font_face_set_user_data@Base 1.2.4 cairo_font_face_status@Base 1.2.4 cairo_font_options_copy@Base 1.2.4 cairo_font_options_create@Base 1.2.4 cairo_font_options_destroy@Base 1.2.4 cairo_font_options_equal@Base 1.2.4 cairo_font_options_get_antialias@Base 1.2.4 cairo_font_options_get_hint_metrics@Base 1.2.4 cairo_font_options_get_hint_style@Base 1.2.4 cairo_font_options_get_subpixel_order@Base 1.2.4 cairo_font_options_hash@Base 1.2.4 cairo_font_options_merge@Base 1.2.4 cairo_font_options_set_antialias@Base 1.2.4 cairo_font_options_set_hint_metrics@Base 1.2.4 cairo_font_options_set_hint_style@Base 1.2.4 cairo_font_options_set_subpixel_order@Base 1.2.4 cairo_font_options_status@Base 1.2.4 cairo_format_stride_for_width@Base 1.6.0 cairo_ft_font_face_create_for_ft_face@Base 1.2.4 cairo_ft_font_face_create_for_pattern@Base 1.2.4 cairo_ft_font_face_get_synthesize@Base 1.12.0 cairo_ft_font_face_set_synthesize@Base 1.12.0 cairo_ft_font_face_unset_synthesize@Base 1.12.0 cairo_ft_font_options_substitute@Base 1.2.4 cairo_ft_scaled_font_lock_face@Base 1.2.4 cairo_ft_scaled_font_unlock_face@Base 1.2.4 cairo_get_antialias@Base 1.2.4 cairo_get_current_point@Base 1.2.4 cairo_get_dash@Base 1.4.10 cairo_get_dash_count@Base 1.4.10 cairo_get_fill_rule@Base 1.2.4 cairo_get_font_face@Base 1.2.4 cairo_get_font_matrix@Base 1.2.4 cairo_get_font_options@Base 1.2.4 cairo_get_group_target@Base 1.2.4 cairo_get_line_cap@Base 1.2.4 cairo_get_line_join@Base 1.2.4 cairo_get_line_width@Base 1.2.4 cairo_get_matrix@Base 1.2.4 cairo_get_miter_limit@Base 1.2.4 cairo_get_operator@Base 1.2.4 cairo_get_reference_count@Base 1.4.10 cairo_get_scaled_font@Base 1.4.10 cairo_get_source@Base 1.2.4 cairo_get_target@Base 1.2.4 cairo_get_tolerance@Base 1.2.4 cairo_get_user_data@Base 1.4.10 cairo_glyph_allocate@Base 1.7.2 cairo_glyph_extents@Base 1.2.4 cairo_glyph_free@Base 1.7.2 cairo_glyph_path@Base 1.2.4 cairo_has_current_point@Base 1.6.0 cairo_identity_matrix@Base 1.2.4 cairo_image_surface_create@Base 1.2.4 cairo_image_surface_create_for_data@Base 1.2.4 cairo_image_surface_create_from_png@Base 1.2.4 cairo_image_surface_create_from_png_stream@Base 1.2.4 cairo_image_surface_get_data@Base 1.2.4 cairo_image_surface_get_format@Base 1.2.4 cairo_image_surface_get_height@Base 1.2.4 cairo_image_surface_get_stride@Base 1.2.4 cairo_image_surface_get_width@Base 1.2.4 cairo_in_clip@Base 1.10.0 cairo_in_fill@Base 1.2.4 cairo_in_stroke@Base 1.2.4 cairo_line_to@Base 1.2.4 cairo_mask@Base 1.2.4 cairo_mask_surface@Base 1.2.4 cairo_matrix_init@Base 1.2.4 cairo_matrix_init_identity@Base 1.2.4 cairo_matrix_init_rotate@Base 1.2.4 cairo_matrix_init_scale@Base 1.2.4 cairo_matrix_init_translate@Base 1.2.4 cairo_matrix_invert@Base 1.2.4 cairo_matrix_multiply@Base 1.2.4 cairo_matrix_rotate@Base 1.2.4 cairo_matrix_scale@Base 1.2.4 cairo_matrix_transform_distance@Base 1.2.4 cairo_matrix_transform_point@Base 1.2.4 cairo_matrix_translate@Base 1.2.4 cairo_mesh_pattern_begin_patch@Base 1.12.0 cairo_mesh_pattern_curve_to@Base 1.12.0 cairo_mesh_pattern_end_patch@Base 1.12.0 cairo_mesh_pattern_get_control_point@Base 1.12.0 cairo_mesh_pattern_get_corner_color_rgba@Base 1.12.0 cairo_mesh_pattern_get_patch_count@Base 1.12.0 cairo_mesh_pattern_get_path@Base 1.12.0 cairo_mesh_pattern_line_to@Base 1.12.0 cairo_mesh_pattern_move_to@Base 1.12.0 cairo_mesh_pattern_set_control_point@Base 1.12.0 cairo_mesh_pattern_set_corner_color_rgb@Base 1.12.0 cairo_mesh_pattern_set_corner_color_rgba@Base 1.12.0 cairo_move_to@Base 1.2.4 cairo_new_path@Base 1.2.4 cairo_new_sub_path@Base 1.2.4 cairo_paint@Base 1.2.4 cairo_paint_with_alpha@Base 1.2.4 cairo_path_destroy@Base 1.2.4 cairo_path_extents@Base 1.6.0 cairo_pattern_add_color_stop_rgb@Base 1.2.4 cairo_pattern_add_color_stop_rgba@Base 1.2.4 cairo_pattern_create_for_surface@Base 1.2.4 cairo_pattern_create_linear@Base 1.2.4 cairo_pattern_create_mesh@Base 1.12.0 cairo_pattern_create_radial@Base 1.2.4 cairo_pattern_create_raster_source@Base 1.12.0 cairo_pattern_create_rgb@Base 1.2.4 cairo_pattern_create_rgba@Base 1.2.4 cairo_pattern_destroy@Base 1.2.4 cairo_pattern_get_color_stop_count@Base 1.4.10 cairo_pattern_get_color_stop_rgba@Base 1.4.10 cairo_pattern_get_extend@Base 1.2.4 cairo_pattern_get_filter@Base 1.2.4 cairo_pattern_get_linear_points@Base 1.4.10 cairo_pattern_get_matrix@Base 1.2.4 cairo_pattern_get_radial_circles@Base 1.4.10 cairo_pattern_get_reference_count@Base 1.4.10 cairo_pattern_get_rgba@Base 1.4.10 cairo_pattern_get_surface@Base 1.4.10 cairo_pattern_get_type@Base 1.2.4 cairo_pattern_get_user_data@Base 1.4.10 cairo_pattern_reference@Base 1.2.4 cairo_pattern_set_extend@Base 1.2.4 cairo_pattern_set_filter@Base 1.2.4 cairo_pattern_set_matrix@Base 1.2.4 cairo_pattern_set_user_data@Base 1.4.10 cairo_pattern_status@Base 1.2.4 cairo_pdf_get_versions@Base 1.10.0 cairo_pdf_surface_create@Base 1.2.4 cairo_pdf_surface_create_for_stream@Base 1.2.4 cairo_pdf_surface_restrict_to_version@Base 1.10.0 cairo_pdf_surface_set_size@Base 1.2.4 cairo_pdf_version_to_string@Base 1.10.0 cairo_pop_group@Base 1.2.4 cairo_pop_group_to_source@Base 1.2.4 cairo_ps_get_levels@Base 1.6.0 cairo_ps_level_to_string@Base 1.6.0 cairo_ps_surface_create@Base 1.2.4 cairo_ps_surface_create_for_stream@Base 1.2.4 cairo_ps_surface_dsc_begin_page_setup@Base 1.2.4 cairo_ps_surface_dsc_begin_setup@Base 1.2.4 cairo_ps_surface_dsc_comment@Base 1.2.4 cairo_ps_surface_get_eps@Base 1.6.0 cairo_ps_surface_restrict_to_level@Base 1.6.0 cairo_ps_surface_set_eps@Base 1.6.0 cairo_ps_surface_set_size@Base 1.2.4 cairo_push_group@Base 1.2.4 cairo_push_group_with_content@Base 1.2.4 cairo_raster_source_pattern_get_acquire@Base 1.12.0 cairo_raster_source_pattern_get_callback_data@Base 1.12.0 cairo_raster_source_pattern_get_copy@Base 1.12.0 cairo_raster_source_pattern_get_finish@Base 1.12.0 cairo_raster_source_pattern_get_snapshot@Base 1.12.0 cairo_raster_source_pattern_set_acquire@Base 1.12.0 cairo_raster_source_pattern_set_callback_data@Base 1.12.0 cairo_raster_source_pattern_set_copy@Base 1.12.0 cairo_raster_source_pattern_set_finish@Base 1.12.0 cairo_raster_source_pattern_set_snapshot@Base 1.12.0 cairo_recording_surface_create@Base 1.10.0 cairo_recording_surface_get_extents@Base 1.12.0 cairo_recording_surface_ink_extents@Base 1.10.0 cairo_rectangle@Base 1.2.4 cairo_rectangle_list_destroy@Base 1.4.10 cairo_reference@Base 1.2.4 cairo_region_contains_point@Base 1.10.0 cairo_region_contains_rectangle@Base 1.10.0 cairo_region_copy@Base 1.10.0 cairo_region_create@Base 1.10.0 cairo_region_create_rectangle@Base 1.10.0 cairo_region_create_rectangles@Base 1.10.0 cairo_region_destroy@Base 1.10.0 cairo_region_equal@Base 1.10.0 cairo_region_get_extents@Base 1.10.0 cairo_region_get_rectangle@Base 1.10.0 cairo_region_intersect@Base 1.10.0 cairo_region_intersect_rectangle@Base 1.10.0 cairo_region_is_empty@Base 1.10.0 cairo_region_num_rectangles@Base 1.10.0 cairo_region_reference@Base 1.10.0 cairo_region_status@Base 1.10.0 cairo_region_subtract@Base 1.10.0 cairo_region_subtract_rectangle@Base 1.10.0 cairo_region_translate@Base 1.10.0 cairo_region_union@Base 1.10.0 cairo_region_union_rectangle@Base 1.10.0 cairo_region_xor@Base 1.10.0 cairo_region_xor_rectangle@Base 1.10.0 cairo_rel_curve_to@Base 1.2.4 cairo_rel_line_to@Base 1.2.4 cairo_rel_move_to@Base 1.2.4 cairo_reset_clip@Base 1.2.4 cairo_restore@Base 1.2.4 cairo_rotate@Base 1.2.4 cairo_save@Base 1.2.4 cairo_scale@Base 1.2.4 cairo_scaled_font_create@Base 1.2.4 cairo_scaled_font_destroy@Base 1.2.4 cairo_scaled_font_extents@Base 1.2.4 cairo_scaled_font_get_ctm@Base 1.2.4 cairo_scaled_font_get_font_face@Base 1.2.4 cairo_scaled_font_get_font_matrix@Base 1.2.4 cairo_scaled_font_get_font_options@Base 1.2.4 cairo_scaled_font_get_reference_count@Base 1.4.10 cairo_scaled_font_get_scale_matrix@Base 1.7.2 cairo_scaled_font_get_type@Base 1.2.4 cairo_scaled_font_get_user_data@Base 1.4.10 cairo_scaled_font_glyph_extents@Base 1.2.4 cairo_scaled_font_reference@Base 1.2.4 cairo_scaled_font_set_user_data@Base 1.4.10 cairo_scaled_font_status@Base 1.2.4 cairo_scaled_font_text_extents@Base 1.2.4 cairo_scaled_font_text_to_glyphs@Base 1.7.2 cairo_script_create@Base 1.12.0 cairo_script_create_for_stream@Base 1.12.0 cairo_script_from_recording_surface@Base 1.12.0 cairo_script_get_mode@Base 1.12.0 cairo_script_set_mode@Base 1.12.0 cairo_script_surface_create@Base 1.12.0 cairo_script_surface_create_for_target@Base 1.12.0 cairo_script_write_comment@Base 1.12.0 cairo_select_font_face@Base 1.2.4 cairo_set_antialias@Base 1.2.4 cairo_set_dash@Base 1.2.4 cairo_set_fill_rule@Base 1.2.4 cairo_set_font_face@Base 1.2.4 cairo_set_font_matrix@Base 1.2.4 cairo_set_font_options@Base 1.2.4 cairo_set_font_size@Base 1.2.4 cairo_set_line_cap@Base 1.2.4 cairo_set_line_join@Base 1.2.4 cairo_set_line_width@Base 1.2.4 cairo_set_matrix@Base 1.2.4 cairo_set_miter_limit@Base 1.2.4 cairo_set_operator@Base 1.2.4 cairo_set_scaled_font@Base 1.2.4 cairo_set_source@Base 1.2.4 cairo_set_source_rgb@Base 1.2.4 cairo_set_source_rgba@Base 1.2.4 cairo_set_source_surface@Base 1.2.4 cairo_set_tolerance@Base 1.2.4 cairo_set_user_data@Base 1.4.10 cairo_show_glyphs@Base 1.2.4 cairo_show_page@Base 1.2.4 cairo_show_text@Base 1.2.4 cairo_show_text_glyphs@Base 1.7.2 cairo_status@Base 1.2.4 cairo_status_to_string@Base 1.2.4 cairo_stroke@Base 1.2.4 cairo_stroke_extents@Base 1.2.4 cairo_stroke_preserve@Base 1.2.4 cairo_surface_copy_page@Base 1.6.0 cairo_surface_create_for_rectangle@Base 1.10.0 cairo_surface_create_observer@Base 1.12.0 cairo_surface_create_similar@Base 1.2.4 cairo_surface_create_similar_image@Base 1.12.0 cairo_surface_destroy@Base 1.2.4 cairo_surface_finish@Base 1.2.4 cairo_surface_flush@Base 1.2.4 cairo_surface_get_content@Base 1.2.4 cairo_surface_get_device@Base 1.10.0 cairo_surface_get_device_offset@Base 1.2.4 cairo_surface_get_device_scale@Base 1.13.0~20140204 cairo_surface_get_fallback_resolution@Base 1.7.2 cairo_surface_get_font_options@Base 1.2.4 cairo_surface_get_mime_data@Base 1.10.0 cairo_surface_get_reference_count@Base 1.4.10 cairo_surface_get_type@Base 1.2.4 cairo_surface_get_user_data@Base 1.2.4 cairo_surface_has_show_text_glyphs@Base 1.8.0 cairo_surface_map_to_image@Base 1.12.0 cairo_surface_mark_dirty@Base 1.2.4 cairo_surface_mark_dirty_rectangle@Base 1.2.4 cairo_surface_observer_add_fill_callback@Base 1.12.0 cairo_surface_observer_add_finish_callback@Base 1.12.0 cairo_surface_observer_add_flush_callback@Base 1.12.0 cairo_surface_observer_add_glyphs_callback@Base 1.12.0 cairo_surface_observer_add_mask_callback@Base 1.12.0 cairo_surface_observer_add_paint_callback@Base 1.12.0 cairo_surface_observer_add_stroke_callback@Base 1.12.0 cairo_surface_observer_elapsed@Base 1.12.0 cairo_surface_observer_print@Base 1.12.0 cairo_surface_reference@Base 1.2.4 cairo_surface_set_device_offset@Base 1.2.4 cairo_surface_set_device_scale@Base 1.13.0~20140204 cairo_surface_set_fallback_resolution@Base 1.2.4 cairo_surface_set_mime_data@Base 1.10.0 cairo_surface_set_user_data@Base 1.2.4 cairo_surface_show_page@Base 1.6.0 cairo_surface_status@Base 1.2.4 cairo_surface_supports_mime_type@Base 1.12.0 cairo_surface_unmap_image@Base 1.12.0 cairo_surface_write_to_png@Base 1.2.4 cairo_surface_write_to_png_stream@Base 1.2.4 cairo_svg_get_versions@Base 1.2.4 cairo_svg_surface_create@Base 1.2.4 cairo_svg_surface_create_for_stream@Base 1.2.4 cairo_svg_surface_restrict_to_version@Base 1.2.4 cairo_svg_version_to_string@Base 1.2.4 cairo_tee_surface_add@Base 1.10.2-2~ cairo_tee_surface_create@Base 1.10.2-2~ cairo_tee_surface_index@Base 1.10.2-2~ cairo_tee_surface_remove@Base 1.10.2-2~ cairo_text_cluster_allocate@Base 1.7.2 cairo_text_cluster_free@Base 1.7.2 cairo_text_extents@Base 1.2.4 cairo_text_path@Base 1.2.4 cairo_toy_font_face_create@Base 1.7.2 cairo_toy_font_face_get_family@Base 1.7.2 cairo_toy_font_face_get_slant@Base 1.7.2 cairo_toy_font_face_get_weight@Base 1.7.2 cairo_transform@Base 1.2.4 cairo_translate@Base 1.2.4 cairo_user_font_face_create@Base 1.7.2 cairo_user_font_face_get_init_func@Base 1.7.2 cairo_user_font_face_get_render_glyph_func@Base 1.7.2 cairo_user_font_face_get_text_to_glyphs_func@Base 1.7.2 cairo_user_font_face_get_unicode_to_glyph_func@Base 1.7.2 cairo_user_font_face_set_init_func@Base 1.7.2 cairo_user_font_face_set_render_glyph_func@Base 1.7.2 cairo_user_font_face_set_text_to_glyphs_func@Base 1.7.2 cairo_user_font_face_set_unicode_to_glyph_func@Base 1.7.2 cairo_user_to_device@Base 1.2.4 cairo_user_to_device_distance@Base 1.2.4 cairo_version@Base 1.2.4 cairo_version_string@Base 1.2.4 cairo_xcb_device_debug_cap_xrender_version@Base 1.10.0 cairo_xcb_device_debug_cap_xshm_version@Base 1.10.0 cairo_xcb_device_debug_get_precision@Base 1.12.0 cairo_xcb_device_debug_set_precision@Base 1.12.0 cairo_xcb_device_get_connection@Base 1.12.0 cairo_xcb_surface_create@Base 1.6.4-5~ cairo_xcb_surface_create_for_bitmap@Base 1.6.4-5~ cairo_xcb_surface_create_with_xrender_format@Base 1.6.4-5~ cairo_xcb_surface_set_drawable@Base 1.12.0 cairo_xcb_surface_set_size@Base 1.6.4-5~ cairo_xlib_device_debug_cap_xrender_version@Base 1.12.0 cairo_xlib_device_debug_get_precision@Base 1.12.0 cairo_xlib_device_debug_set_precision@Base 1.12.0 cairo_xlib_surface_create@Base 1.2.4 cairo_xlib_surface_create_for_bitmap@Base 1.2.4 cairo_xlib_surface_create_with_xrender_format@Base 1.2.4 cairo_xlib_surface_get_depth@Base 1.2.4 cairo_xlib_surface_get_display@Base 1.2.4 cairo_xlib_surface_get_drawable@Base 1.2.4 cairo_xlib_surface_get_height@Base 1.2.4 cairo_xlib_surface_get_screen@Base 1.2.4 cairo_xlib_surface_get_visual@Base 1.2.4 cairo_xlib_surface_get_width@Base 1.2.4 cairo_xlib_surface_get_xrender_format@Base 1.6.0 cairo_xlib_surface_set_drawable@Base 1.2.4 cairo_xlib_surface_set_size@Base 1.2.4 debian/control0000664000000000000000000001376112274146423010610 0ustar Source: cairo Section: libs Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Dave Beckett Uploaders: Sebastian Dröge , Emilio Pozuelo Monfort Build-Depends: debhelper (>= 8.1.3), dpkg-dev (>= 1.14.13), dh-autoreconf, pkg-config (>= 0.19), libfontconfig1-dev (>= 2.2.95), libfreetype6-dev (>= 2.1.10), libxrender-dev (>= 1:0.9.5-2), libx11-dev (>= 2:1.3.3-2), libxext-dev, libpng-dev, libsm-dev, xutils-dev, libxt-dev, libpixman-1-dev (>= 0.22.0), libxcb1-dev (>= 1.6), libxcb-render0-dev (>= 1.6), libxcb-shm0-dev, # libgl1-mesa-dev, # libegl1-mesa-dev [!hurd-any], libglib2.0-dev, zlib1g-dev, liblzo2-dev Standards-Version: 3.8.4 Vcs-Git: git://git.debian.org/git/collab-maint/cairo.git Vcs-Browser: http://git.debian.org/?p=collab-maint/cairo.git Homepage: http://cairographics.org/ Package: libcairo2-dev Section: libdevel Architecture: any Depends: libcairo2 (= ${binary:Version}), libcairo-gobject2 (= ${binary:Version}), libcairo-script-interpreter2 (= ${binary:Version}), libfontconfig1-dev (>= 2.2.95), libfreetype6-dev (>= 2.1.10), libx11-dev, libxrender-dev (>= 0.6), libpng-dev, libsm-dev, libpixman-1-dev (>= 0.22.0), libxcb1-dev (>= 1.6), libxcb-render0-dev (>= 1.6), libxcb-shm0-dev, libxext-dev, # libgl1-mesa-dev, # libegl1-mesa-dev [!hurd-any], libglib2.0-dev, ${shlibs:Depends}, ${misc:Depends} Provides: libcairo-dev Suggests: libcairo2-doc XS-Testsuite: autopkgtest Description: Development files for the Cairo 2D graphics library Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. . This package contains the development libraries, header files needed by programs that want to compile with Cairo. Package: libcairo2 Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Breaks: xulrunner-1.9.1 (<= 1.9.1.8-3), xulrunner-1.9, iceape-browser (<= 2.0.3-3), libgtk-directfb-2.0-0 Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: The Cairo 2D vector graphics library Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. Paths consist of line segments and cubic splines and can be rendered at any width with various join and cap styles. All colors may be specified with optional translucence (opacity/alpha) and combined using the extended Porter/Duff compositing algebra as found in the X Render Extension. . Cairo exports a stateful rendering API similar in spirit to the path construction, text, and painting operators of PostScript, (with the significant addition of translucence in the imaging model). When complete, the API is intended to support the complete imaging model of PDF 1.4. . This package contains the shared libraries. Package: libcairo2-dbg Section: debug Priority: extra Architecture: any Depends: libcairo2 (= ${binary:Version}), ${misc:Depends} Suggests: libcairo-gobject2 (= ${binary:Version}), libcairo-script-interpreter2 (= ${binary:Version}), cairo-perf-utils (= ${binary:Version}) Multi-Arch: same Description: The Cairo 2D vector graphics library (debugging symbols) Debugging symbols for the Cairo 2D vector graphics library. This is needed to debug programs linked against libcairo2. Package: libcairo2-doc Section: doc Architecture: all Depends: ${misc:Depends} Recommends: lynx | www-browser Description: Documentation for the Cairo Multi-platform 2D graphics library Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. . This package contains the HTML documentation for the Cairo library in /usr/share/gtk-doc/html/cairo/. Package: libcairo-script-interpreter2 Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: The Cairo 2D vector graphics library (script interpreter) Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. . This package contains the script interpreter for executing and manipulating cairo execution traces. Package: libcairo-gobject2 Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: The Cairo 2D vector graphics library (GObject library) Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. . This package contains the GObject library, providing wrapper GObject types for all cairo types. Package: cairo-perf-utils Section: misc Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: The Cairo 2D vector graphics library performance utilities Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. . This package contains a set of utilities for capturing and replaying cairo execution traces using various backends, in order to be able to measure the performance of cairo for real-world applications in a reproducible way. Package: libcairo2-udeb XC-Package-Type: udeb Section: debian-installer Architecture: any Depends: ${shlibs:Depends} Description: The Cairo 2D vector graphics library Xlib backend Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. . This is version of cairo with only the Xlib backend, intended primarily for use in the graphical Debian installer. debian/libcairo2-doc.install0000664000000000000000000000011112274146423013167 0ustar debian/install/main/usr/share/gtk-doc/html/cairo /usr/share/gtk-doc/html debian/libcairo-script-interpreter2.install.in0000664000000000000000000000016212274146423016702 0ustar debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/libcairo-script-interpreter.so.* /usr/lib/${DEB_HOST_MULTIARCH} debian/compat0000664000000000000000000000000212274146423010373 0ustar 7 debian/watch0000664000000000000000000000013212274146423010222 0ustar version=2 http://cairographics.org/releases/ cairo-([\d+\.]+|\d+)\.tar\.gz debian uupdate debian/cairo-perf-utils.README.Debian0000664000000000000000000000056212274146423014425 0ustar This package contains utilities to capture and replay cairo execution traces. A repository of such traces can be downloaded using: git://anongit.freedesktop.org/cairo-traces cd cairo-traces && make Then run: CAIRO_TRACE_DIR= cairo-perf-trace The CAIRO_TEST_TARGET env. variable can be used to specify the target backend to use eg CAIRO_TEST_TARGET=xlib. debian/libcairo2-doc.doc-base0000664000000000000000000000060112274146423013202 0ustar Document: libcairo2-doc Title: Cairo Reference Manual Author: Cairo Project Abstract: Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. This document covers programming using the Cairo library. Section: Programming/C Format: HTML Index: /usr/share/gtk-doc/html/cairo/index.html Files: /usr/share/gtk-doc/html/cairo/*.html debian/libcairo2-dev.install.in0000664000000000000000000000070112274146423013612 0ustar debian/install/main/usr/include/cairo/*.h /usr/include/cairo debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/libcairo*.so usr/lib/${DEB_HOST_MULTIARCH} debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/libcairo*.a usr/lib/${DEB_HOST_MULTIARCH} debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/libcairo*.la usr/lib/${DEB_HOST_MULTIARCH} debian/install/main/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/cairo*.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig debian/patches/0000775000000000000000000000000012274147631010626 5ustar debian/patches/05-flto.patch0000664000000000000000000000147212274146423013037 0ustar Disable -flto as it is currently doesn't work with -Wl,--as-needed Index: cairo/build/configure.ac.warnings =================================================================== --- cairo.orig/build/configure.ac.warnings 2013-01-18 11:06:11.108627702 +0100 +++ cairo/build/configure.ac.warnings 2013-01-18 11:06:11.108627702 +0100 @@ -36,16 +36,6 @@ dnl We also abuse the warning-flag facility to enable other compiler dnl options. Namely, the following: -dnl -flto working really needs a test link, not just a compile - -safe_MAYBE_WARN="$MAYBE_WARN" -MAYBE_WARN="$MAYBE_WARN -flto" -AC_TRY_LINK([],[ - int main(int argc, char **argv) { return 0; } -],[],[ - MAYBE_WARN="$safe_MAYBE_WARN" -]) - MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common" dnl Also to turn various gcc/glibc-specific preprocessor checks debian/patches/01_build_perf_utils.patch0000664000000000000000000000401012274146423015473 0ustar Description: Build cairo-perf-utils as part of then normal build process. Author: Alexandros Frantzis Bug: https://bugs.freedesktop.org/show_bug.cgi?id=28865 Last-Update: 2010-08-03 Index: cairo/configure.ac =================================================================== --- cairo.orig/configure.ac 2012-10-08 10:21:12.572973848 +0200 +++ cairo/configure.ac 2012-10-08 10:21:17.528973922 +0200 @@ -808,6 +808,11 @@ PKG_CHECK_MODULES(gtk, "gtk+-2.0",have_gtk=yes, have_gtk=no) AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes") +dnl =========================================================================== + +CAIRO_ENABLE(perf_utils, cairo-perf-utils, no, [use_perf_utils=yes]) + + AC_CONFIG_FILES([ Makefile boilerplate/Makefile Index: cairo/perf/Makefile.am =================================================================== --- cairo.orig/perf/Makefile.am 2012-10-08 10:21:12.572973848 +0200 +++ cairo/perf/Makefile.am 2012-10-08 10:21:17.528973922 +0200 @@ -15,11 +15,25 @@ SUBDIRS = micro +if CAIRO_HAS_PERF_UTILS +bin_PROGRAMS = cairo-analyse-trace \ + cairo-perf-micro \ + cairo-perf-trace \ + cairo-perf-diff-files \ + cairo-perf-print \ + cairo-perf-chart \ + cairo-perf-compare-backends +if HAVE_GTK +bin_PROGRAMS += cairo-perf-graph-files +endif + +else noinst_PROGRAMS = \ cairo-analyse-trace \ cairo-perf-trace \ cairo-perf-micro \ $(NULL) +endif EXTRA_PROGRAMS += \ cairo-analyse-trace \ Index: cairo/build/configure.ac.features =================================================================== --- cairo.orig/build/configure.ac.features 2012-10-08 10:21:12.572973848 +0200 +++ cairo/build/configure.ac.features 2012-10-08 10:21:17.528973922 +0200 @@ -408,6 +408,7 @@ echo "The following features and utilities:" echo " cairo-trace: $use_trace" echo " cairo-script-interpreter: $use_interpreter" + echo " cairo-perf-utils: $use_perf_utils" echo "" echo "And the following internal features:" echo " pthread: $use_pthread" debian/patches/server_side_gradients.patch0000664000000000000000000000136212274146423016221 0ustar # Description: don't use server side gradients most drivers don't handle it Index: cairo-1.12.2/src/cairo-xlib-display.c =================================================================== --- cairo-1.12.2.orig/src/cairo-xlib-display.c 2012-04-25 21:53:19.000000000 +1200 +++ cairo-1.12.2/src/cairo-xlib-display.c 2012-05-17 16:06:18.543220800 +1200 @@ -266,11 +266,7 @@ /* Prior to Render 0.10, there is no protocol support for gradients and * we call function stubs instead, which would silently consume the drawing. */ -#if RENDER_MAJOR == 0 && RENDER_MINOR < 10 display->buggy_gradients = TRUE; -#else - display->buggy_gradients = FALSE; -#endif display->buggy_pad_reflect = FALSE; display->buggy_repeat = FALSE; debian/patches/03_export-symbols.patch0000664000000000000000000000424012274146423015156 0ustar Index: cairo/src/Makefile.am =================================================================== --- cairo.orig/src/Makefile.am 2013-01-18 11:05:30.064627087 +0100 +++ cairo/src/Makefile.am 2013-01-18 11:05:30.060627087 +0100 @@ -44,7 +44,7 @@ $(enabled_cairo_private) \ $(enabled_cairo_sources) \ $(NULL) -libcairo_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) +libcairo_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.* libcairo_la_LIBADD = $(CAIRO_LIBS) \ $(cairo_cxx_lib) libcairo_la_DEPENDENCIES = $(cairo_def_dependency) $(cairo_cxx_lib) Index: cairo/util/cairo-gobject/Makefile.am =================================================================== --- cairo.orig/util/cairo-gobject/Makefile.am 2013-01-18 11:05:30.064627087 +0100 +++ cairo/util/cairo-gobject/Makefile.am 2013-01-18 11:05:30.060627087 +0100 @@ -10,6 +10,6 @@ $(NULL) libcairo_gobject_la_CFLAGS = $(CAIRO_CFLAGS) $(GOBJECT_CFLAGS) -libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) +libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.* libcairo_gobject_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(GOBJECT_LIBS) Index: cairo/util/cairo-script/Makefile.am =================================================================== --- cairo.orig/util/cairo-script/Makefile.am 2013-01-18 11:05:30.064627087 +0100 +++ cairo/util/cairo-script/Makefile.am 2013-01-18 11:05:54.468627453 +0100 @@ -14,7 +14,7 @@ $(libcairo_script_interpreter_headers) \ $(NULL) libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS) -libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) +libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.* libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(lzo_LIBS) -lz csi_replay_SOURCES = csi-replay.c debian/patches/series0000664000000000000000000000022412274147631012041 0ustar 01_build_perf_utils.patch 02_am-maintainer-mode.patch 03_export-symbols.patch 05-flto.patch 06_hurd-map-noreserve.patch server_side_gradients.patch debian/patches/02_am-maintainer-mode.patch0000664000000000000000000000067212274146423015617 0ustar Index: cairo-1.12.16/configure.ac =================================================================== --- cairo-1.12.16.orig/configure.ac 2013-08-27 14:33:51.771500300 +0200 +++ cairo-1.12.16/configure.ac 2013-08-27 14:33:51.767500300 +0200 @@ -14,6 +14,7 @@ AC_CHECK_HEADERS([unistd.h sys/ioctl.h]) AM_INIT_AUTOMAKE([1.11 foreign -Wall no-define no-dist-gzip dist-xz]) +AM_MAINTAINER_MODE AM_SILENT_RULES([yes]) # Initialize libtool debian/patches/06_hurd-map-noreserve.patch0000664000000000000000000000162312274146423015677 0ustar Index: cairo/test/cairo-test-trace.c =================================================================== --- cairo.orig/test/cairo-test-trace.c 2012-03-30 09:38:27.937300339 +0200 +++ cairo/test/cairo-test-trace.c 2012-03-30 09:48:31.833279021 +0200 @@ -541,7 +541,11 @@ base = mmap (NULL, DATA_SIZE, PROT_READ | PROT_WRITE, +#ifdef MAP_NORESERVE MAP_SHARED | MAP_NORESERVE, +#else + MAP_SHARED, +#endif fd, 0); close (fd); Index: cairo/util/cairo-sphinx/sphinx.c =================================================================== --- cairo.orig/util/cairo-sphinx/sphinx.c 2012-03-30 09:38:28.269300327 +0200 +++ cairo/util/cairo-sphinx/sphinx.c 2012-03-30 09:48:00.657280122 +0200 @@ -1325,7 +1325,11 @@ base = mmap (NULL, DATA_SIZE, PROT_READ | PROT_WRITE, +#ifdef MAP_NORESERVE MAP_SHARED | MAP_NORESERVE, +#else + MAP_SHARED, +#endif fd, 0); close (fd); debian/patches/pdf-output-mime-data-embedding.patch0000664000000000000000000000321312274146423017523 0ustar --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -2664,6 +2664,18 @@ cairo_int_status_t status; if (source->type == CAIRO_PATTERN_TYPE_SURFACE) { + if (!source->hash_entry->stencil_mask) { + status = _cairo_pdf_surface_emit_jpx_image (surface, source->surface, source->hash_entry->surface_res); + if (status != CAIRO_INT_STATUS_UNSUPPORTED) + return status; + + status = _cairo_pdf_surface_emit_jpeg_image (surface, source->surface, source->hash_entry->surface_res); + if (status != CAIRO_INT_STATUS_UNSUPPORTED) + return status; + } + } + + if (source->type == CAIRO_PATTERN_TYPE_SURFACE) { status = _cairo_surface_acquire_source_image (source->surface, &image, &image_extra); } else { status = _cairo_pdf_surface_acquire_source_image_from_pattern (surface, source->raster_pattern, @@ -2672,22 +2684,11 @@ if (unlikely (status)) return status; - if (!source->hash_entry->stencil_mask) { - status = _cairo_pdf_surface_emit_jpx_image (surface, &image->base, source->hash_entry->surface_res); - if (status != CAIRO_INT_STATUS_UNSUPPORTED) - goto release_source; - - status = _cairo_pdf_surface_emit_jpeg_image (surface, &image->base, source->hash_entry->surface_res); - if (status != CAIRO_INT_STATUS_UNSUPPORTED) - goto release_source; - } - status = _cairo_pdf_surface_emit_image (surface, image, &source->hash_entry->surface_res, source->hash_entry->interpolate, source->hash_entry->stencil_mask); -release_source: if (source->type == CAIRO_PATTERN_TYPE_SURFACE) _cairo_surface_release_source_image (source->surface, image, image_extra); else debian/patches/pdf-output-avoid-transparency.patch0000664000000000000000000005133012274146423017565 0ustar --- a/src/cairo-pdf-surface-private.h +++ b/src/cairo-pdf-surface-private.h @@ -70,6 +70,7 @@ unsigned int id; unsigned char *unique_id; unsigned long unique_id_length; + cairo_operator_t operator; cairo_bool_t interpolate; cairo_bool_t stencil_mask; cairo_pdf_resource_t surface_res; @@ -92,6 +93,7 @@ cairo_pattern_t *pattern; cairo_pdf_resource_t pattern_res; cairo_pdf_resource_t gstate_res; + cairo_operator_t operator; cairo_bool_t is_shading; } cairo_pdf_pattern_t; --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -1282,6 +1282,7 @@ * @surface: the pdf surface * @source_surface: A #cairo_surface_t to use as the source surface * @source_pattern: A #cairo_pattern_t of type SURFACE or RASTER_SOURCE to use as the source + * @op: the operator used to composite this source * @filter: filter type of the source pattern * @stencil_mask: if true, the surface will be written to the PDF as an /ImageMask * @extents: extents of the operation that is using this source @@ -1306,6 +1307,7 @@ _cairo_pdf_surface_add_source_surface (cairo_pdf_surface_t *surface, cairo_surface_t *source_surface, const cairo_pattern_t *source_pattern, + cairo_operator_t op, cairo_filter_t filter, cairo_bool_t stencil_mask, const cairo_rectangle_int_t *extents, @@ -1406,6 +1408,7 @@ } surface_entry->id = surface_key.id; + surface_entry->operator = op; surface_entry->interpolate = interpolate; surface_entry->stencil_mask = stencil_mask; surface_entry->unique_id_length = unique_id_length; @@ -1466,6 +1469,7 @@ static cairo_int_status_t _cairo_pdf_surface_add_pdf_pattern_or_shading (cairo_pdf_surface_t *surface, const cairo_pattern_t *pattern, + cairo_operator_t op, const cairo_rectangle_int_t *extents, cairo_bool_t is_shading, cairo_pdf_resource_t *pattern_res, @@ -1475,6 +1479,7 @@ cairo_int_status_t status; pdf_pattern.is_shading = is_shading; + pdf_pattern.operator = op; /* Solid colors are emitted into the content stream */ if (pattern->type == CAIRO_PATTERN_TYPE_SOLID) { @@ -1550,12 +1555,14 @@ static cairo_int_status_t _cairo_pdf_surface_add_pdf_shading (cairo_pdf_surface_t *surface, const cairo_pattern_t *pattern, + cairo_operator_t op, const cairo_rectangle_int_t *extents, cairo_pdf_resource_t *shading_res, cairo_pdf_resource_t *gstate_res) { return _cairo_pdf_surface_add_pdf_pattern_or_shading (surface, pattern, + op, extents, TRUE, shading_res, @@ -1565,12 +1572,14 @@ static cairo_int_status_t _cairo_pdf_surface_add_pdf_pattern (cairo_pdf_surface_t *surface, const cairo_pattern_t *pattern, + cairo_operator_t op, const cairo_rectangle_int_t *extents, cairo_pdf_resource_t *pattern_res, cairo_pdf_resource_t *gstate_res) { return _cairo_pdf_surface_add_pdf_pattern_or_shading (surface, pattern, + op, extents, FALSE, pattern_res, @@ -1846,7 +1855,8 @@ _cairo_pdf_surface_open_content_stream (cairo_pdf_surface_t *surface, const cairo_box_double_t *bbox, cairo_pdf_resource_t *resource, - cairo_bool_t is_form) + cairo_bool_t is_form, + cairo_bool_t is_group) { cairo_int_status_t status; @@ -1860,25 +1870,41 @@ if (is_form) { assert (bbox != NULL); - status = - _cairo_pdf_surface_open_stream (surface, - resource, - surface->compress_content, - " /Type /XObject\n" - " /Subtype /Form\n" - " /BBox [ %f %f %f %f ]\n" - " /Group <<\n" - " /Type /Group\n" - " /S /Transparency\n" - " /I true\n" - " /CS /DeviceRGB\n" - " >>\n" - " /Resources %d 0 R\n", - bbox->p1.x, - bbox->p1.y, - bbox->p2.x, - bbox->p2.y, - surface->content_resources.id); + if (is_group) { + status = + _cairo_pdf_surface_open_stream (surface, + resource, + surface->compress_content, + " /Type /XObject\n" + " /Subtype /Form\n" + " /BBox [ %f %f %f %f ]\n" + " /Group <<\n" + " /Type /Group\n" + " /S /Transparency\n" + " /I true\n" + " /CS /DeviceRGB\n" + " >>\n" + " /Resources %d 0 R\n", + bbox->p1.x, + bbox->p1.y, + bbox->p2.x, + bbox->p2.y, + surface->content_resources.id); + } else { + status = + _cairo_pdf_surface_open_stream (surface, + resource, + surface->compress_content, + " /Type /XObject\n" + " /Subtype /Form\n" + " /BBox [ %f %f %f %f ]\n" + " /Resources %d 0 R\n", + bbox->p1.x, + bbox->p1.y, + bbox->p2.x, + bbox->p2.y, + surface->content_resources.id); + } } else { status = _cairo_pdf_surface_open_stream (surface, @@ -2079,7 +2105,7 @@ bbox.p1.y = 0; bbox.p2.x = surface->width; bbox.p2.y = surface->height; - status = _cairo_pdf_surface_open_content_stream (surface, &bbox, NULL, has_fallbacks); + status = _cairo_pdf_surface_open_content_stream (surface, &bbox, NULL, has_fallbacks, has_fallbacks); if (unlikely (status)) return status; @@ -2154,6 +2180,7 @@ status = _cairo_pdf_surface_add_source_surface (surface, pad_image, NULL, + FALSE, source->filter, FALSE, extents, @@ -2686,6 +2713,8 @@ int width; int height; cairo_bool_t is_subsurface; + cairo_bool_t transparency_group; + cairo_recording_surface_t *recording; assert (pdf_source->type == CAIRO_PATTERN_TYPE_SURFACE); extents = &pdf_source->hash_entry->extents; @@ -2705,6 +2734,9 @@ is_subsurface = TRUE; } + assert (source->type == CAIRO_SURFACE_TYPE_RECORDING); + recording = (cairo_recording_surface_t *) source; + old_width = surface->width; old_height = surface->height; old_paginated_mode = surface->paginated_mode; @@ -2721,7 +2753,16 @@ surface->paginated_mode = CAIRO_PAGINATED_MODE_RENDER; _cairo_pdf_group_resources_clear (&surface->resources); _get_bbox_from_extents (height, extents, &bbox); - status = _cairo_pdf_surface_open_content_stream (surface, &bbox, &pdf_source->hash_entry->surface_res, TRUE); + + /* We can optimize away the transparency group allowing the viewer + * to replay the group in place when all operators are OVER and the + * recording contains only opaque and/or clear alpha. + */ + transparency_group = !(pdf_source->hash_entry->operator == CAIRO_OPERATOR_OVER && + _cairo_recording_surface_has_only_bilevel_alpha (recording) && + _cairo_recording_surface_has_only_op_over (recording)); + status = _cairo_pdf_surface_open_content_stream (surface, &bbox, &pdf_source->hash_entry->surface_res, + TRUE, transparency_group); if (unlikely (status)) goto err; @@ -2805,6 +2846,7 @@ status = _cairo_pdf_surface_add_source_surface (surface, NULL, pattern, + pdf_pattern->operator, pattern->filter, FALSE, &pdf_pattern->extents, @@ -3909,6 +3951,7 @@ static cairo_int_status_t _cairo_pdf_surface_paint_surface_pattern (cairo_pdf_surface_t *surface, + cairo_operator_t op, const cairo_pattern_t *source, const cairo_rectangle_int_t *extents, cairo_bool_t stencil_mask) @@ -3938,6 +3981,7 @@ status = _cairo_pdf_surface_add_source_surface (surface, NULL, source, + op, source->filter, stencil_mask, extents, @@ -3999,6 +4043,7 @@ static cairo_int_status_t _cairo_pdf_surface_paint_gradient (cairo_pdf_surface_t *surface, + cairo_operator_t op, const cairo_pattern_t *source, const cairo_rectangle_int_t *extents) { @@ -4008,7 +4053,7 @@ int alpha; status = _cairo_pdf_surface_add_pdf_shading (surface, source, - extents, + op, extents, &shading_res, &gstate_res); if (unlikely (status == CAIRO_INT_STATUS_NOTHING_TO_DO)) return CAIRO_INT_STATUS_SUCCESS; @@ -4062,6 +4107,7 @@ static cairo_int_status_t _cairo_pdf_surface_paint_pattern (cairo_pdf_surface_t *surface, + cairo_operator_t op, const cairo_pattern_t *source, const cairo_rectangle_int_t *extents, cairo_bool_t mask) @@ -4070,6 +4116,7 @@ case CAIRO_PATTERN_TYPE_SURFACE: case CAIRO_PATTERN_TYPE_RASTER_SOURCE: return _cairo_pdf_surface_paint_surface_pattern (surface, + op, source, extents, mask); @@ -4077,6 +4124,7 @@ case CAIRO_PATTERN_TYPE_RADIAL: case CAIRO_PATTERN_TYPE_MESH: return _cairo_pdf_surface_paint_gradient (surface, + op, source, extents); @@ -5701,6 +5749,7 @@ if (_can_paint_pattern (group->mask)) { _cairo_output_stream_printf (surface->output, "q\n"); status = _cairo_pdf_surface_paint_pattern (surface, + CAIRO_OPERATOR_OVER, group->mask, &group->extents, FALSE); @@ -5711,7 +5760,9 @@ } else { pattern_res.id = 0; gstate_res.id = 0; - status = _cairo_pdf_surface_add_pdf_pattern (surface, group->mask, NULL, + status = _cairo_pdf_surface_add_pdf_pattern (surface, group->mask, + CAIRO_OPERATOR_OVER, + NULL, &pattern_res, &gstate_res); if (unlikely (status)) return status; @@ -5774,6 +5825,7 @@ if (_can_paint_pattern (group->source)) { _cairo_output_stream_printf (surface->output, "q\n"); status = _cairo_pdf_surface_paint_pattern (surface, + CAIRO_OPERATOR_OVER, group->source, &group->extents, FALSE); @@ -5784,7 +5836,9 @@ } else { pattern_res.id = 0; gstate_res.id = 0; - status = _cairo_pdf_surface_add_pdf_pattern (surface, group->source, NULL, + status = _cairo_pdf_surface_add_pdf_pattern (surface, group->source, + CAIRO_OPERATOR_OVER, + NULL, &pattern_res, &gstate_res); if (unlikely (status)) return status; @@ -6039,7 +6093,7 @@ return status; _cairo_pdf_group_resources_clear (&surface->resources); - status = _cairo_pdf_surface_open_content_stream (surface, NULL, NULL, FALSE); + status = _cairo_pdf_surface_open_content_stream (surface, NULL, NULL, FALSE, FALSE); if (unlikely (status)) return status; @@ -6327,12 +6381,13 @@ bbox.p1.y = 0; bbox.p2.x = surface->width; bbox.p2.y = surface->height; - return _cairo_pdf_surface_open_content_stream (surface, &bbox, NULL, TRUE); + return _cairo_pdf_surface_open_content_stream (surface, &bbox, NULL, TRUE, TRUE); } /* A PDF stencil mask is an A1 mask used with the current color */ static cairo_int_status_t _cairo_pdf_surface_emit_stencil_mask (cairo_pdf_surface_t *surface, + cairo_operator_t op, const cairo_pattern_t *source, const cairo_pattern_t *mask, const cairo_rectangle_int_t *extents) @@ -6379,7 +6434,7 @@ return status; _cairo_output_stream_printf (surface->output, "q\n"); - status = _cairo_pdf_surface_paint_surface_pattern (surface, mask, extents, TRUE); + status = _cairo_pdf_surface_paint_surface_pattern (surface, op, mask, extents, TRUE); if (unlikely (status)) return status; @@ -6455,6 +6510,7 @@ if (_can_paint_pattern (source)) { _cairo_output_stream_printf (surface->output, "q\n"); status = _cairo_pdf_surface_paint_pattern (surface, + op, source, &extents.bounded, FALSE); @@ -6468,7 +6524,7 @@ pattern_res.id = 0; gstate_res.id = 0; - status = _cairo_pdf_surface_add_pdf_pattern (surface, source, + status = _cairo_pdf_surface_add_pdf_pattern (surface, source, op, &extents.bounded, &pattern_res, &gstate_res); if (unlikely (status)) @@ -6609,7 +6665,7 @@ goto cleanup; /* Check if we can use a stencil mask */ - status = _cairo_pdf_surface_emit_stencil_mask (surface, source, mask, &extents.bounded); + status = _cairo_pdf_surface_emit_stencil_mask (surface, op, source, mask, &extents.bounded); if (status != CAIRO_INT_STATUS_UNSUPPORTED) goto cleanup; @@ -6726,7 +6782,7 @@ pattern_res.id = 0; gstate_res.id = 0; - status = _cairo_pdf_surface_add_pdf_pattern (surface, source, + status = _cairo_pdf_surface_add_pdf_pattern (surface, source, op, &extents.bounded, &pattern_res, &gstate_res); if (unlikely (status)) @@ -6879,6 +6935,7 @@ goto cleanup; status = _cairo_pdf_surface_paint_pattern (surface, + op, source, &extents.bounded, FALSE); @@ -6892,7 +6949,7 @@ pattern_res.id = 0; gstate_res.id = 0; - status = _cairo_pdf_surface_add_pdf_pattern (surface, source, + status = _cairo_pdf_surface_add_pdf_pattern (surface, source, op, &extents.bounded, &pattern_res, &gstate_res); if (unlikely (status)) @@ -7067,6 +7124,7 @@ fill_pattern_res.id = 0; gstate_res.id = 0; status = _cairo_pdf_surface_add_pdf_pattern (surface, fill_source, + fill_op, &extents.bounded, &fill_pattern_res, &gstate_res); @@ -7079,6 +7137,7 @@ gstate_res.id = 0; status = _cairo_pdf_surface_add_pdf_pattern (surface, stroke_source, + stroke_op, &extents.bounded, &stroke_pattern_res, &gstate_res); @@ -7170,7 +7229,7 @@ pattern_res.id = 0; gstate_res.id = 0; - status = _cairo_pdf_surface_add_pdf_pattern (surface, source, + status = _cairo_pdf_surface_add_pdf_pattern (surface, source, op, &extents.bounded, &pattern_res, &gstate_res); if (unlikely (status)) --- a/src/cairo-recording-surface-private.h +++ b/src/cairo-recording-surface-private.h @@ -136,6 +136,8 @@ unsigned int *indices; unsigned int num_indices; cairo_bool_t optimize_clears; + cairo_bool_t has_bilevel_alpha; + cairo_bool_t has_only_op_over; struct bbtree { cairo_box_t extents; @@ -184,4 +186,10 @@ cairo_box_t *bbox, const cairo_matrix_t *transform); +cairo_private cairo_bool_t +_cairo_recording_surface_has_only_bilevel_alpha (cairo_recording_surface_t *surface); + +cairo_private cairo_bool_t +_cairo_recording_surface_has_only_op_over (cairo_recording_surface_t *surface); + #endif /* CAIRO_RECORDING_SURFACE_H */ --- a/src/cairo-recording-surface.c +++ b/src/cairo-recording-surface.c @@ -87,6 +87,7 @@ #include "cairo-error-private.h" #include "cairo-image-surface-private.h" #include "cairo-recording-surface-inline.h" +#include "cairo-surface-snapshot-inline.h" #include "cairo-surface-wrapper-private.h" #include "cairo-traps-private.h" @@ -420,6 +421,8 @@ surface->indices = NULL; surface->num_indices = 0; surface->optimize_clears = TRUE; + surface->has_bilevel_alpha = FALSE; + surface->has_only_op_over = FALSE; return &surface->base; } @@ -1603,6 +1606,68 @@ return num_visible; } +static void +_cairo_recording_surface_merge_source_attributes (cairo_recording_surface_t *surface, + cairo_operator_t op, + const cairo_pattern_t *source) +{ + if (op != CAIRO_OPERATOR_OVER) + surface->has_only_op_over = FALSE; + + if (source->type == CAIRO_PATTERN_TYPE_SURFACE) { + cairo_surface_pattern_t *surf_pat = (cairo_surface_pattern_t *) source; + cairo_surface_t *surf = surf_pat->surface; + cairo_surface_t *free_me = NULL; + + if (_cairo_surface_is_snapshot (surf)) + free_me = surf = _cairo_surface_snapshot_get_target (surf); + + if (surf->type == CAIRO_SURFACE_TYPE_RECORDING) { + cairo_recording_surface_t *rec_surf = (cairo_recording_surface_t *) surf; + + if (! _cairo_recording_surface_has_only_bilevel_alpha (rec_surf)) + surface->has_bilevel_alpha = FALSE; + + if (! _cairo_recording_surface_has_only_op_over (rec_surf)) + surface->has_only_op_over = FALSE; + + } else if (surf->type == CAIRO_SURFACE_TYPE_IMAGE) { + cairo_image_surface_t *img_surf = (cairo_image_surface_t *) surf; + + if (_cairo_image_analyze_transparency (img_surf) == CAIRO_IMAGE_HAS_ALPHA) + surface->has_bilevel_alpha = FALSE; + + } else { + if (!_cairo_pattern_is_clear (source) && !_cairo_pattern_is_opaque (source, NULL)) + surface->has_bilevel_alpha = FALSE; + } + + cairo_surface_destroy (free_me); + return; + + } else if (source->type == CAIRO_PATTERN_TYPE_RASTER_SOURCE) { + cairo_surface_t *image; + cairo_surface_t *raster; + + image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1); + raster = _cairo_raster_source_pattern_acquire (source, image, NULL); + cairo_surface_destroy (image); + if (raster) { + if (raster->type == CAIRO_SURFACE_TYPE_IMAGE) { + if (_cairo_image_analyze_transparency ((cairo_image_surface_t *)raster) == CAIRO_IMAGE_HAS_ALPHA) + surface->has_bilevel_alpha = FALSE; + } + + _cairo_raster_source_pattern_release (source, raster); + if (raster->type == CAIRO_SURFACE_TYPE_IMAGE) + return; + } + } + + if (!_cairo_pattern_is_clear (source) && !_cairo_pattern_is_opaque (source, NULL)) + surface->has_bilevel_alpha = FALSE; +} + static cairo_status_t _cairo_recording_surface_replay_internal (cairo_recording_surface_t *surface, const cairo_rectangle_int_t *surface_extents, @@ -1652,6 +1717,9 @@ if (! _cairo_surface_wrapper_get_target_extents (&wrapper, &extents)) goto done; + surface->has_bilevel_alpha = TRUE; + surface->has_only_op_over = TRUE; + num_elements = surface->commands.num_elements; elements = _cairo_array_index (&surface->commands, 0); if (extents.width < r->width || extents.height < r->height) { @@ -1675,6 +1743,11 @@ command->header.op, &command->paint.source.base, command->header.clip); + if (type == CAIRO_RECORDING_CREATE_REGIONS) { + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->paint.source.base); + } break; case CAIRO_COMMAND_MASK: @@ -1683,6 +1756,14 @@ &command->mask.source.base, &command->mask.mask.base, command->header.clip); + if (type == CAIRO_RECORDING_CREATE_REGIONS) { + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->mask.source.base); + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->mask.mask.base); + } break; case CAIRO_COMMAND_STROKE: @@ -1696,6 +1777,11 @@ command->stroke.tolerance, command->stroke.antialias, command->header.clip); + if (type == CAIRO_RECORDING_CREATE_REGIONS) { + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->stroke.source.base); + } break; case CAIRO_COMMAND_FILL: @@ -1737,6 +1823,14 @@ stroke_command->stroke.tolerance, stroke_command->stroke.antialias, command->header.clip); + if (type == CAIRO_RECORDING_CREATE_REGIONS) { + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->fill.source.base); + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->stroke.source.base); + } i++; } } @@ -1749,6 +1843,11 @@ command->fill.tolerance, command->fill.antialias, command->header.clip); + if (type == CAIRO_RECORDING_CREATE_REGIONS) { + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->fill.source.base); + } } break; @@ -1762,6 +1861,11 @@ command->show_text_glyphs.cluster_flags, command->show_text_glyphs.scaled_font, command->header.clip); + if (type == CAIRO_RECORDING_CREATE_REGIONS) { + _cairo_recording_surface_merge_source_attributes (surface, + command->header.op, + &command->show_text_glyphs.source.base); + } break; default: @@ -2070,3 +2174,15 @@ *extents = record->extents_pixels; return TRUE; } + +cairo_bool_t +_cairo_recording_surface_has_only_bilevel_alpha (cairo_recording_surface_t *surface) +{ + return surface->has_bilevel_alpha; +} + +cairo_bool_t +_cairo_recording_surface_has_only_op_over (cairo_recording_surface_t *surface) +{ + return surface->has_only_op_over; +}