diff options
Diffstat (limited to 'dev-libs/wayland')
-rw-r--r-- | dev-libs/wayland/files/1.10.0-build-fix-configure-disable-dtd-validation.patch | 223 | ||||
-rw-r--r-- | dev-libs/wayland/wayland-1.10.0.ebuild | 17 |
2 files changed, 232 insertions, 8 deletions
diff --git a/dev-libs/wayland/files/1.10.0-build-fix-configure-disable-dtd-validation.patch b/dev-libs/wayland/files/1.10.0-build-fix-configure-disable-dtd-validation.patch new file mode 100644 index 000000000000..4d9795bdde7f --- /dev/null +++ b/dev-libs/wayland/files/1.10.0-build-fix-configure-disable-dtd-validation.patch @@ -0,0 +1,223 @@ +From: Pekka Paalanen <pekka.paalanen@collabora.co.uk> +Date: Mon, 29 Feb 2016 14:59:51 +0200 +Subject: [PATCH] build: fix ./configure --disable-dtd-validation + +When configured with --disable-dtd-validation: + + CPPAS src/dtddata.o +src/dtddata.S: Assembler messages: +src/dtddata.S:39: Error: file not found: src/wayland.dtd.embed +Makefile:1520: recipe for target 'src/dtddata.o' failed + +This is because the variable name used does not match the implicit +variable name in autoconf. + +Fix the variable name, making both --disable-dtd-validation and +--enable-dtd-validation to what they should. + +Do not try to build dtddata.S if dtd-validation is disabled. It depends +on wayland.dtd.embed which is created by configure only if +dtd-validation is enabled. + +If not building dtddata.S, also make sure the extern definitions in +scanner.c are compiled out. + +Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=575212 +Reported-by: leio@gentoo.org +Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> +Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net> +Tested-by: Bryce Harrington <bryce@osg.samsung.com> +[Mart: Added Makefile.in and configure changes to patch file to avoid autoreconf] +Signed-off-by: Mart Raudsepp <leio@gentoo.org> +--- + Makefile.am | 5 ++++- + Makefile.in | 20 ++++++++++++-------- + configure | 18 ++++++++++++++++-- + configure.ac | 5 +++-- + src/scanner.c | 6 +++--- + 5 files changed, 38 insertions(+), 16 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index e850abc..49e25a6 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -23,11 +23,14 @@ pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = + + bin_PROGRAMS = wayland-scanner +-wayland_scanner_SOURCES = src/scanner.c src/dtddata.S ++wayland_scanner_SOURCES = src/scanner.c + wayland_scanner_CFLAGS = $(EXPAT_CFLAGS) $(LIBXML_CFLAGS) $(AM_CFLAGS) + wayland_scanner_LDADD = $(EXPAT_LIBS) $(LIBXML_LIBS) libwayland-util.la + pkgconfig_DATA += src/wayland-scanner.pc + ++if DTD_VALIDATION ++wayland_scanner_SOURCES += src/dtddata.S ++endif + src/dtddata.o: protocol/wayland.dtd + + if USE_HOST_SCANNER +diff --git a/Makefile.in b/Makefile.in +index 6d9ffb2..32e6d51 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -82,8 +82,9 @@ POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ + bin_PROGRAMS = wayland-scanner$(EXEEXT) +-@ENABLE_LIBRARIES_TRUE@am__append_1 = libwayland-private.la +-@ENABLE_LIBRARIES_TRUE@am__append_2 = src/wayland-client.pc \ ++@DTD_VALIDATION_TRUE@am__append_1 = src/dtddata.S ++@ENABLE_LIBRARIES_TRUE@am__append_2 = libwayland-private.la ++@ENABLE_LIBRARIES_TRUE@am__append_3 = src/wayland-client.pc \ + @ENABLE_LIBRARIES_TRUE@ src/wayland-server.pc \ + @ENABLE_LIBRARIES_TRUE@ cursor/wayland-cursor.pc + @ENABLE_LIBRARIES_TRUE@TESTS = array-test$(EXEEXT) \ +@@ -101,7 +102,7 @@ bin_PROGRAMS = wayland-scanner$(EXEEXT) + @ENABLE_LIBRARIES_TRUE@ resources-test$(EXEEXT) \ + @ENABLE_LIBRARIES_TRUE@ message-test$(EXEEXT) \ + @ENABLE_LIBRARIES_TRUE@ headers-test$(EXEEXT) $(am__EXEEXT_1) +-@ENABLE_CPP_TEST_TRUE@@ENABLE_LIBRARIES_TRUE@am__append_3 = cpp-compile-test ++@ENABLE_CPP_TEST_TRUE@@ENABLE_LIBRARIES_TRUE@am__append_4 = cpp-compile-test + @ENABLE_LIBRARIES_TRUE@check_PROGRAMS = $(am__EXEEXT_2) \ + @ENABLE_LIBRARIES_TRUE@ exec-fd-leak-checker$(EXEEXT) + @ENABLE_LIBRARIES_TRUE@noinst_PROGRAMS = fixed-benchmark$(EXEEXT) +@@ -382,8 +383,10 @@ am__socket_test_SOURCES_DIST = tests/socket-test.c + @ENABLE_LIBRARIES_TRUE@ tests/socket-test.$(OBJEXT) + socket_test_OBJECTS = $(am_socket_test_OBJECTS) + @ENABLE_LIBRARIES_TRUE@socket_test_DEPENDENCIES = libtest-runner.la ++am__wayland_scanner_SOURCES_DIST = src/scanner.c src/dtddata.S ++@DTD_VALIDATION_TRUE@am__objects_1 = src/dtddata.$(OBJEXT) + am_wayland_scanner_OBJECTS = src/wayland_scanner-scanner.$(OBJEXT) \ +- src/dtddata.$(OBJEXT) ++ $(am__objects_1) + wayland_scanner_OBJECTS = $(am_wayland_scanner_OBJECTS) + wayland_scanner_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) libwayland-util.la +@@ -491,7 +494,8 @@ DIST_SOURCES = $(am__libtest_runner_la_SOURCES_DIST) \ + $(am__resources_test_SOURCES_DIST) \ + $(am__sanity_test_SOURCES_DIST) \ + $(am__signal_test_SOURCES_DIST) \ +- $(am__socket_test_SOURCES_DIST) $(wayland_scanner_SOURCES) ++ $(am__socket_test_SOURCES_DIST) \ ++ $(am__wayland_scanner_SOURCES_DIST) + RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ +@@ -918,8 +922,8 @@ dist_pkgdata_DATA = \ + protocol/wayland.dtd + + pkgconfigdir = $(libdir)/pkgconfig +-pkgconfig_DATA = src/wayland-scanner.pc $(am__append_2) +-wayland_scanner_SOURCES = src/scanner.c src/dtddata.S ++pkgconfig_DATA = src/wayland-scanner.pc $(am__append_3) ++wayland_scanner_SOURCES = src/scanner.c $(am__append_1) + wayland_scanner_CFLAGS = $(EXPAT_CFLAGS) $(LIBXML_CFLAGS) $(AM_CFLAGS) + wayland_scanner_LDADD = $(EXPAT_LIBS) $(LIBXML_LIBS) libwayland-util.la + @USE_HOST_SCANNER_FALSE@wayland_scanner = $(top_builddir)/wayland-scanner +@@ -929,7 +933,7 @@ libwayland_util_la_SOURCES = \ + src/wayland-util.c \ + src/wayland-util.h + +-noinst_LTLIBRARIES = libwayland-util.la $(am__append_1) ++noinst_LTLIBRARIES = libwayland-util.la $(am__append_2) + @ENABLE_LIBRARIES_TRUE@lib_LTLIBRARIES = libwayland-server.la \ + @ENABLE_LIBRARIES_TRUE@ libwayland-client.la \ + @ENABLE_LIBRARIES_TRUE@ libwayland-cursor.la +diff --git a/configure.ac b/configure.ac +index f54a8b9..b27f34b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,7 +76,7 @@ AC_ARG_ENABLE([dtd-validation], + [AC_HELP_STRING([--disable-dtd-validation], + [Disable DTD validation of the protocol])], + [], +- [enable_dtdvalidation=yes]) ++ [enable_dtd_validation=yes]) + + AM_CONDITIONAL(USE_HOST_SCANNER, test "x$with_host_scanner" = xyes) + +@@ -112,7 +112,8 @@ PKG_CHECK_MODULES(EXPAT, [expat], [], + AC_SUBST(EXPAT_LIBS) + ]) + +-if test "x$enable_dtdvalidation" = "xyes"; then ++AM_CONDITIONAL([DTD_VALIDATION], [test "x$enable_dtd_validation" = "xyes"]) ++if test "x$enable_dtd_validation" = "xyes"; then + PKG_CHECK_MODULES(LIBXML, [libxml-2.0]) + AC_DEFINE(HAVE_LIBXML, 1, [libxml-2.0 is available]) + AC_CONFIG_LINKS([src/wayland.dtd.embed:protocol/wayland.dtd]) +diff --git a/configure b/configure +index 83e4971..6340d4f 100755 +--- a/configure ++++ b/configure +@@ -711,6 +711,8 @@ HAVE_XSLTPROC_TRUE + XSLTPROC + LIBXML_LIBS + LIBXML_CFLAGS ++DTD_VALIDATION_FALSE ++DTD_VALIDATION_TRUE + EXPAT_LIBS + EXPAT_CFLAGS + FFI_LIBS +@@ -15728,7 +15730,7 @@ fi + if test "${enable_dtd_validation+set}" = set; then : + enableval=$enable_dtd_validation; + else +- enable_dtdvalidation=yes ++ enable_dtd_validation=yes + fi + + +@@ -16114,7 +16116,15 @@ $as_echo "yes" >&6; } + + fi + +-if test "x$enable_dtdvalidation" = "xyes"; then ++ if test "x$enable_dtd_validation" = "xyes"; then ++ DTD_VALIDATION_TRUE= ++ DTD_VALIDATION_FALSE='#' ++else ++ DTD_VALIDATION_TRUE='#' ++ DTD_VALIDATION_FALSE= ++fi ++ ++if test "x$enable_dtd_validation" = "xyes"; then + + pkg_failed=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBXML" >&5 +@@ -16669,6 +16679,10 @@ if test -z "${ENABLE_LIBRARIES_TRUE}" && test -z "${ENABLE_LIBRARIES_FALSE}"; th + as_fn_error $? "conditional \"ENABLE_LIBRARIES\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${DTD_VALIDATION_TRUE}" && test -z "${DTD_VALIDATION_FALSE}"; then ++ as_fn_error $? "conditional \"DTD_VALIDATION\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${HAVE_XSLTPROC_TRUE}" && test -z "${HAVE_XSLTPROC_FALSE}"; then + as_fn_error $? "conditional \"HAVE_XSLTPROC\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +diff --git a/src/scanner.c b/src/scanner.c +index d3e2328..04747e3 100644 +--- a/src/scanner.c ++++ b/src/scanner.c +@@ -40,13 +40,13 @@ + + #if HAVE_LIBXML + #include <libxml/parser.h> +-#endif +- +-#include "wayland-util.h" + + /* Embedded wayland.dtd file, see dtddata.S */ + extern char DTD_DATA_begin; + extern int DTD_DATA_len; ++#endif ++ ++#include "wayland-util.h" + + enum side { + CLIENT, +-- +2.6.4 + diff --git a/dev-libs/wayland/wayland-1.10.0.ebuild b/dev-libs/wayland/wayland-1.10.0.ebuild index bf4b8cc1a071..b3d1bfc838a6 100644 --- a/dev-libs/wayland/wayland-1.10.0.ebuild +++ b/dev-libs/wayland/wayland-1.10.0.ebuild @@ -29,7 +29,8 @@ SLOT="0" IUSE="doc static-libs" RDEPEND=">=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}] - >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]" + >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}] + dev-libs/libxml2:=" DEPEND="${RDEPEND} doc? ( >=app-doc/doxygen-1.6[dot] @@ -39,19 +40,19 @@ DEPEND="${RDEPEND} ) virtual/pkgconfig" -src_configure() { +# dtd validation configure patch is upstream and will be part of 1.11 +PATCHES=( "${FILESDIR}/${PV}-build-fix-configure-disable-dtd-validation.patch" ) + +multilib_src_configure() { local myeconfargs=( - $(use_enable static-libs static) - $(use_enable doc documentation) + $(multilib_native_use_enable doc documentation) + $(multilib_native_enable dtd-validation) ) if tc-is-cross-compiler ; then myeconfargs+=( --with-host-scanner ) fi - if ! multilib_is_native_abi; then - myeconfargs+=( --disable-documentation ) - fi - autotools-multilib_src_configure + autotools-utils_src_configure } src_test() { |