From b5a32f28587a8590a6358784dd85fcb3f9d77ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Fri, 11 Oct 2013 13:16:23 +0000 Subject: main/xcb-util-image: fix compilation with new gcc --- main/xcb-util-image/APKBUILD | 22 +++++++++++-- main/xcb-util-image/fix-c90-warnings-2.patch | 28 +++++++++++++++++ main/xcb-util-image/fix-c90-warnings.patch | 33 ++++++++++++++++++++ main/xcb-util-image/fix-return.patch | 46 ++++++++++++++++++++++++++++ 4 files changed, 126 insertions(+), 3 deletions(-) create mode 100644 main/xcb-util-image/fix-c90-warnings-2.patch create mode 100644 main/xcb-util-image/fix-c90-warnings.patch create mode 100644 main/xcb-util-image/fix-return.patch (limited to 'main/xcb-util-image') diff --git a/main/xcb-util-image/APKBUILD b/main/xcb-util-image/APKBUILD index 46d28782a5..e8f0d5a81a 100644 --- a/main/xcb-util-image/APKBUILD +++ b/main/xcb-util-image/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa pkgname=xcb-util-image pkgver=0.3.9 -pkgrel=0 +pkgrel=1 pkgdesc="Utility libraries for XC Binding - image" url="http://xcb.freedesktop.org/" arch="all" @@ -13,7 +13,11 @@ makedepends="$depends_dev m4" install="" replaces="xcb-util" subpackages="$pkgname-dev" -source="http://xcb.freedesktop.org/dist/xcb-util-image-$pkgver.tar.gz" +source="http://xcb.freedesktop.org/dist/xcb-util-image-$pkgver.tar.gz + fix-return.patch + fix-c90-warnings.patch + fix-c90-warnings-2.patch + " _builddir="$srcdir"/xcb-util-image-$pkgver prepare() { @@ -29,6 +33,7 @@ prepare() { build() { cd "$_builddir" + export CFLAGS="$CFLAGS -std=gnu99" ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -47,4 +52,15 @@ package() { rm "$pkgdir"/usr/lib/*.la } -md5sums="0bdfcea4ce0666b45d2d64c1f1e25801 xcb-util-image-0.3.9.tar.gz" +md5sums="0bdfcea4ce0666b45d2d64c1f1e25801 xcb-util-image-0.3.9.tar.gz +92a43b07efef0450bf65838a65793580 fix-return.patch +268dde6f747d697f80c2daa351f40633 fix-c90-warnings.patch +8a934c04a513efdbfeaadd65229ccc7f fix-c90-warnings-2.patch" +sha256sums="ac7fa09eddc9ecda6fd872d32b6dc23d451a1c6c201873dfe7cac8362c87acf3 xcb-util-image-0.3.9.tar.gz +05a16fb3ae61bd1e02cc3c55f24ab677865ab514c0935151af63e58b647ac515 fix-return.patch +aa0413a24bdb4954e01a68ba235199c64e38f6ba18ac8440f25f28bb265fd10c fix-c90-warnings.patch +55c9d781997eaec1b0c10819b8211321a6e15ea472af7687e9cb93988f4aa12c fix-c90-warnings-2.patch" +sha512sums="f4b6a8c39dcb63273627655dd5b99fcf6d9d5d1cd32ec57589e8fa3ac04c043548c615f60a2d9673d38e9ce0e1b56cf51a17c55669c7b37e48d9054474ae4090 xcb-util-image-0.3.9.tar.gz +12c9d36375e42c127fd0e50363b5289cfa86ec238f94af9914e1a5375e55180fe37645a7cc473ff19c286c84dfdee74b6bdb7c3aa6ae1f3d0f0608e482d4c76c fix-return.patch +1df9fd7fd6e8c0802635f8034b43a77766dddf7b7fb868c5788caf3073798e3ded8c1b6e1baace88fe742d0ea86e1da71f8c77b069242e15d5bf13c1bd82768f fix-c90-warnings.patch +d9406550a1da9de117a77284888464e6de88908de386b2e0c24b6e33c30cc1d0b975665d10b67e75b464d88878c0d794682f0e10ab160271f8b2a5cad735293e fix-c90-warnings-2.patch" diff --git a/main/xcb-util-image/fix-c90-warnings-2.patch b/main/xcb-util-image/fix-c90-warnings-2.patch new file mode 100644 index 0000000000..dfce496685 --- /dev/null +++ b/main/xcb-util-image/fix-c90-warnings-2.patch @@ -0,0 +1,28 @@ +--- xcb-util-image-0.3.9.orig/image/xcb_image.c ++++ xcb-util-image-0.3.9/image/xcb_image.c +@@ -324,6 +324,11 @@ + case XCB_IMAGE_FORMAT_XY_PIXMAP: + plane_mask &= xcb_mask(imrep->depth); + if (plane_mask != xcb_mask(imrep->depth)) { ++ int i; ++ uint32_t rpm = plane_mask; ++ uint8_t * src_plane = image->data; ++ uint8_t * dst_plane; ++ uint32_t size = image->height * image->stride; + xcb_image_t * tmp_image = + xcb_image_create_native(conn, width, height, format, + imrep->depth, 0, 0, 0); +@@ -333,12 +338,7 @@ + return 0; + } + +- int i; +- uint32_t rpm = plane_mask; +- uint8_t * src_plane = image->data; +- uint8_t * dst_plane = tmp_image->data; +- uint32_t size = image->height * image->stride; +- ++ dst_plane = tmp_image->data; + if (tmp_image->bit_order == XCB_IMAGE_ORDER_MSB_FIRST) + rpm = xcb_bit_reverse(plane_mask, imrep->depth); + for (i = 0; i < imrep->depth; i++) { diff --git a/main/xcb-util-image/fix-c90-warnings.patch b/main/xcb-util-image/fix-c90-warnings.patch new file mode 100644 index 0000000000..f9cfa85b6c --- /dev/null +++ b/main/xcb-util-image/fix-c90-warnings.patch @@ -0,0 +1,33 @@ +From 7c2c36a1472941353a700bbac7dc351a92f42258 Mon Sep 17 00:00:00 2001 +From: Bart Massey +Date: Fri, 23 Aug 2013 23:45:36 +0000 +Subject: fixed some compiler C90 warnings + +--- +diff --git a/image/test_xcb_image_shm.c b/image/test_xcb_image_shm.c +index 76f7f71..3162a6e 100644 +--- a/image/test_xcb_image_shm.c ++++ b/image/test_xcb_image_shm.c +@@ -58,6 +58,9 @@ main (int argc, char *argv[]) + int screen_nbr; + xcb_generic_event_t *e; + uint8_t format; ++ xcb_image_t *img; ++ xcb_shm_query_version_reply_t *rep; ++ xcb_shm_segment_info_t shminfo; + + /* Open the connexion to the X server and get the first screen */ + c = xcb_connect (NULL, &screen_nbr); +@@ -81,10 +84,6 @@ main (int argc, char *argv[]) + + /* Shm test */ + printf ("shm test begin\n"); +- xcb_image_t *img = 0; +- xcb_shm_query_version_reply_t *rep; +- xcb_shm_segment_info_t shminfo; +- + rep = xcb_shm_query_version_reply (c, + xcb_shm_query_version (c), + NULL); +-- +cgit v0.9.0.2-2-gbebe diff --git a/main/xcb-util-image/fix-return.patch b/main/xcb-util-image/fix-return.patch new file mode 100644 index 0000000000..d1ebc397a9 --- /dev/null +++ b/main/xcb-util-image/fix-return.patch @@ -0,0 +1,46 @@ +From 3577db110e03985d4486cae6caf3ceb5696c45e9 Mon Sep 17 00:00:00 2001 +From: Jon TURNEY +Date: Thu, 20 Dec 2012 22:56:28 +0000 +Subject: Fix compilation when NDEBUG is defined + +XORG_DEFAULT_OPTIONS enables -Werror=return-type + +xcb_image_get_pixel() and xcb_image_create_native() assume assert(0) is +noreturn, and don't return a value in that case. But assert(0) isn't noreturn +if NDEBUG is defined. + +Fix this by returning a suitable value. + +(Also, on the MinGW target, assert(0) is non-standard and may return even in the +!NDEBUG case, as the C runtime may ask the user if they want to abort or not...) + +/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c: In function 'xcb_image_get_pixel': +/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c:754:1: error: control reaches end of non-void function [-Wreturn-type] +/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c: In function 'xcb_image_create_native': +/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c:190:1: error: control reaches end of non-void function [-Wreturn-type] + +Signed-off-by: Jon TURNEY +Signed-off-by: Peter Harris +--- +diff --git a/image/xcb_image.c b/image/xcb_image.c +index e426cbd..101aa4f 100644 +--- a/image/xcb_image.c ++++ b/image/xcb_image.c +@@ -187,6 +187,7 @@ xcb_image_create_native (xcb_connection_t * c, + assert(0); + } + assert(0); ++ return NULL; + } + + +@@ -751,6 +752,7 @@ xcb_image_get_pixel (xcb_image_t *image, + default: + assert(0); + } ++ return 0; + } + + +-- +cgit v0.9.0.2-2-gbebe -- cgit v1.2.3