diff --git a/x11-libs/cairo/cairo-1.16.0.recipe b/x11-libs/cairo/cairo-1.16.0.recipe index dc9cc8990..66859704c 100644 --- a/x11-libs/cairo/cairo-1.16.0.recipe +++ b/x11-libs/cairo/cairo-1.16.0.recipe @@ -19,7 +19,7 @@ COPYRIGHT="2000, 2002, 2004-2007 Keith Packard 2002-2010 many others" LICENSE="GNU LGPL v2.1 MPL v1.1" -REVISION="2" +REVISION="3" SOURCE_URI="http://cairographics.org/releases/cairo-$portVersion.tar.xz" CHECKSUM_SHA256="5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331" PATCHES="cairo-$portVersion.patchset" @@ -27,6 +27,8 @@ PATCHES="cairo-$portVersion.patchset" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" +# This recipe MUST be kept in sync with xcairo! + libVersion="2.11600.0" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" @@ -88,7 +90,8 @@ BUILD() { autoreconf -fi export CFLAGS=-D__BSD_VISIBLE - runConfigure ./configure + runConfigure ./configure \ + --disable-static --enable-shared make $jobArgs } diff --git a/x11-libs/cairo/patches/cairo-1.16.0.patchset b/x11-libs/cairo/patches/cairo-1.16.0.patchset index b5b705f35..d45c58365 100644 --- a/x11-libs/cairo/patches/cairo-1.16.0.patchset +++ b/x11-libs/cairo/patches/cairo-1.16.0.patchset @@ -1,14 +1,14 @@ -From 888e4094afccd2016aa72828b7d49263ee80d8db Mon Sep 17 00:00:00 2001 +From 7fa107c58c2809a9059128e754ce65d96be1e29e Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Fri, 3 Oct 2014 18:33:08 +0000 Subject: Haiku patch diff --git a/configure.ac b/configure.ac -index 2ce1959..c04c05c 100644 +index 5e33c96..3baa8a8 100644 --- a/configure.ac +++ b/configure.ac -@@ -287,6 +287,11 @@ CAIRO_ENABLE_SURFACE_BACKEND(beos, BeOS/Zeta, no, [ +@@ -270,6 +270,11 @@ CAIRO_ENABLE_SURFACE_BACKEND(beos, BeOS/Zeta, no, [ AC_CHECK_LIB(be,main,beos_LIBS="$beos_LIBS -lbe") AC_CHECK_LIB(zeta,main,beos_LIBS="$beos_LIBS -lzeta") ;; @@ -21,17 +21,17 @@ index 2ce1959..c04c05c 100644 use_beos="no (requires a BeOS platform)" ;; -- -2.10.2 +2.30.2 -From e3e4f468cc12266d121a2ddb99808a090b15e157 Mon Sep 17 00:00:00 2001 +From cc2b20d99233178bfdc567c0d56ed23bb50825ec Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Mon, 6 Oct 2014 18:07:36 +0200 Subject: Add missing include fenv.h. diff --git a/test/cairo-test.c b/test/cairo-test.c -index a351b01..474f34c 100644 +index d93468b..9d5901d 100644 --- a/test/cairo-test.c +++ b/test/cairo-test.c @@ -40,6 +40,7 @@ @@ -43,10 +43,10 @@ index a351b01..474f34c 100644 #if HAVE_FCFINI #include -- -2.10.2 +2.30.2 -From 66cf163733ee56380b0525b918b7969849ed0229 Mon Sep 17 00:00:00 2001 +From 922d7a3f67ebee8dcb0365d04023450e7e17574f Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Fri, 21 Nov 2014 22:11:40 +0000 Subject: link tests against libnetwork. @@ -66,7 +66,7 @@ index 40b35bc..ee150d9 100644 SUBDIRS = micro diff --git a/test/Makefile.am b/test/Makefile.am -index b2fcd27..cf7e4ad 100644 +index e3c42ea..6ce956f 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -94,7 +94,7 @@ cairo_test_suite_LDADD = \ @@ -78,7 +78,7 @@ index b2fcd27..cf7e4ad 100644 cairo_test_suite_DEPENDENCIES = \ $(top_builddir)/test/pdiff/libpdiff.la \ $(top_builddir)/boilerplate/libcairoboilerplate.la \ -@@ -210,7 +210,7 @@ AM_CPPFLAGS = \ +@@ -211,7 +211,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_builddir)/src \ $(CAIRO_CFLAGS) @@ -88,5 +88,57 @@ index b2fcd27..cf7e4ad 100644 $(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la -- -2.10.2 +2.30.2 + + +From 6fb43c65d687a5fa703b0f7457d6464bc2929ac4 Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Fri, 17 Dec 2021 22:56:11 -0500 +Subject: Xlib: Do not attempt to use shm. + + +diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c +index 1ee1e3d..9803115 100644 +--- a/src/cairo-xlib-surface-shm.c ++++ b/src/cairo-xlib-surface-shm.c +@@ -37,12 +37,12 @@ + + #include "cairoint.h" + +-#if !CAIRO_HAS_XLIB_XCB_FUNCTIONS ++#if 1 + + #include "cairo-xlib-private.h" + #include "cairo-xlib-surface-private.h" + +-#if !HAVE_X11_EXTENSIONS_XSHM_H || !(HAVE_X11_EXTENSIONS_SHMPROTO_H || HAVE_X11_EXTENSIONS_SHMSTR_H) ++#if 1 + void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) {} + + cairo_surface_t * +diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c +index 2a6d896..c46f660 100644 +--- a/src/cairo-xlib-surface.c ++++ b/src/cairo-xlib-surface.c +@@ -70,7 +70,9 @@ + + #include + #include ++#ifndef __HAIKU__ + #include ++#endif + + #define XLIB_COORD_MAX 32767 + +@@ -1390,7 +1392,7 @@ _cairo_xlib_surface_acquire_source_image (void *abstract_surf + *image_extra = NULL; + *image_out = (cairo_image_surface_t *) + _cairo_xlib_surface_get_shm (abstract_surface, FALSE); +- if (*image_out) ++ if (*image_out) + return (*image_out)->base.status; + + extents.x = extents.y = 0; +-- +2.30.2 diff --git a/x11-libs/cairo/xcairo-1.16.0.recipe b/x11-libs/cairo/xcairo-1.16.0.recipe new file mode 100644 index 000000000..33bc59902 --- /dev/null +++ b/x11-libs/cairo/xcairo-1.16.0.recipe @@ -0,0 +1,122 @@ +SUMMARY="Multi-platform 2D graphics library" +DESCRIPTION="Cairo is a 2D graphics library with support for multiple output \ +devices. Currently supported output targets include the X Window \ +System (via both Xlib and XCB), quartz, win32, and image buffers, \ +as well as PDF, PostScript, and SVG file output. Experimental backends \ +include OpenGL, BeOS, OS/2, and DirectFB." +HOMEPAGE="http://cairographics.org/" +COPYRIGHT="2000, 2002, 2004-2007 Keith Packard + 2002-2003 University of Southern California + 2004-2010 Red Hat, Inc. + 2005-2010 Mozilla Corporation + 2006-2009 Adrian Johnson + 2007-2009 Chris Wilson + 2006-2013 Intel Corporation + 2011 Andrea Canciani + 2011 Samsung Electronics + 2010-2011 Linaro Limited + 2009-2010 Eric Anholt + 2002-2010 many others" +LICENSE="GNU LGPL v2.1 + MPL v1.1" +REVISION="2" +SOURCE_URI="http://cairographics.org/releases/cairo-$portVersion.tar.xz" +CHECKSUM_SHA256="5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331" +PATCHES="cairo-$portVersion.patchset" +SOURCE_DIR="cairo-$portVersion" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +libVersion="2.11600.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + xcairo$secondaryArchSuffix = $portVersion + lib:libcairo_xlib$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + cairo$secondaryArchSuffix == $portVersion + lib:libpixman_1$secondaryArchSuffix + lib:libX11$secondaryArchSuffix + " + +PROVIDES_devel=" + xcairo${secondaryArchSuffix}_devel = $portVersion + devel:libcairo_xlib$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + xcairo$secondaryArchSuffix == $portVersion base + cairo${secondaryArchSuffix}_devel == $portVersion + devel:libpixman_1$secondaryArchSuffix + devel:libX11$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + cairo${secondaryArchSuffix}_devel == $portVersion + devel:libX11$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:aclocal + cmd:autoconf + cmd:automake + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtoolize + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +defineDebugInfoPackage xcairo$secondaryArchSuffix \ + "$libDir"/libcairo-xlib.so.$libVersion + +BUILD() +{ + exit 0 + autoreconf -fi + export CFLAGS=-D__BSD_VISIBLE + + runConfigure ./configure \ + --disable-static --enable-shared \ + --enable-xlib + make $jobArgs + + # hack: build libcairo-xlib from just the relevant objects + rm -f cairo-tmp.a + # TODO: these symbols should really all be hidden + ar rcs cairo-tmp.a src/.libs/*.o + gcc -shared -o libcairo-xlib.so -lcairo -lpixman-1 -lfreetype -lfontconfig \ + -lX11 -lXext -Wl,--no-undefined \ + src/.libs/*xlib*.o cairo-tmp.a +} + +INSTALL() +{ + # install our custom cairo-xlib + mkdir -p $libDir + cp libcairo-xlib.so $libDir + mv $libDir/libcairo-xlib.so $libDir/libcairo-xlib.so.$libVersion + ln -s libcairo-xlib.so.$libVersion $libDir/libcairo-xlib.so.2 + ln -s libcairo-xlib.so.$libVersion $libDir/libcairo-xlib.so + + # pkg-config + mkdir -p $developLibDir/pkgconfig/ + cp src/cairo-xlib.pc $developLibDir/pkgconfig/ + sed -i "s/Libs\\:/Libs\\: -lcairo-xlib/" $developLibDir/pkgconfig/cairo-xlib.pc + + # header + mkdir -p $includeDir/cairo + cp src/cairo-xlib.h $includeDir/cairo/ + sed -i '/^#if CAIRO_HAS_XLIB_SURFACE.*/i #define CAIRO_HAS_XLIB_SURFACE 1' $includeDir/cairo/cairo-xlib.h + + prepareInstalledDevelLibs \ + libcairo-xlib + + # make compatibility symlinks + ln -s libcairo-xlib.so.$libVersion $libDir/libcairo-xlib.so.2 + + packageEntries devel \ + $developDir +}