]> git.pld-linux.org Git - packages/netsurf.git/blob - libnsfb-xcb-fix.patch
comment on CXX and improve others
[packages/netsurf.git] / libnsfb-xcb-fix.patch
1 --- a/libnsfb-0.0.2/Makefile
2 +++ b/libnsfb-0.0.2/Makefile
3 @@ -32,16 +32,41 @@
4  endif 
5  
6  ifeq ($(NSFB_XCB_AVAILABLE),yes)
7 -  $(eval $(call pkg_config_package_min_version,NSFB_XCB_NEW_API,xcb,0.23))
8 +  # Size hint allocators were removed in xcb-icccm 0.3.0
9 +  $(eval $(call pkg_config_package_min_version,NSFB_XCB_ICCCM_SIZE_HINTS,xcb-icccm,0.3.0))
10 +  ifeq ($(NSFB_XCB_ICCCM_SIZE_HINTS),yes)
11 +    CFLAGS := $(CFLAGS) -DNSFB_NEED_HINTS_ALLOC
12 +  endif
13 +
14 +  # xcb-icccm 0.3.8 introduced an additional "icccm_" in function names
15 +  $(eval $(call pkg_config_package_min_version,NSFB_XCB_ICCCM_API_PREFIX,xcb-icccm,0.3.8))
16 +  ifeq ($(NSFB_XCB_ICCCM_API_PREFIX),yes)
17 +    CFLAGS := $(CFLAGS) -DNSFB_NEED_ICCCM_API_PREFIX
18 +  endif
19  
20 -  ifeq ($(NSFB_XCB_NEW_API),yes)
21 -    CFLAGS := $(CFLAGS) -DNEED_HINTS_ALLOC
22 +  # xcbproto 1.6 incorporated atoms previously found in xcb_atom
23 +  # However, libxcb <1.3 did not report xcbproto versions. Assume xcbproto 1.5 in this case.
24 +  $(eval $(call pkg_config_package_min_version,NSFB_HAVE_MODERN_XCB,xcb,1.3))
25 +  ifeq ($(NSFB_HAVE_MODERN_XCB),yes)
26 +    $(eval $(call pkg_config_get_variable,NSFB_XCBPROTO_VERSION,xcb,xcbproto_version))
27 +    NSFB_XCBPROTO_MAJOR_VERSION := $(word 1,$(subst ., ,$(NSFB_XCBPROTO_VERSION)))
28 +    NSFB_XCBPROTO_MINOR_VERSION := $(word 2,$(subst ., ,$(NSFB_XCBPROTO_VERSION)))
29 +    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MAJOR_VERSION=$(NSFB_XCBPROTO_MAJOR_VERSION)
30 +    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MINOR_VERSION=$(NSFB_XCBPROTO_MINOR_VERSION)
31 +  else
32 +    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MAJOR_VERSION=1
33 +    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MINOR_VERSION=5
34    endif
35  
36    $(eval $(call pkg_config_package_add_flags,$(NSFB_XCB_PKG_NAMES),CFLAGS))
37    $(eval $(call pkg_config_package_add_flags,$(NSFB_XCB_PKG_NAMES),TESTCFLAGS,TESTLDFLAGS))
38  
39    REQUIRED_PKGS := $(REQUIRED_PKGS) $(NSFB_XCB_PKG_NAMES)
40 +
41 +  $(eval $(call pkg_config_package_available,NSFB_XCB_UTIL_AVAILABLE,xcb-util))
42 +  ifeq ($(NSFB_XCB_UTIL_AVAILABLE),yes)
43 +    REQUIRED_PKGS := $(REQUIRED_PKGS) xcb-util
44 +  endif
45  endif
46  
47  ifeq ($(NSFB_VNC_AVAILABLE),yes)
48 --- a/libnsfb-0.0.2/src/surface/x.c
49 +++ b/libnsfb-0.0.2/src/surface/x.c
50 @@ -33,7 +33,7 @@
51  #include "plot.h"
52  #include "cursor.h"
53  
54 -#if defined(NEED_HINTS_ALLOC)
55 +#if defined(NSFB_NEED_HINTS_ALLOC)
56  static xcb_size_hints_t *
57  xcb_alloc_size_hints(void)
58  {
59 @@ -47,6 +47,17 @@
60  }
61  #endif
62  
63 +#if defined(NSFB_NEED_ICCCM_API_PREFIX)
64 +#define xcb_size_hints_set_max_size xcb_icccm_size_hints_set_max_size
65 +#define xcb_size_hints_set_min_size xcb_icccm_size_hints_set_min_size
66 +#define xcb_set_wm_size_hints       xcb_icccm_set_wm_size_hints
67 +#endif
68 +
69 +#if (NSFB_XCBPROTO_MAJOR_VERSION > 1) || \
70 +    (NSFB_XCBPROTO_MAJOR_VERSION == 1 && NSFB_XCBPROTO_MINOR_VERSION >= 6)
71 +#define WM_NORMAL_HINTS XCB_ATOM_WM_NORMAL_HINTS
72 +#endif
73 +
74  #define X_BUTTON_LEFT 1
75  #define X_BUTTON_MIDDLE 2
76  #define X_BUTTON_RIGHT 3
77 --- a/libnsfb-0.0.2/build/makefiles/Makefile.pkgconfig
78 +++ b/libnsfb-0.0.2/build/makefiles/Makefile.pkgconfig
79 @@ -24,7 +24,7 @@
80      $$(error pkg-config is required to auto-detect package version)
81    endif
82  
83 -  $(1) := $$(shell $$(PKGCONFIG) --version $(2))
84 +  $(1) := $$(shell $$(PKGCONFIG) --modversion $(2))
85  
86  endef
87  
88 @@ -86,3 +86,15 @@
89  
90  endef
91  
92 +# Obtain the value of a pkg-config variable
93 +# 1: Name of variable to assign result into
94 +# 2: Name of package to search for
95 +# 3: Name of pkg-config variable to retrieve
96 +define pkg_config_get_variable
97 +  ifeq ($$(PKGCONFIG),)
98 +    $$(error pkg-config is required to auto-detect package version)
99 +  endif
100 +
101 +  $(1) := $$(shell $$(PKGCONFIG) --variable=$(3) $(2))
102 +
103 +endef
This page took 0.064577 seconds and 3 git commands to generate.