graphics/cairo: sync with upstream

Taken from: FreeBSD
This commit is contained in:
Franco Fichtner 2022-06-02 10:25:24 +02:00
parent 455844af5b
commit bf0517a28c
9 changed files with 47 additions and 97 deletions

View file

@ -2,6 +2,7 @@
PORTNAME= cairo
DISTVERSION= 1.17.4
PORTREVISION= 1
PORTEPOCH= 3
CATEGORIES= graphics
MASTER_SITES= https://cairographics.org/releases/ \
@ -24,15 +25,14 @@ LIB_DEPENDS= libfreetype.so:print/freetype2 \
PORTSCOUT= skipv:5c-1.1,5c-1.2,5c-1.5
USES= autoreconf cpe gnome libtool pathfix pkgconfig tar:xz xorg
USES= autoreconf cpe gnome libtool pkgconfig tar:xz xorg
CPE_VENDOR= cairographics
USE_XORG= pixman
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-html-dir=${DOCSDIR} \
--disable-directfb \
CONFIGURE_ARGS= --disable-directfb \
--disable-gallium \
--disable-wgl \
--enable-tee
@ -44,6 +44,9 @@ OPTIONS_DEFAULT=OPENGL XCB GLIB X11
OPTIONS_SLAVE= ${ARCH:tu}
OPTIONS_SUB= yes
DOCS_BUILD_DEPENDS= gtkdocize:textproc/gtk-doc
DOCS_CONFIGURE_ON= --with-html-dir=${DOCSDIR}
X11_USES= xorg
X11_USE= xorg=x11,xext,xorgproto,xrender
X11_CONFIGURE_ENABLE=xlib
@ -75,22 +78,9 @@ MIPS_CONFIGURE_ENV= cairo_cv_atomic_primitives="libatomic-ops"
PLIST_SUB+= LIBVER=2.11704.0
post-patch:
@${REINPLACE_CMD} -e '/strings/s/ - / -a /' \
-e '/test/s/==/=/g' \
-e '/LIBS/s/-lrt//' -e '/LIBS/s|-ldld||' \
-e '/LIBS/s|-ldl||' \
${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|-lcairo|-lcairo -lpthread|' \
${WRKSRC}/src/*.pc.in
@${REINPLACE_CMD} -e '/@CAIRO_HAS_PNG_FUNCTIONS_TRUE@.*=/d' \
${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -e 's|-ldl||g' \
${WRKSRC}/util/*/Makefile.in \
${WRKSRC}/boilerplate/Makefile.in
post-patch-DOCS-off:
@${REINPLACE_CMD} -e 's|public||g' \
${WRKSRC}/doc/Makefile.in
@${REINPLACE_CMD} '/^SUBDIRS/s/doc//' ${WRKSRC}/Makefile.am
@${REINPLACE_CMD} -e '/^GTK_DOC_CHECK/d' -e '/doc\/.*Makefile/d' \
${WRKSRC}/configure.ac
.include <bsd.port.mk>

View file

@ -0,0 +1,10 @@
--- Makefile.am.orig 2020-11-26 23:20:59 UTC
+++ Makefile.am
@@ -20,7 +20,6 @@ if CAIRO_HAS_PNG_FUNCTIONS
SUBDIRS = src doc util
# libpng is required for our test programs
if CAIRO_HAS_PNG_FUNCTIONS
-SUBDIRS += boilerplate test perf
endif
doc:

View file

@ -0,0 +1,17 @@
--- build/configure.ac.system.orig 2020-11-26 23:20:59 UTC
+++ build/configure.ac.system
@@ -53,11 +53,11 @@ LIBS="$LIBS $LIBM"
AC_CHECK_LIBM
LIBS="$LIBS $LIBM"
-AC_CHECK_LIB(rt, sched_yield)
+AC_CHECK_LIB(c, sched_yield)
has_shm_open=
-AC_CHECK_LIB(rt, shm_open, [
- SHM_LIBS=-lrt
+AC_CHECK_LIB(c, shm_open, [
+ SHM_LIBS=
has_shm_open=yes
], [SHM_LIBS=])
AM_CONDITIONAL(HAVE_SHM, test "x$has_shm_open" = "xyes")

View file

@ -0,0 +1,11 @@
--- configure.ac.orig 2020-11-26 23:20:59 UTC
+++ configure.ac
@@ -842,7 +842,7 @@ save_LIBS="$LIBS"
AM_CONDITIONAL(BUILD_SPHINX, test "x$have_glib" = "xyes" -a "x$have_windows" = "xno" -a "x$have_png" = "xyes")
save_LIBS="$LIBS"
-AC_CHECK_LIB(rt, shm_open, shm_LIBS="-lrt")
+AC_CHECK_LIB(c, shm_open, shm_LIBS="")
AC_SUBST(shm_LIBS)
LIBS="$save_LIBS"

View file

@ -1,10 +0,0 @@
--- perf/cairo-perf-micro.c.orig 2020-11-26 23:20:59 UTC
+++ perf/cairo-perf-micro.c
@@ -43,6 +43,7 @@
#endif
#ifdef HAVE_SCHED_H
+#define _WITH_CPU_SET_T
#include <sched.h>
#endif

View file

@ -1,29 +0,0 @@
--- src/cairo-gl.h.orig 2015-03-10 22:21:07 UTC
+++ src/cairo-gl.h
@@ -92,7 +92,7 @@ cairo_public void
cairo_gl_device_set_thread_aware (cairo_device_t *device,
cairo_bool_t thread_aware);
-#if CAIRO_HAS_GLX_FUNCTIONS
+#if defined(CAIRO_HAS_GLX_FUNCTIONS)
#include <GL/glx.h>
cairo_public cairo_device_t *
@@ -110,7 +110,7 @@ cairo_gl_surface_create_for_window (cair
int width, int height);
#endif
-#if CAIRO_HAS_WGL_FUNCTIONS
+#if defined(CAIRO_HAS_WGL_FUNCTIONS)
#include <windows.h>
cairo_public cairo_device_t *
@@ -126,7 +126,7 @@ cairo_gl_surface_create_for_dc (cairo_de
int height);
#endif
-#if CAIRO_HAS_EGL_FUNCTIONS
+#if defined(CAIRO_HAS_EGL_FUNCTIONS)
#include <EGL/egl.h>
cairo_public cairo_device_t *

View file

@ -1,14 +0,0 @@
--- src/cairo-xlib-display.c.orig 2015-03-10 22:21:07 UTC
+++ src/cairo-xlib-display.c
@@ -263,11 +263,7 @@ _cairo_xlib_device_create (Display *dpy)
/* Prior to Render 0.10, there is no protocol support for gradients and
* we call function stubs instead, which would silently consume the drawing.
*/
-#if RENDER_MAJOR == 0 && RENDER_MINOR < 10
display->buggy_gradients = TRUE;
-#else
- display->buggy_gradients = FALSE;
-#endif
display->buggy_pad_reflect = FALSE;
display->buggy_repeat = FALSE;

View file

@ -1,14 +0,0 @@
https://gitlab.freedesktop.org/cairo/cairo/-/issues/101
--- test/Makefile.am.orig 2021-05-28 10:52:08 UTC
+++ test/Makefile.am
@@ -18,7 +18,9 @@ endif
endif
if CAIRO_HAS_GL_SURFACE
+if CAIRO_HAS_GLX_FUNCTIONS
test_sources += $(gl_surface_test_sources)
+endif
endif
if CAIRO_HAS_EGL_FUNCTIONS

View file

@ -1,11 +0,0 @@
--- util/cairo-sphinx/sphinx.c.orig 2015-03-10 22:21:07 UTC
+++ util/cairo-sphinx/sphinx.c
@@ -1337,7 +1337,7 @@ client_shm (const char *shm_path)
base = mmap (NULL, DATA_SIZE,
PROT_READ | PROT_WRITE,
- MAP_SHARED | MAP_NORESERVE,
+ MAP_SHARED,
fd, 0);
close (fd);