--- cairo-1.5.12.orig/debian/patches/00list +++ cairo-1.5.12/debian/patches/00list @@ -0,0 +1,3 @@ +02-lcd_filter_freedesktop_bug10301.dpatch +03-turn_on_buggy-repeat_handling.dpatch +90_from_git_fix_pdf_printing.dpatch --- cairo-1.5.12.orig/debian/patches/03-turn_on_buggy-repeat_handling.dpatch +++ cairo-1.5.12/debian/patches/03-turn_on_buggy-repeat_handling.dpatch @@ -0,0 +1,30 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03-turn_on_buggy-repeat_handling.dpatch by Fabien Tassin +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad cairo-1.5.8.orig/src/cairo-xlib-display.c cairo-1.5.8/src/cairo-xlib-display.c +--- cairo-1.5.8.orig/src/cairo-xlib-display.c ++++ cairo-1.5.8/src/cairo-xlib-display.c +@@ -297,16 +297,19 @@ + * back up to 6.7 or 6.8. */ + if (VendorRelease (dpy) >= 60700000 && VendorRelease (dpy) <= 60802000) + display->buggy_repeat = TRUE; + } else if (strstr (ServerVendor (dpy), "XFree86") != NULL) { + if (VendorRelease (dpy) <= 40500000) + display->buggy_repeat = TRUE; + } + ++ /* XXX workaround; see https://bugzilla.mozilla.org/show_bug.cgi?id=413583 */ ++ display->buggy_repeat = TRUE; ++ + display->next = _cairo_xlib_display_list; + _cairo_xlib_display_list = display; + + UNLOCK: + CAIRO_MUTEX_UNLOCK (_cairo_xlib_display_mutex); + return display; + } + --- cairo-1.5.12.orig/debian/patches/02-lcd_filter_freedesktop_bug10301.dpatch +++ cairo-1.5.12/debian/patches/02-lcd_filter_freedesktop_bug10301.dpatch @@ -0,0 +1,948 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02-lcd_filter_freedesktop_bug10301.dpatch by Fabien Tassin +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +## From 8b649954bfee1d344bfd0063dfe921df763e4c92 Mon Sep 17 00:00:00 2001 +## From: Sylvain Pasche +## Date: Thu, 6 Dec 2007 02:30:28 +0100 +## Subject: [PATCH] Freetype LCD filtering enhancements + +## Initial patch by David Turner (http://david.freetype.org/lcd/) +## Modifications by Ubuntu/Debian packagers +## Fixed by Brandon Wright +## --- +## src/cairo-font-options.c | 29 ++ +## src/cairo-ft-font.c | 610 +++++++++++++++++++++++++++++++--------------- +## src/cairo-types-private.h | 18 + +## src/cairo-xlib-screen.c | 22 + +## src/cairoint.h | 4 +## 5 files changed, 493 insertions(+), 190 deletions(-) + +@DPATCH@ + +Index: cairo-1.5.12/src/cairo-font-options.c +=================================================================== +--- cairo-1.5.12.orig/src/cairo-font-options.c ++++ cairo-1.5.12/src/cairo-font-options.c +@@ -39,6 +39,7 @@ + static const cairo_font_options_t _cairo_font_options_nil = { + CAIRO_ANTIALIAS_DEFAULT, + CAIRO_SUBPIXEL_ORDER_DEFAULT, ++ CAIRO_LCD_FILTER_DEFAULT, + CAIRO_HINT_STYLE_DEFAULT, + CAIRO_HINT_METRICS_DEFAULT + }; +@@ -54,6 +55,7 @@ + { + options->antialias = CAIRO_ANTIALIAS_DEFAULT; + options->subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT; ++ options->lcd_filter = CAIRO_LCD_FILTER_DEFAULT; + options->hint_style = CAIRO_HINT_STYLE_DEFAULT; + options->hint_metrics = CAIRO_HINT_METRICS_DEFAULT; + } +@@ -64,6 +66,7 @@ + { + options->antialias = other->antialias; + options->subpixel_order = other->subpixel_order; ++ options->lcd_filter = other->lcd_filter; + options->hint_style = other->hint_style; + options->hint_metrics = other->hint_metrics; + } +@@ -191,6 +194,8 @@ + options->antialias = other->antialias; + if (other->subpixel_order != CAIRO_SUBPIXEL_ORDER_DEFAULT) + options->subpixel_order = other->subpixel_order; ++ if (other->lcd_filter != CAIRO_LCD_FILTER_DEFAULT) ++ options->lcd_filter = other->lcd_filter; + if (other->hint_style != CAIRO_HINT_STYLE_DEFAULT) + options->hint_style = other->hint_style; + if (other->hint_metrics != CAIRO_HINT_METRICS_DEFAULT) +@@ -223,6 +228,7 @@ + + return (options->antialias == other->antialias && + options->subpixel_order == other->subpixel_order && ++ options->lcd_filter == other->lcd_filter && + options->hint_style == other->hint_style && + options->hint_metrics == other->hint_metrics); + } +@@ -248,7 +254,8 @@ + + return ((options->antialias) | + (options->subpixel_order << 4) | +- (options->hint_style << 8) | ++ (options->lcd_filter << 8) | ++ (options->hint_style << 12) | + (options->hint_metrics << 16)); + } + slim_hidden_def (cairo_font_options_hash); +@@ -330,6 +337,26 @@ + } + + /** ++ * _cairo_font_options_set_lcd_filter: ++ * @options: a #cairo_font_options_t ++ * @lcd_filter: the new lcd filterorder ++ * ++ * Sets the lcd filter for the font options object. The lcd filter ++ * specifies how pixels are filtered when rendered with an antialiasing ++ * mode of %CAIRO_ANTIALIAS_SUBPIXEL. See the documentation for ++ * #cairo_lcd_filter_t for full details. ++ **/ ++void ++_cairo_font_options_set_lcd_filter (cairo_font_options_t *options, ++ cairo_lcd_filter_t lcd_filter) ++{ ++ if (options == (cairo_font_options_t *)&_cairo_font_options_nil) ++ return; ++ ++ options->lcd_filter = lcd_filter; ++} ++ ++/** + * cairo_font_options_set_hint_style: + * @options: a #cairo_font_options_t + * @hint_style: the new hint style +Index: cairo-1.5.12/src/cairo-ft-font.c +=================================================================== +--- cairo-1.5.12.orig/src/cairo-ft-font.c ++++ cairo-1.5.12/src/cairo-ft-font.c +@@ -55,6 +55,8 @@ + #include FT_SYNTHESIS_H + #endif + ++#include FT_LCD_FILTER_H ++ + #define DOUBLE_TO_26_6(d) ((FT_F26Dot6)((d) * 64.0)) + #define DOUBLE_FROM_26_6(t) ((double)(t) / 64.0) + #define DOUBLE_TO_16_16(d) ((FT_Fixed)((d) * 65536.0)) +@@ -723,23 +725,300 @@ + return CAIRO_STATUS_SUCCESS; + } + +-/* Empirically-derived subpixel filtering values thanks to Keith +- * Packard and libXft. */ +-static const int filters[3][3] = { +- /* red */ +-#if 0 +- { 65538*4/7,65538*2/7,65538*1/7 }, +- /* green */ +- { 65536*1/4, 65536*2/4, 65537*1/4 }, +- /* blue */ +- { 65538*1/7,65538*2/7,65538*4/7 }, ++/* we sometimes need to convert the glyph bitmap in a FT_GlyphSlot ++ * into a different format. For example, we want to convert a ++ * FT_PIXEL_MODE_LCD or FT_PIXEL_MODE_LCD_V bitmap into a 32-bit ++ * ARGB or ABGR bitmap. ++ * ++ * this function prepares a target descriptor for this operation. ++ * ++ * input :: target bitmap descriptor. The function will set its ++ * 'width', 'rows' and 'pitch' fields, and only these ++ * ++ * slot :: the glyph slot containing the source bitmap. this ++ * function assumes that slot->format == FT_GLYPH_FORMAT_BITMAP ++ * ++ * mode :: the requested final rendering mode. supported values are ++ * MONO, NORMAL (i.e. gray), LCD and LCD_V ++ * ++ * the function returns the size in bytes of the corresponding buffer, ++ * it's up to the caller to allocate the corresponding memory block ++ * before calling _fill_xrender_bitmap ++ * ++ * it also returns -1 in case of error (e.g. incompatible arguments, ++ * like trying to convert a gray bitmap into a monochrome one) ++ */ ++static int ++_compute_xrender_bitmap_size( FT_Bitmap* target, ++ FT_GlyphSlot slot, ++ FT_Render_Mode mode ) ++{ ++ FT_Bitmap* ftbit; ++ int width, height, pitch; ++ ++ if ( slot->format != FT_GLYPH_FORMAT_BITMAP ) ++ return -1; ++ ++ // compute the size of the final bitmap ++ ftbit = &slot->bitmap; ++ ++ width = ftbit->width; ++ height = ftbit->rows; ++ pitch = (width+3) & ~3; ++ ++ switch ( ftbit->pixel_mode ) ++ { ++ case FT_PIXEL_MODE_MONO: ++ if ( mode == FT_RENDER_MODE_MONO ) ++ { ++ pitch = (((width+31) & ~31) >> 3); ++ break; ++ } ++ /* fall-through */ ++ ++ case FT_PIXEL_MODE_GRAY: ++ if ( mode == FT_RENDER_MODE_LCD || ++ mode == FT_RENDER_MODE_LCD_V ) ++ { ++ /* each pixel is replicated into a 32-bit ARGB value */ ++ pitch = width*4; ++ } ++ break; ++ ++ case FT_PIXEL_MODE_LCD: ++ if ( mode != FT_RENDER_MODE_LCD ) ++ return -1; ++ ++ /* horz pixel triplets are packed into 32-bit ARGB values */ ++ width /= 3; ++ pitch = width*4; ++ break; ++ ++ case FT_PIXEL_MODE_LCD_V: ++ if ( mode != FT_RENDER_MODE_LCD_V ) ++ return -1; ++ ++ /* vert pixel triplets are packed into 32-bit ARGB values */ ++ height /= 3; ++ pitch = width*4; ++ break; ++ ++ default: /* unsupported source format */ ++ return -1; ++ } ++ ++ target->width = width; ++ target->rows = height; ++ target->pitch = pitch; ++ target->buffer = NULL; ++ ++ return pitch * height; ++} ++ ++/* this functions converts the glyph bitmap found in a FT_GlyphSlot ++ * into a different format (see _compute_xrender_bitmap_size) ++ * ++ * you should call this function after _compute_xrender_bitmap_size ++ * ++ * target :: target bitmap descriptor. Note that its 'buffer' pointer ++ * must point to memory allocated by the caller ++ * ++ * slot :: the glyph slot containing the source bitmap ++ * ++ * mode :: the requested final rendering mode ++ * ++ * bgr :: boolean, set if BGR or VBGR pixel ordering is needed ++ */ ++static void ++_fill_xrender_bitmap( FT_Bitmap* target, ++ FT_GlyphSlot slot, ++ FT_Render_Mode mode, ++ int bgr ) ++{ ++ FT_Bitmap* ftbit = &slot->bitmap; ++ unsigned char* srcLine = ftbit->buffer; ++ unsigned char* dstLine = target->buffer; ++ int src_pitch = ftbit->pitch; ++ int width = target->width; ++ int height = target->rows; ++ int pitch = target->pitch; ++ int subpixel; ++ int h; ++ ++ subpixel = ( mode == FT_RENDER_MODE_LCD || ++ mode == FT_RENDER_MODE_LCD_V ); ++ ++ if ( src_pitch < 0 ) ++ srcLine -= src_pitch*(ftbit->rows-1); ++ ++ target->pixel_mode = ftbit->pixel_mode; ++ ++ switch ( ftbit->pixel_mode ) ++ { ++ case FT_PIXEL_MODE_MONO: ++ if ( subpixel ) /* convert mono to ARGB32 values */ ++ { ++ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch ) ++ { ++ int x; ++ ++ for ( x = 0; x < width; x++ ) ++ { ++ if ( srcLine[(x >> 3)] & (0x80 >> (x & 7)) ) ++ ((unsigned int*)dstLine)[x] = 0xffffffffU; ++ } ++ } ++ target->pixel_mode = FT_PIXEL_MODE_LCD; ++ } ++ else if ( mode == FT_RENDER_MODE_NORMAL ) /* convert mono to 8-bit gray */ ++ { ++ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch ) ++ { ++ int x; ++ ++ for ( x = 0; x < width; x++ ) ++ { ++ if ( srcLine[(x >> 3)] & (0x80 >> (x & 7)) ) ++ dstLine[x] = 0xff; ++ } ++ } ++ target->pixel_mode = FT_PIXEL_MODE_GRAY; ++ } ++ else /* copy mono to mono */ ++ { ++ int bytes = (width+7) >> 3; ++ ++ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch ) ++ memcpy( dstLine, srcLine, bytes ); ++ } ++ break; ++ ++ case FT_PIXEL_MODE_GRAY: ++ if ( subpixel ) /* convert gray to ARGB32 values */ ++ { ++ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch ) ++ { ++ int x; ++ unsigned int* dst = (unsigned int*)dstLine; ++ ++ for ( x = 0; x < width; x++ ) ++ { ++ unsigned int pix = srcLine[x]; ++ ++ pix |= (pix << 8); ++ pix |= (pix << 16); ++ ++ dst[x] = pix; ++ } ++ } ++ target->pixel_mode = FT_PIXEL_MODE_LCD; ++ } ++ else /* copy gray into gray */ ++ { ++ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch ) ++ memcpy( dstLine, srcLine, width ); ++ } ++ break; ++ ++ case FT_PIXEL_MODE_LCD: ++ if ( !bgr ) ++ { ++ /* convert horizontal RGB into ARGB32 */ ++ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch ) ++ { ++ int x; ++ unsigned char* src = srcLine; ++ unsigned int* dst = (unsigned int*)dstLine; ++ ++ for ( x = 0; x < width; x++, src += 3 ) ++ { ++ unsigned int pix; ++ ++ pix = ((unsigned int)src[0] << 16) | ++ ((unsigned int)src[1] << 8) | ++ ((unsigned int)src[2] ) | ++ ((unsigned int)src[1] << 24) ; ++ ++ dst[x] = pix; ++ } ++ } ++ } ++ else ++ { ++ /* convert horizontal BGR into ARGB32 */ ++ for ( h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch ) ++ { ++ int x; ++ unsigned char* src = srcLine; ++ unsigned int* dst = (unsigned int*)dstLine; ++ ++ for ( x = 0; x < width; x++, src += 3 ) ++ { ++ unsigned int pix; ++ ++ pix = ((unsigned int)src[2] << 16) | ++ ((unsigned int)src[1] << 8) | ++ ((unsigned int)src[0] ) | ++ ((unsigned int)src[1] << 24) ; ++ ++ dst[x] = pix; ++ } ++ } ++ } ++ break; ++ ++ default: /* FT_PIXEL_MODE_LCD_V */ ++ /* convert vertical RGB into ARGB32 */ ++ if ( !bgr ) ++ { ++ for ( h = height; h > 0; h--, srcLine += 3*src_pitch, dstLine += pitch ) ++ { ++ int x; ++ unsigned char* src = srcLine; ++ unsigned int* dst = (unsigned int*)dstLine; ++ ++ for ( x = 0; x < width; x++, src += 1 ) ++ { ++ unsigned int pix; ++#if 1 ++ pix = ((unsigned int)src[0] << 16) | ++ ((unsigned int)src[src_pitch] << 8) | ++ ((unsigned int)src[src_pitch*2] ) | ++ 0xFF000000 ; ++#else ++ pix = ((unsigned int)src[0] << 16) | ++ ((unsigned int)src[src_pitch] << 8) | ++ ((unsigned int)src[src_pitch*2] ) | ++ ((unsigned int)src[src_pitch] << 24) ; + #endif +- { 65538*9/13,65538*3/13,65538*1/13 }, +- /* green */ +- { 65538*1/6, 65538*4/6, 65538*1/6 }, +- /* blue */ +- { 65538*1/13,65538*3/13,65538*9/13 }, +-}; ++ dst[x] = pix; ++ } ++ } ++ } ++ else ++ { ++ for ( h = height; h > 0; h--, srcLine += 3*src_pitch, dstLine += pitch ) ++ { ++ int x; ++ unsigned char* src = srcLine; ++ unsigned int* dst = (unsigned int*)dstLine; ++ ++ for ( x = 0; x < width; x++, src += 1 ) ++ { ++ unsigned int pix; ++ ++ pix = ((unsigned int)src[src_pitch*2] << 16) | ++ ((unsigned int)src[src_pitch] << 8) | ++ ((unsigned int)src[0] ) | ++ ((unsigned int)src[src_pitch] << 24) ; ++ ++ dst[x] = pix; ++ } ++ } ++ } ++ } ++} ++ + + /* Fills in val->image with an image surface created from @bitmap + */ +@@ -752,7 +1031,7 @@ + int width, height, stride; + unsigned char *data; + int format = CAIRO_FORMAT_A8; +- cairo_bool_t subpixel = FALSE; ++ cairo_image_surface_t *image; + + width = bitmap->width; + height = bitmap->rows; +@@ -791,7 +1070,6 @@ + } + } + } +- + #ifndef WORDS_BIGENDIAN + { + unsigned char *d = data; +@@ -803,17 +1081,15 @@ + } + } + #endif ++ + format = CAIRO_FORMAT_A1; + break; + + case FT_PIXEL_MODE_LCD: + case FT_PIXEL_MODE_LCD_V: + case FT_PIXEL_MODE_GRAY: +- switch (font_options->antialias) { +- case CAIRO_ANTIALIAS_DEFAULT: +- case CAIRO_ANTIALIAS_GRAY: +- case CAIRO_ANTIALIAS_NONE: +- default: ++ if (font_options->antialias != CAIRO_ANTIALIAS_SUBPIXEL) ++ { + stride = bitmap->pitch; + if (own_buffer) { + data = bitmap->buffer; +@@ -825,104 +1101,16 @@ + memcpy (data, bitmap->buffer, stride * height); + } + format = CAIRO_FORMAT_A8; +- break; +- case CAIRO_ANTIALIAS_SUBPIXEL: { +- int x, y; +- unsigned char *in_line, *out_line, *in; +- unsigned int *out; +- unsigned int red, green, blue; +- int rf, gf, bf; +- int s; +- int o, os; +- unsigned char *data_rgba; +- unsigned int width_rgba, stride_rgba; +- int vmul = 1; +- int hmul = 1; +- +- switch (font_options->subpixel_order) { +- case CAIRO_SUBPIXEL_ORDER_DEFAULT: +- case CAIRO_SUBPIXEL_ORDER_RGB: +- case CAIRO_SUBPIXEL_ORDER_BGR: +- default: +- width /= 3; +- hmul = 3; +- break; +- case CAIRO_SUBPIXEL_ORDER_VRGB: +- case CAIRO_SUBPIXEL_ORDER_VBGR: +- vmul = 3; +- height /= 3; +- break; +- } +- /* +- * Filter the glyph to soften the color fringes +- */ +- width_rgba = width; ++ } else { ++ // if we get there, the data from the source bitmap ++ // really comes from _fill_xrender_bitmap, and is ++ // made of 32-bit ARGB or ABGR values ++ assert(own_buffer != 0); ++ assert(bitmap->pixel_mode != FT_PIXEL_MODE_GRAY); ++ ++ data = bitmap->buffer; + stride = bitmap->pitch; +- stride_rgba = (width_rgba * 4 + 3) & ~3; +- data_rgba = calloc (stride_rgba, height); +- if (data_rgba == NULL) { +- if (own_buffer) +- free (bitmap->buffer); +- return _cairo_error (CAIRO_STATUS_NO_MEMORY); +- } +- +- os = 1; +- switch (font_options->subpixel_order) { +- case CAIRO_SUBPIXEL_ORDER_VRGB: +- os = stride; +- case CAIRO_SUBPIXEL_ORDER_DEFAULT: +- case CAIRO_SUBPIXEL_ORDER_RGB: +- default: +- rf = 0; +- gf = 1; +- bf = 2; +- break; +- case CAIRO_SUBPIXEL_ORDER_VBGR: +- os = stride; +- case CAIRO_SUBPIXEL_ORDER_BGR: +- bf = 0; +- gf = 1; +- rf = 2; +- break; +- } +- in_line = bitmap->buffer; +- out_line = data_rgba; +- for (y = 0; y < height; y++) +- { +- in = in_line; +- out = (unsigned int *) out_line; +- in_line += stride * vmul; +- out_line += stride_rgba; +- for (x = 0; x < width * hmul; x += hmul) +- { +- red = green = blue = 0; +- o = 0; +- for (s = 0; s < 3; s++) +- { +- red += filters[rf][s]*in[x+o]; +- green += filters[gf][s]*in[x+o]; +- blue += filters[bf][s]*in[x+o]; +- o += os; +- } +- red = red / 65536; +- green = green / 65536; +- blue = blue / 65536; +- *out++ = (green << 24) | (red << 16) | (green << 8) | blue; +- } +- } +- +- /* Images here are stored in native format. The +- * backend must convert to its own format as needed +- */ +- +- if (own_buffer) +- free (bitmap->buffer); +- data = data_rgba; +- stride = stride_rgba; + format = CAIRO_FORMAT_ARGB32; +- subpixel = TRUE; +- break; +- } + } + break; + case FT_PIXEL_MODE_GRAY2: +@@ -934,19 +1122,20 @@ + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + } + +- *surface = (cairo_image_surface_t *) ++ /* XXX */ ++ *surface = image = (cairo_image_surface_t *) + cairo_image_surface_create_for_data (data, + format, + width, height, stride); +- if ((*surface)->base.status) { ++ if (image->base.status) { + free (data); +- return (*surface)->base.status; ++ return image->base.status; + } + +- if (subpixel) +- pixman_image_set_component_alpha ((*surface)->pixman_image, TRUE); ++ if (font_options->antialias == CAIRO_ANTIALIAS_SUBPIXEL) ++ pixman_image_set_component_alpha (image->pixman_image, TRUE); + +- _cairo_image_surface_assume_ownership_of_data ((*surface)); ++ _cairo_image_surface_assume_ownership_of_data (image); + + return CAIRO_STATUS_SUCCESS; + } +@@ -971,16 +1160,60 @@ + cairo_font_options_t *font_options, + cairo_image_surface_t **surface) + { ++ int rgba = FC_RGBA_UNKNOWN; ++ int lcd_filter = FT_LCD_FILTER_DEFAULT; + FT_GlyphSlot glyphslot = face->glyph; + FT_Outline *outline = &glyphslot->outline; + FT_Bitmap bitmap; + FT_BBox cbox; +- FT_Matrix matrix; +- int hmul = 1; +- int vmul = 1; + unsigned int width, height, stride; +- cairo_bool_t subpixel = FALSE; + cairo_status_t status; ++ FT_Error fterror; ++ FT_Library library = glyphslot->library; ++ FT_Render_Mode render_mode = FT_RENDER_MODE_NORMAL; ++ ++ switch (font_options->antialias) ++ { ++ case CAIRO_ANTIALIAS_NONE: ++ render_mode = FT_RENDER_MODE_MONO; ++ break; ++ ++ case CAIRO_ANTIALIAS_SUBPIXEL: ++ switch (font_options->subpixel_order) ++ { ++ case CAIRO_SUBPIXEL_ORDER_DEFAULT: ++ case CAIRO_SUBPIXEL_ORDER_RGB: ++ case CAIRO_SUBPIXEL_ORDER_BGR: ++ render_mode = FT_RENDER_MODE_LCD; ++ break; ++ ++ case CAIRO_SUBPIXEL_ORDER_VRGB: ++ case CAIRO_SUBPIXEL_ORDER_VBGR: ++ render_mode = FT_RENDER_MODE_LCD_V; ++ break; ++ } ++ ++ switch (font_options->lcd_filter) ++ { ++ case CAIRO_LCD_FILTER_NONE: ++ lcd_filter = FT_LCD_FILTER_NONE; ++ break; ++ case CAIRO_LCD_FILTER_DEFAULT: ++ lcd_filter = FT_LCD_FILTER_DEFAULT; ++ break; ++ case CAIRO_LCD_FILTER_LIGHT: ++ lcd_filter = FT_LCD_FILTER_LIGHT; ++ break; ++ case CAIRO_LCD_FILTER_LEGACY: ++ lcd_filter = FT_LCD_FILTER_LEGACY; ++ break; ++ } ++ break; ++ ++ case CAIRO_ANTIALIAS_DEFAULT: ++ case CAIRO_ANTIALIAS_GRAY: ++ render_mode = FT_RENDER_MODE_NORMAL; ++ } + + FT_Outline_Get_CBox (outline, &cbox); + +@@ -991,20 +1224,22 @@ + + width = (unsigned int) ((cbox.xMax - cbox.xMin) >> 6); + height = (unsigned int) ((cbox.yMax - cbox.yMin) >> 6); +- stride = (width * hmul + 3) & ~3; ++ stride = (width + 3) & ~3; + + if (width * height == 0) { + cairo_format_t format; + /* Looks like fb handles zero-sized images just fine */ +- switch (font_options->antialias) { +- case CAIRO_ANTIALIAS_NONE: ++ switch (render_mode) { ++ case FT_RENDER_MODE_MONO: + format = CAIRO_FORMAT_A1; + break; +- case CAIRO_ANTIALIAS_SUBPIXEL: ++ case FT_RENDER_MODE_LCD: ++ case FT_RENDER_MODE_LCD_V: + format= CAIRO_FORMAT_ARGB32; + break; +- case CAIRO_ANTIALIAS_DEFAULT: +- case CAIRO_ANTIALIAS_GRAY: ++ case FT_RENDER_MODE_LIGHT: ++ case FT_RENDER_MODE_NORMAL: ++ case FT_RENDER_MODE_MAX: + default: + format = CAIRO_FORMAT_A8; + break; +@@ -1016,73 +1251,70 @@ + return (*surface)->base.status; + } else { + +- matrix.xx = matrix.yy = 0x10000L; +- matrix.xy = matrix.yx = 0; ++ int bitmap_size; + +- switch (font_options->antialias) { +- case CAIRO_ANTIALIAS_NONE: +- bitmap.pixel_mode = FT_PIXEL_MODE_MONO; +- bitmap.num_grays = 1; +- stride = ((width + 31) & -32) >> 3; +- break; +- case CAIRO_ANTIALIAS_DEFAULT: +- case CAIRO_ANTIALIAS_GRAY: +- bitmap.pixel_mode = FT_PIXEL_MODE_GRAY; +- bitmap.num_grays = 256; +- stride = (width + 3) & -4; ++ switch (render_mode) { ++ case FT_RENDER_MODE_LCD: ++ if (font_options->subpixel_order == CAIRO_SUBPIXEL_ORDER_BGR) { ++ rgba = FC_RGBA_BGR; ++ } else { ++ rgba = FC_RGBA_RGB; ++ } + break; +- case CAIRO_ANTIALIAS_SUBPIXEL: +- switch (font_options->subpixel_order) { +- case CAIRO_SUBPIXEL_ORDER_RGB: +- case CAIRO_SUBPIXEL_ORDER_BGR: +- case CAIRO_SUBPIXEL_ORDER_DEFAULT: +- default: +- matrix.xx *= 3; +- hmul = 3; +- subpixel = TRUE; +- break; +- case CAIRO_SUBPIXEL_ORDER_VRGB: +- case CAIRO_SUBPIXEL_ORDER_VBGR: +- matrix.yy *= 3; +- vmul = 3; +- subpixel = TRUE; +- break; ++ case FT_RENDER_MODE_LCD_V: ++ if (font_options->subpixel_order == CAIRO_SUBPIXEL_ORDER_VBGR) { ++ rgba = FC_RGBA_VBGR; ++ } else { ++ rgba = FC_RGBA_VRGB; + } +- FT_Outline_Transform (outline, &matrix); +- +- bitmap.pixel_mode = FT_PIXEL_MODE_GRAY; +- bitmap.num_grays = 256; +- stride = (width * hmul + 3) & -4; ++ break; ++ case FT_RENDER_MODE_MONO: ++ case FT_RENDER_MODE_LIGHT: ++ case FT_RENDER_MODE_NORMAL: ++ case FT_RENDER_MODE_MAX: ++ default: ++ break; + } + +- bitmap.pitch = stride; +- bitmap.width = width * hmul; +- bitmap.rows = height * vmul; +- bitmap.buffer = calloc (stride, bitmap.rows); +- if (bitmap.buffer == NULL) ++ FT_Library_SetLcdFilter( library, lcd_filter ); ++ ++ fterror = FT_Render_Glyph( face->glyph, render_mode ); ++ ++ FT_Library_SetLcdFilter( library, FT_LCD_FILTER_NONE ); ++ ++ if (fterror != 0) + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + +- FT_Outline_Translate (outline, -cbox.xMin*hmul, -cbox.yMin*vmul); ++ bitmap_size = _compute_xrender_bitmap_size(&bitmap, ++ face->glyph, ++ render_mode); ++ if (bitmap_size < 0) { ++ return _cairo_error (CAIRO_STATUS_NO_MEMORY); ++ } + +- if (FT_Outline_Get_Bitmap (glyphslot->library, outline, &bitmap) != 0) { +- free (bitmap.buffer); ++ bitmap.buffer = calloc(1, bitmap_size); ++ if (bitmap.buffer == NULL) { + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + } + ++ _fill_xrender_bitmap(&bitmap, face->glyph, render_mode, ++ (rgba == FC_RGBA_BGR || rgba == FC_RGBA_VBGR)); ++ ++ // NOTE: _get_bitmap_surface will free bitmap.buffer if there is an error + status = _get_bitmap_surface (&bitmap, TRUE, font_options, surface); + if (status) + return status; +- } + +- /* +- * Note: the font's coordinate system is upside down from ours, so the +- * Y coordinate of the control box needs to be negated. Moreover, device +- * offsets are position of glyph origin relative to top left while xMin +- * and yMax are offsets of top left relative to origin. Another negation. +- */ +- cairo_surface_set_device_offset (&(*surface)->base, +- floor (-(double) cbox.xMin / 64.0), +- floor (+(double) cbox.yMax / 64.0)); ++ /* ++ * Note: the font's coordinate system is upside down from ours, so the ++ * Y coordinate of the control box needs to be negated. Moreover, device ++ * offsets are position of glyph origin relative to top left while xMin ++ * and yMax are offsets of top left relative to origin. Another negation. ++ */ ++ cairo_surface_set_device_offset (&(*surface)->base, ++ (double)-glyphslot->bitmap_left, ++ (double)+glyphslot->bitmap_top); ++ } + + return CAIRO_STATUS_SUCCESS; + } +@@ -1460,11 +1692,11 @@ + case CAIRO_SUBPIXEL_ORDER_DEFAULT: + case CAIRO_SUBPIXEL_ORDER_RGB: + case CAIRO_SUBPIXEL_ORDER_BGR: +- load_target |= FT_LOAD_TARGET_LCD; ++ load_target = FT_LOAD_TARGET_LCD; + break; + case CAIRO_SUBPIXEL_ORDER_VRGB: + case CAIRO_SUBPIXEL_ORDER_VBGR: +- load_target |= FT_LOAD_TARGET_LCD_V; ++ load_target = FT_LOAD_TARGET_LCD_V; + break; + } + } +Index: cairo-1.5.12/src/cairo-types-private.h +=================================================================== +--- cairo-1.5.12.orig/src/cairo-types-private.h ++++ cairo-1.5.12/src/cairo-types-private.h +@@ -105,9 +105,27 @@ + cairo_bool_t is_snapshot; + }; + ++/** ++ * cairo_lcd_filter_t: ++ * @CAIRO_LCD_FILTER_DEFAULT: Default LCD filter ++ * @CAIRO_LCD_FILTER_NONE: Do not perform LCD filtering ++ * @CAIRO_LCD_FILTER_LIGHT: Variant lighter filter ++ * @CAIRO_LCD_FILTER_LEGACY: Use the legacy LCD filter ++ * ++ * The LCD filter specifies the low-pass filter applied to LCD-optimized ++ * bitmaps generated with an antialiasing mode of %CAIRO_ANTIALIAS_SUBPIXEL. ++ **/ ++typedef enum _cairo_lcd_filter { ++ CAIRO_LCD_FILTER_DEFAULT, ++ CAIRO_LCD_FILTER_NONE, ++ CAIRO_LCD_FILTER_LIGHT, ++ CAIRO_LCD_FILTER_LEGACY ++} cairo_lcd_filter_t; ++ + struct _cairo_font_options { + cairo_antialias_t antialias; + cairo_subpixel_order_t subpixel_order; ++ cairo_lcd_filter_t lcd_filter; + cairo_hint_style_t hint_style; + cairo_hint_metrics_t hint_metrics; + }; +Index: cairo-1.5.12/src/cairo-xlib-screen.c +=================================================================== +--- cairo-1.5.12.orig/src/cairo-xlib-screen.c ++++ cairo-1.5.12/src/cairo-xlib-screen.c +@@ -137,8 +137,10 @@ + cairo_bool_t xft_antialias; + int xft_hintstyle; + int xft_rgba; ++ int xft_lcdfilter; + cairo_antialias_t antialias; + cairo_subpixel_order_t subpixel_order; ++ cairo_lcd_filter_t lcd_filter; + cairo_hint_style_t hint_style; + + if (!get_boolean_default (dpy, "antialias", &xft_antialias)) +@@ -186,6 +188,9 @@ + #endif + } + ++ if (!get_integer_default (dpy, "lcdfilter", &xft_lcdfilter)) ++ xft_lcdfilter = FC_LCD_FILTER_DEFAULT; ++ + if (xft_hinting) { + switch (xft_hintstyle) { + case FC_HINT_NONE: +@@ -226,6 +231,22 @@ + subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT; + } + ++ switch (xft_lcdfilter) { ++ case FC_LCD_FILTER_NONE: ++ lcd_filter = CAIRO_LCD_FILTER_NONE; ++ break; ++ case FC_LCD_FILTER_LIGHT: ++ lcd_filter = CAIRO_LCD_FILTER_LIGHT; ++ break; ++ case FC_LCD_FILTER_LEGACY: ++ lcd_filter = CAIRO_LCD_FILTER_LEGACY; ++ break; ++ case FC_LCD_FILTER_DEFAULT: ++ default: ++ lcd_filter = CAIRO_LCD_FILTER_DEFAULT; ++ break; ++ } ++ + if (xft_antialias) { + if (subpixel_order == CAIRO_SUBPIXEL_ORDER_DEFAULT) + antialias = CAIRO_ANTIALIAS_GRAY; +@@ -238,6 +259,7 @@ + cairo_font_options_set_hint_style (&info->font_options, hint_style); + cairo_font_options_set_antialias (&info->font_options, antialias); + cairo_font_options_set_subpixel_order (&info->font_options, subpixel_order); ++ _cairo_font_options_set_lcd_filter (&info->font_options, lcd_filter); + cairo_font_options_set_hint_metrics (&info->font_options, CAIRO_HINT_METRICS_ON); + } + +Index: cairo-1.5.12/src/cairoint.h +=================================================================== +--- cairo-1.5.12.orig/src/cairoint.h ++++ cairo-1.5.12/src/cairoint.h +@@ -1275,6 +1275,10 @@ + _cairo_font_options_init_copy (cairo_font_options_t *options, + const cairo_font_options_t *other); + ++cairo_private void ++_cairo_font_options_set_lcd_filter (cairo_font_options_t *options, ++ cairo_lcd_filter_t lcd_filter); ++ + /* cairo_hull.c */ + cairo_private cairo_status_t + _cairo_hull_compute (cairo_pen_vertex_t *vertices, int *num_vertices); --- cairo-1.5.12.orig/debian/patches/90_from_git_fix_pdf_printing.dpatch +++ cairo-1.5.12/debian/patches/90_from_git_fix_pdf_printing.dpatch @@ -0,0 +1,33 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 90_from_git_fix_pdf_printing.dpatch by Sebastien Bacher +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad cairo-1.5.12~/src/cairo-type1-fallback.c cairo-1.5.12/src/cairo-type1-fallback.c +--- cairo-1.5.12~/src/cairo-type1-fallback.c 2008-02-17 01:29:07.000000000 +0100 ++++ cairo-1.5.12/src/cairo-type1-fallback.c 2008-03-13 12:22:54.000000000 +0100 +@@ -344,9 +344,9 @@ + charstring_encode_integer (data, 0, type); + charstring_encode_integer (data, 0, type); + +- /* The width and height is arbitrary. */ +- charstring_encode_integer (data, 500, type); ++ /* The width is arbitrary. */ + charstring_encode_integer (data, 500, type); ++ charstring_encode_integer (data, 0, type); + charstring_encode_command (data, CHARSTRING_sbw); + } + +@@ -401,8 +401,8 @@ + if (type == CAIRO_CHARSTRING_TYPE1) { + charstring_encode_integer (data, (int) scaled_glyph->metrics.x_bearing, type); + charstring_encode_integer (data, (int) scaled_glyph->metrics.y_bearing, type); +- charstring_encode_integer (data, (int) scaled_glyph->metrics.width, type); +- charstring_encode_integer (data, (int) scaled_glyph->metrics.height, type); ++ charstring_encode_integer (data, (int) scaled_glyph->metrics.x_advance, type); ++ charstring_encode_integer (data, (int) scaled_glyph->metrics.y_advance, type); + charstring_encode_command (data, CHARSTRING_sbw); + + path_info.current_x = (int) scaled_glyph->metrics.x_bearing; --- cairo-1.5.12.orig/debian/libcairo2-doc.doc-base +++ cairo-1.5.12/debian/libcairo2-doc.doc-base @@ -0,0 +1,11 @@ +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: graphics + +Format: HTML +Index: /usr/share/gtk-doc/html/cairo/index.html +Files: /usr/share/gtk-doc/html/cairo/*.html --- cairo-1.5.12.orig/debian/copyright +++ cairo-1.5.12/debian/copyright @@ -0,0 +1,533 @@ +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 (LPGL) 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.] + --- cairo-1.5.12.orig/debian/libcairo-directfb2-dev.install +++ cairo-1.5.12/debian/libcairo-directfb2-dev.install @@ -0,0 +1,4 @@ +debian/dist-directfb/usr/lib/libcairo-directfb/include/cairo/*.h /usr/lib/libcairo-directfb/include/cairo +debian/dist-directfb/usr/lib/libcairo-directfb/lib/libcairo.so /usr/lib/libcairo-directfb/lib +debian/dist-directfb/usr/lib/libcairo-directfb/lib/libcairo*.a /usr/lib/libcairo-directfb/lib +debian/dist-directfb/usr/lib/pkgconfig/cairo-directfb.pc /usr/lib/pkgconfig --- cairo-1.5.12.orig/debian/watch +++ cairo-1.5.12/debian/watch @@ -0,0 +1,2 @@ +version=2 +http://cairographics.org/releases/ cairo-([\d+\.]+|\d+)\.tar\.gz debian uupdate --- cairo-1.5.12.orig/debian/control +++ cairo-1.5.12/debian/control @@ -0,0 +1,110 @@ +Source: cairo +Section: libs +Priority: optional +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Dave Beckett +Build-Depends: debhelper (>= 5.0.22), autotools-dev, pkg-config (>= 0.19), libfontconfig1-dev (>= 2.5.0-2ubuntu2), libfreetype6-dev (>= 2.3.5-1ubuntu4), libxrender-dev (>=0.6.0), libx11-dev, libpng12-dev, libdirectfb-dev (>=0.9.25), libsm-dev, xutils-dev, libxt-dev, dpatch, libpixman-1-dev (>=0.9.4) +Standards-Version: 3.7.3 +Homepage: http://cairographics.org/ + +Package: libcairo2-dev +Provides: libcairo-dev +Conflicts: libcairo-dev, libcairo0.5.1-dev, libcairo0.6.0-dev, libcairo0.9.0-dev +Replaces: libcairo0.5.1-dev, libcairo0.6.0-dev, libcairo0.9.0-dev +Suggests: libcairo2-doc +Section: libdevel +Architecture: any +Depends: libcairo2 (= ${binary:Version}), libfontconfig1-dev (>= 2.5.0-2ubuntu2), libfreetype6-dev (>=2.3.0), libxrender-dev (>=0.6.0), libpng12-dev, libsm-dev, libpixman-1-dev (>= 0.9.4) +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} +Provides: libcairo +Conflicts: libcairo1 +Replaces: libcairo0.5.1, libcairo0.6.0, libcairo0.9.0, libcairo1 +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: libdevel +Priority: extra +Architecture: any +Depends: libcairo2 (= ${binary:Version}) +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: lynx | www-browser +Conflicts: libcairo0.5.1-doc, libcairo0.6.0-doc, libcairo0.9.0-doc +Replaces: libcairo0.5.1-doc, libcairo0.6.0-doc, libcairo0.9.0-doc +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/doc/libcairo2-doc/ . + +Package: libcairo-directfb2-udeb +XC-Package-Type: udeb +Section: debian-installer +Architecture: any +Depends: ${shlibs:Depends} +Description: The Cairo 2D vector graphics library DirectFB build + Cairo is a multi-platform library providing anti-aliased + vector-based rendering for multiple target backends. + . + This is version of cairo with only the DirectFB backend, intended + primarily for use in the graphical debian installer. + +Package: libcairo-directfb2 +Section: libs +Architecture: any +Depends: ${shlibs:Depends} +Provides: libcairo-directfb +Conflicts: libcairo2-directfb +Replaces: libcairo2-directfb +Description: The Cairo 2D vector graphics library DirectFB build + Cairo is a multi-platform library providing anti-aliased + vector-based rendering for multiple target backends. + . + This is version of cairo with only the DirectFB backend enabled. + Use libcairo2 for the full backend choice. + +Package: libcairo-directfb2-dev +Section: libdevel +Architecture: any +Conflicts: libcairo2-directfb-dev +Replaces: libcairo2-directfb-dev +Depends: libcairo-directfb2 (= ${binary:Version}), libfontconfig1-dev (>= 2.5.0-2ubuntu2), libfreetype6-dev (>=2.3.0), libpng12-dev, libdirectfb-dev (>=0.9.25), libpixman-1-dev (>=0.9.4) +Description: Development files for Cairo graphics library DirectFB build + 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 compiled only against the + DirectFB backend. Intended primarly for use in the graphical debian + installer, other builds should be against libcairo2-dev --- cairo-1.5.12.orig/debian/libcairo2-doc.install +++ cairo-1.5.12/debian/libcairo2-doc.install @@ -0,0 +1 @@ +debian/dist-main/usr/share/gtk-doc/html/cairo /usr/share/gtk-doc/html --- cairo-1.5.12.orig/debian/rules +++ cairo-1.5.12/debian/rules @@ -0,0 +1,202 @@ +#!/usr/bin/make -f + +# Configure for cairo packages + +# Supported backends (as of Cairo 1.5.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) +# +MAIN_CONFIGURE_FLAGS = \ +--enable-xlib --enable-pdf --enable-ps --enable-svg \ +--disable-glitz --disable-xcb --disable-directfb \ +--enable-png + +# udeb package flags +# directfb DirectFB (requires Build-Depend on libdirectfb-dev (>= 0.9.25) ) +DIRECTFB_CONFIGURE_FLAGS = \ +--enable-directfb \ +--disable-xlib --enable-pdf --enable-ps --disable-svg \ +--disable-glitz --disable-xcb \ +--enable-png \ +--program-suffix=-directfb + +DIRECTFB_PREFIX=/usr/lib/libcairo-directfb + +SRC_DIR=$(CURDIR) +MAIN_BUILD_DIR=$(CURDIR)/debian/build-main +DIRECTFB_BUILD_DIR=$(CURDIR)/debian/build-directfb + +MAIN_DIST_DIR=$(CURDIR)/debian/dist-main +DIRECTFB_DIST_DIR=$(CURDIR)/debian/dist-directfb + +export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +CFLAGS = -g +CFLAGS_UDEB = -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 + CFLAGS_UDEB += -O0 +else + CFLAGS += -O2 + CFLAGS_UDEB += -Os +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +# For autoconf 2.13 only +CONFFLAGS= +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + CONFFLAGS += $(DEB_HOST_GNU_TYPE) +else + CONFFLAGS += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) +endif + +package := tmp +prefix := /usr +share := $(prefix)/share + +version := $(shell dpkg-parsechangelog | \ + sed -ne 's/^Version: *\([0-9]\+:\)*//p') + +include /usr/share/dpatch/dpatch.make + +configure: configure-main + +configure-common-stamp: patch-stamp + dh_testdir + +# handle timestamp skew; advice from autotools-dev README.Debian + touch configure.in && \ + touch aclocal.m4 && \ + touch configure + + touch $@ + +# Calling GNU configure properly; advice from autotools-dev README.Debian +configure-main: configure-common-stamp configure-main-stamp +configure-main-stamp: configure-common-stamp + dh_testdir + mkdir -p $(MAIN_BUILD_DIR); \ + cd $(MAIN_BUILD_DIR); \ + $(SRC_DIR)/configure \ + CFLAGS="$(CFLAGS)" \ + $(CONFFLAGS) \ + --prefix=$(prefix) \ + --mandir=$(share)/man \ + --infodir=$(share)/info \ + $(MAIN_CONFIGURE_FLAGS) + touch $@ + +configure-udeb: configure-common-stamp configure-udeb-stamp +configure-udeb-stamp: configure-common-stamp + dh_testdir + mkdir -p $(DIRECTFB_BUILD_DIR); \ + cd $(DIRECTFB_BUILD_DIR); \ + $(SRC_DIR)/configure \ + CFLAGS="$(CFLAGS_UDEB)" \ + $(CONFFLAGS) \ + --prefix=$(DIRECTFB_PREFIX) \ + --mandir=$(share)/man \ + --infodir=$(share)/info \ + $(DIRECTFB_CONFIGURE_FLAGS) + touch $@ + + +build: build-main build-udeb + +build-main: build-main-stamp +build-main-stamp: configure-main-stamp + dh_testdir + cd $(MAIN_BUILD_DIR) && $(MAKE) + touch build-stamp + +build-udeb: build-udeb-stamp +build-udeb-stamp: configure-udeb-stamp + dh_testdir + cd $(DIRECTFB_BUILD_DIR) && $(MAKE) + touch build-stamp + +clean: unpatch + dh_testdir + dh_testroot + rm -f *-stamp libtool + rm -rf debian/libcairo2 debian/libcairo2-dev debian/libcairo2-doc libcairo-directfb2-udeb debian/libcairo-directfb2-udeb-dev debian/libcairo-directfb2 + rm -rf $(MAIN_BUILD_DIR) $(DIRECTFB_BUILD_DIR) $(MAIN_DIST_DIR) $(DIRECTFB_DIST_DIR) + rm -f debian/cairo-directfb.pc + + -rm -f config.h config.cache config.status config.log + +# Copy in fresh copies of config.{sub,guess} +# (these are from autotools-dev, so must Build-Depend on it) + -test -r /usr/share/misc/config.sub && \ + cp -f /usr/share/misc/config.sub config.sub + -test -r /usr/share/misc/config.guess && \ + cp -f /usr/share/misc/config.guess config.guess + + dh_clean + + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + cd $(MAIN_BUILD_DIR) && $(MAKE) install DESTDIR=$(MAIN_DIST_DIR) + + cd $(DIRECTFB_BUILD_DIR) && $(MAKE) install DESTDIR=$(DIRECTFB_DIST_DIR) + + mkdir -p $(DIRECTFB_DIST_DIR)/usr/lib/pkgconfig + sed -e 's/Name: cairo/Name: cairo-directfb/' -e 's/^\(Libs: .*\)$$/\1 -Wl,-rpath,$${libdir}/' $(DIRECTFB_DIST_DIR)/$(DIRECTFB_PREFIX)/lib/pkgconfig/cairo.pc > $(DIRECTFB_DIST_DIR)/usr/lib/pkgconfig/cairo-directfb.pc + + sed -i 's:/usr/lib/lib\([^ ]*\).la:-l\1:g' $(MAIN_DIST_DIR)/usr/lib/*.la + sed -i 's:/usr/lib/lib\([^ ]*\).la:-l\1:g' $(DIRECTFB_DIST_DIR)/usr/lib/libcairo-directfb/lib/*.la + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + + dh_install + dh_installdocs -A README NEWS AUTHORS + dh_installchangelogs ChangeLog + dh_installman + dh_installexamples + dh_link + dh_strip -a --dbg-package=libcairo2-dbg + rm -rf debian/libcairo2-dbg/usr/lib/debug/usr/lib/libcairo-directfb + dh_compress + dh_fixperms + dh_makeshlibs -plibcairo2 -V 'libcairo2 (>= 1.5.12)' -- -c4 + dh_makeshlibs -plibcairo-directfb2 -V 'libcairo-directfb2 (>= 1.5.12)' --add-udeb 'libcairo-directfb2-udeb' -- -c4 + dh_installdeb + dh_shlibdeps + dh_perl + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch + +.PHONY: build clean binary-indep binary-arch binary install configure \ + patch unpatch clean1 --- cairo-1.5.12.orig/debian/changelog +++ cairo-1.5.12/debian/changelog @@ -0,0 +1,723 @@ +cairo (1.5.12-0ubuntu2) hardy; urgency=low + + * debian/patches/90_from_git_fix_pdf_printing.dpatch: + - change from git, fix pdf printing (lp: #199493) + + -- Sebastien Bacher Thu, 13 Mar 2008 12:23:25 +0100 + +cairo (1.5.12-0ubuntu1) hardy; urgency=low + + * New upstream version: 1.5.12 + * Drop patch applied upstream + - drop debian/patches/01-fixed_point_24.8_precision.dpatch + - update debian/patches/00list + * Refresh diverged debian/patches/02-lcd_filter_freedesktop_bug10301.dpatch + * Update shlibs version + - update debian/rules + * Add workaround for background corruption in firefox 3 by + setting buggy_repeat inconditionally (LP: #186186) + - add debian/patches/03-turn_on_buggy-repeat_handling.dpatch + - update debian/patches/00list + + -- Fabien Tassin Fri, 29 Feb 2008 22:54:20 +0100 + +cairo (1.5.8-0ubuntu1) hardy; urgency=low + + * debian/rules: + - updated shlibs version + + [ Fabien Tassin ] + * New upstream version: 1.5.8 + * debian/patches/01-fixed_point_24.8_precision.dpatch + - updated as CAIRO_FIXED_FRAC_BITS is now in cairo-fixed-type-private.h + * debian/patches/02-lcd_filter_freedesktop_bug10301.dpatch: + - updated to reflect upstream changes + * debian/rules + - drop TODO from dh_installdocs as it's gone + + -- Sebastien Bacher Thu, 31 Jan 2008 11:54:19 +0100 + +cairo (1.5.6-1ubuntu1) hardy; urgency=low + + * Sync on Debian + * New upstream version: + - Fix alignment issues (LP: #181001) + * debian/control.in: + - updated build-depends on libfreetype and libfontconfig + - updated maintainer information + * debian/patches/01-fixed_point_24.8_precision.dpatch: + - use 24.8 fixed point precision other firerox has rendering issues + * debian/patches/02-lcd_filter_freedesktop_bug10301.dpatch: + - better rendering change + + -- Sebastien Bacher Thu, 17 Jan 2008 13:00:59 +0100 + +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.5.4-0ubuntu1) hardy; urgency=low + + * debian/rules: + - updated shlibs version + + [ Fabien Tassin ] + * new upstream snapshot: 1.5.4 + * Drop patches no longer useful: + - debian/patches/91_malloc-overflow-fixes.dpatch + - debian/patches/90_from_git_fix_zero_sized_bitmap_handling.dpatch + - debian/patches/90_from_git_fix_not_available_glyph_handling.dpatch + * Replace Ubuntu's lcd patch by patch from Freedesktop bug #10301 + - drop debian/patches/02-cairo-1.4.8-lcd-filter-2.dpatch + - add debian/patches/02-lcd_filter_freedesktop_bug10301.patch + * Move from 16.16 to 24.8 fixed point precision + - add debian/patches/01-fixed_point_24.8_precision.dpatch + * Add libpixman-1-dev (>= 0.9.4) to Build-deps + - update debian/control + * Update debian/patches/00list + + -- Sebastien Bacher Fri, 21 Dec 2007 11:46:45 +0100 + +libcairo (1.4.10-1ubuntu6) hardy; urgency=low + + * Fix debian/patches/91_malloc-overflow-fixes.dpatch to avoid + divide-by-zero; patch from upstream fixes (LP: #173861): + http://gitweb.freedesktop.org/?p=cairo;a=commitdiff_plain;h=6020f67f1a49cfe3844c4938d4af24c63c8424cc;hp=c79fc9af334fd6f2d1078071d64178125561b187 + + -- Sebastien Bacher Tue, 11 Dec 2007 09:51:17 +0100 + +libcairo (1.4.10-1ubuntu5) hardy; urgency=low + + * debian/patches/90_from_git_fix_zero_sized_bitmap_handling.dpatch: + - patch from git, "Under rare circumstances we may need to extract a + surface that represents a bitmap with width==0 and rows==0. + Detect this case at the start and simply return a zero-sized surface." + This fix some pdf being displayed as mostly blank when using evince + (LP: #116236) + + -- Sebastien Bacher Sat, 08 Dec 2007 12:40:12 +0100 + +libcairo (1.4.10-1ubuntu4.1) gutsy-security; urgency=low + + * SECURITY UPDATE: arbitrary code execution via integer overflows in + PNG handling. + * Add debian/patches/91_malloc-overflow-fixes.dpatch: backported upstream + fixes. + * References + http://gitweb.freedesktop.org/?p=cairo;a=commitdiff;h=5c7d2d14d78e4dfb1ef6d2c40f0910f177e07360 + http://gitweb.freedesktop.org/?p=cairo;a=commitdiff;h=e49bcde27f88e21d5b8037a0089a226096f6514b + CVE-2007-5503 + + -- Kees Cook Thu, 29 Nov 2007 12:57:18 -0800 + +libcairo (1.4.10-1ubuntu4) gutsy; urgency=low + + * debian/patches/90_from_git_fix_not_available_glyph_handling.dpatch: + - patch from git, fix rendering issue when some glyphs are not available + (LP: #116236) + + -- Sebastien Bacher Fri, 28 Sep 2007 13:49:31 +0200 + +libcairo (1.4.10-1ubuntu3) gutsy; urgency=low + + * debian/patches/02-cairo-1.4.8-lcd-filter-2.dpatch: + - Restore patch that uses the new FreeType LCD colour filtering features, + with additional modification that the specific LCD Filter can be + changed. + + -- Scott James Remnant Thu, 20 Sep 2007 20:11:09 +0100 + +libcairo (1.4.10-1ubuntu2) gutsy; urgency=low + + * debian/patches/02-cairo-1.4.8-lcd-filter-1.patch: + - remove - interacts poorly with the bytecode interpreter in + freetype, which we already have enabled + + -- Matthew Garrett Thu, 20 Sep 2007 05:09:23 +0100 + +libcairo (1.4.10-1ubuntu1) gutsy; urgency=low + + [ Matti Lindell ] + * debian/patches/02-cairo-1.4.8-lcd-filter-1.patch: + - ClearType-like LCD filtering (David Turner's patches) + + [ Scott James Remnant ] + * Bump build-dependency on libfreetype6-dev to ensure we build with the + equally patched version. + + -- Scott James Remnant Tue, 18 Sep 2007 17:38:32 +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 + --- cairo-1.5.12.orig/debian/libcairo-directfb2-udeb.install +++ cairo-1.5.12/debian/libcairo-directfb2-udeb.install @@ -0,0 +1 @@ +debian/dist-directfb/usr/lib/libcairo-directfb/lib/libcairo.so.* /usr/lib --- cairo-1.5.12.orig/debian/libcairo2-dev.install +++ cairo-1.5.12/debian/libcairo2-dev.install @@ -0,0 +1,5 @@ +debian/dist-main/usr/include/cairo/*.h /usr/include/cairo +debian/dist-main/usr/lib/libcairo.so /usr/lib +debian/dist-main/usr/lib/libcairo*.a /usr/lib +debian/dist-main/usr/lib/libcairo*.la /usr/lib +debian/dist-main/usr/lib/pkgconfig/cairo*.pc /usr/lib/pkgconfig --- cairo-1.5.12.orig/debian/libcairo-directfb2.install +++ cairo-1.5.12/debian/libcairo-directfb2.install @@ -0,0 +1 @@ +debian/dist-directfb/usr/lib/libcairo-directfb/lib/libcairo.so.* /usr/lib/libcairo-directfb/lib --- cairo-1.5.12.orig/debian/compat +++ cairo-1.5.12/debian/compat @@ -0,0 +1 @@ +5 --- cairo-1.5.12.orig/debian/libcairo2.install +++ cairo-1.5.12/debian/libcairo2.install @@ -0,0 +1 @@ +debian/dist-main/usr/lib/libcairo.so.* /usr/lib