From f08f30e64a4a9f27ba5bd3371ec73bca684a6e4a Mon Sep 17 00:00:00 2001 From: Rmys Date: Sun, 28 Feb 2021 16:24:58 +0300 Subject: [PATCH] libwpe rebuild --- .../library/libwpe/files/0447b7a.patch | 374 ++++++++++++++++++ programming/library/libwpe/pspec.xml | 6 +- 2 files changed, 375 insertions(+), 5 deletions(-) create mode 100644 programming/library/libwpe/files/0447b7a.patch diff --git a/programming/library/libwpe/files/0447b7a.patch b/programming/library/libwpe/files/0447b7a.patch new file mode 100644 index 0000000000..bd0f08a130 --- /dev/null +++ b/programming/library/libwpe/files/0447b7a.patch @@ -0,0 +1,374 @@ +diff -Nuar a/cmake/VersioningUtils.cmake b/cmake/VersioningUtils.cmake +--- a/cmake/VersioningUtils.cmake 2021-01-18 17:40:23.000000000 +0300 ++++ b/cmake/VersioningUtils.cmake 2021-02-28 16:01:31.749319740 +0300 +@@ -1,3 +1,12 @@ ++function(READ_VERSION_HEADER var_prefix def_regex file_path) ++ file(STRINGS "${file_path}" lines) ++ foreach (line ${lines}) ++ if (line MATCHES "^#define[ \t]+(${def_regex})[ \t]+([0-9]+)$") ++ set("${var_prefix}${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}" PARENT_SCOPE) ++ endif() ++ endforeach() ++endfunction() ++ + macro(SET_PROJECT_VERSION major minor micro) + set(PROJECT_VERSION_MAJOR "${major}") + set(PROJECT_VERSION_MINOR "${minor}") +diff -Nuar a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2021-01-18 17:40:23.000000000 +0300 ++++ b/CMakeLists.txt 2021-02-28 16:01:00.215322016 +0300 +@@ -4,7 +4,8 @@ + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") + include(VersioningUtils) + +-SET_PROJECT_VERSION(1 9 1) ++READ_VERSION_HEADER("" "WPE_[A-Z]+_VERSION" "${CMAKE_SOURCE_DIR}/include/wpe/libwpe-version.h") ++SET_PROJECT_VERSION(${WPE_MAJOR_VERSION} ${WPE_MINOR_VERSION} ${WPE_MICRO_VERSION}) + set(WPE_API_VERSION "1.0") + + # Before making a release, the LT_VERSION string should be modified. +@@ -41,10 +42,6 @@ + endif () + endforeach () + +-set(DERIVED_SOURCES_DIR "${CMAKE_BINARY_DIR}/DerivedSources/wpe") +-configure_file(include/wpe/version.h.cmake ${DERIVED_SOURCES_DIR}/version.h @ONLY) +-configure_file(include/wpe/version-deprecated.h.cmake ${DERIVED_SOURCES_DIR}/version-deprecated.h @ONLY) +- + include(DistTargets) + include(GNUInstallDirs) + +@@ -52,8 +49,9 @@ + find_package(Libxkbcommon REQUIRED) + + set(WPE_PUBLIC_HEADERS +- ${DERIVED_SOURCES_DIR}/version.h +- ${DERIVED_SOURCES_DIR}/version-deprecated.h ++ include/wpe/libwpe-version.h ++ include/wpe/version.h ++ include/wpe/version-deprecated.h + include/wpe/export.h + include/wpe/input.h + include/wpe/keysyms.h +@@ -81,7 +79,6 @@ + target_include_directories(wpe PRIVATE + "include" + "src" +- ${DERIVED_SOURCES_DIR}/.. + $ + ) + target_compile_definitions(wpe PRIVATE +@@ -145,10 +142,8 @@ + --sitemap=${CMAKE_SOURCE_DIR}/docs/sitemap.txt + --output=${CMAKE_CURRENT_BINARY_DIR}/Documentation/ + --c-sources "${CMAKE_SOURCE_DIR}/include/wpe/*.h" +- "${DERIVED_SOURCES_DIR}/version.h" +- "${DERIVED_SOURCES_DIR}/version-deprecated.h" + --extra-c-flags=-DWPE_COMPILATION=1 +- --c-include-directories ${CMAKE_SOURCE_DIR}/include ${DERIVED_SOURCES_DIR} ++ --c-include-directories ${CMAKE_SOURCE_DIR}/include + --c-smart-index + ) + ELSE() +diff -Nuar a/include/wpe/libwpe-version.h b/include/wpe/libwpe-version.h +--- a/include/wpe/libwpe-version.h 1970-01-01 02:00:00.000000000 +0200 ++++ b/include/wpe/libwpe-version.h 2021-02-28 16:01:59.205317759 +0300 +@@ -0,0 +1,15 @@ ++/* ++ * libwpe-version.h ++ * Copyright (C) 2021 Adrian Perez de Castro ++ * ++ * Distributed under terms of the MIT license. ++ */ ++ ++#ifndef LIBWPE_VERSION_H ++#define LIBWPE_VERSION_H ++ ++#define WPE_MAJOR_VERSION 1 ++#define WPE_MINOR_VERSION 9 ++#define WPE_MICRO_VERSION 1 ++ ++#endif /* !LIBWPE_VERSION_H */ +diff -Nuar a/include/wpe/meson.build b/include/wpe/meson.build +--- a/include/wpe/meson.build 2021-01-18 17:40:23.000000000 +0300 ++++ b/include/wpe/meson.build 2021-02-28 16:02:31.313315442 +0300 +@@ -2,27 +2,17 @@ + 'export.h', + 'input.h', + 'keysyms.h', ++ 'libwpe-version.h', + 'loader.h', + 'pasteboard.h', + 'renderer-backend-egl.h', + 'renderer-host.h', ++ 'version.h', ++ 'version-deprecated.h', + 'view-backend.h', + 'wpe-egl.h', + 'wpe.h', +- +- # Generated API headers. +- configure_file( +- input: 'version.h.cmake', +- output: 'version.h', +- configuration: version_info, +- ), +- configure_file( +- input: 'version-deprecated.h.cmake', +- output: 'version-deprecated.h', +- configuration: version_info, +- ), + ] + install_headers(api_headers, + subdir: join_paths('wpe-' + api_version, 'wpe'), + ) +- +diff -Nuar a/include/wpe/version-deprecated.h b/include/wpe/version-deprecated.h +--- a/include/wpe/version-deprecated.h 1970-01-01 02:00:00.000000000 +0200 ++++ b/include/wpe/version-deprecated.h 2021-02-28 16:02:59.227313428 +0300 +@@ -0,0 +1,88 @@ ++/* ++ * Copyright (C) 2018 Igalia S.L. ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#if !defined(__WPE_H_INSIDE__) && !defined(WPE_COMPILATION) ++#error "Only can be included directly." ++#endif ++ ++#ifndef wpe_version_deprecated_h ++#define wpe_version_deprecated_h ++ ++#if defined(WPE_COMPILATION) ++#include "export.h" ++#endif ++ ++#include "libwpe-version.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#define WPE_BACKEND_MAJOR_VERSION WPE_MAJOR_VERSION ++#define WPE_BACKEND_MINOR_VERSION WPE_MINOR_VERSION ++#define WPE_BACKEND_MICRO_VERSION WPE_MICRO_VERSION ++ ++#define WPE_BACKEND_CHECK_VERSION(major, minor, micro) \ ++ (WPE_BACKEND_MAJOR_VERSION > (major) || \ ++ (WPE_BACKEND_MAJOR_VERSION == (major) && WPE_BACKEND_MINOR_VERSION > (minor)) || \ ++ (WPE_BACKEND_MAJOR_VERSION == (major) && WPE_BACKEND_MINOR_VERSION == (minor) && \ ++ WPE_BACKEND_MICRO_VERSION >= (micro))) ++ ++/** ++ * wpe_backend_get_major_version: ++ * ++ * Returns: Major version of the `libwpe` library. ++ * ++ * Deprecated: Since `libwpe` version 1.0.0, use wpe_get_major_version() ++ * instead. ++ */ ++WPE_EXPORT unsigned wpe_backend_get_major_version(void); ++ ++/** ++ * wpe_backend_get_minor_version: ++ * ++ * Returns: Minor version of the `libwpe` library. ++ * ++ * Deprecated: Since `libwpe` version 1.0.0, use wpe_get_minor_version() ++ * instead. ++ */ ++WPE_EXPORT unsigned wpe_backend_get_minor_version(void); ++ ++/** ++ * wpe_backend_get_micro_version: ++ * ++ * Returns: Micro version of the `libwpe` library. ++ * ++ * Deprecated: Since `libwpe` version 1.0.0, use wpe_get_micro_version() ++ * instead. ++ */ ++WPE_EXPORT unsigned wpe_backend_get_micro_version(void); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* wpe_version_deprecated_h */ +diff -Nuar a/include/wpe/version.h b/include/wpe/version.h +--- a/include/wpe/version.h 1970-01-01 02:00:00.000000000 +0200 ++++ b/include/wpe/version.h 2021-02-28 16:03:30.351311182 +0300 +@@ -0,0 +1,85 @@ ++/* ++ * Copyright (C) 2018 Igalia S.L. ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#if !defined(__WPE_H_INSIDE__) && !defined(WPE_COMPILATION) ++#error "Only can be included directly." ++#endif ++ ++#ifndef wpe_version_h ++#define wpe_version_h ++ ++/** ++ * SECTION:version ++ * @short_description: Library Version ++ * @title: Version ++ * @symbols: ++ * - wpe_backend_get_major_version ++ * - wpe_backend_get_minor_version ++ * - wpe_backend_get_micro_version ++ */ ++ ++#if defined(WPE_COMPILATION) ++#include "export.h" ++#endif ++ ++#include "libwpe-version.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#define WPE_CHECK_VERSION(major, minor, micro) \ ++ (WPE_MAJOR_VERSION > (major) || \ ++ (WPE_MAJOR_VERSION == (major) && WPE_MINOR_VERSION > (minor)) || \ ++ (WPE_MAJOR_VERSION == (major) && WPE_MINOR_VERSION == (minor) && \ ++ WPE_MICRO_VERSION >= (micro))) ++ ++/** ++ * wpe_get_major_version: ++ * ++ * Returns: Major version of the `libwpe` library. ++ */ ++WPE_EXPORT unsigned wpe_get_major_version(void); ++ ++/** ++ * wpe_get_minor_version: ++ * ++ * Returns: Minor version of the `libwpe` library. ++ */ ++WPE_EXPORT unsigned wpe_get_minor_version(void); ++ ++/** ++ * wpe_get_micro_version: ++ * ++ * Returns: Micro version of the `libwpe` library. ++ */ ++WPE_EXPORT unsigned wpe_get_micro_version(void); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* wpe_version_h */ +diff -Nuar a/include/wpe/wpe.h b/include/wpe/wpe.h +--- a/include/wpe/wpe.h 2021-01-18 17:40:23.000000000 +0300 ++++ b/include/wpe/wpe.h 2021-02-28 16:04:05.245308665 +0300 +@@ -40,9 +40,10 @@ + #include "loader.h" + #include "pasteboard.h" + #include "renderer-host.h" ++#include "view-backend.h" ++#include "libwpe-version.h" + #include "version.h" + #include "version-deprecated.h" +-#include "view-backend.h" + + #undef __WPE_H_INSIDE__ + +diff -Nuar a/meson.build b/meson.build +--- a/meson.build 2021-01-18 17:40:23.000000000 +0300 ++++ b/meson.build 2021-02-28 16:04:55.565305034 +0300 +@@ -7,7 +7,7 @@ + 'cpp_std=c++11', + ], + license: 'BSD-2-Clause', +- version: '1.9.1', ++ version: run_command(join_paths('scripts', 'version.py')).stdout().strip(), + ) + + # This refers to the API level provided. This is modified only with major, +diff -Nuar a/scripts/version.py b/scripts/version.py +--- a/scripts/version.py 1970-01-01 02:00:00.000000000 +0200 ++++ b/scripts/version.py 2021-02-28 16:05:47.436301291 +0300 +@@ -0,0 +1,23 @@ ++#! /usr/bin/env python3 ++# -*- coding: utf-8 -*- ++# vim:fenc=utf-8 ++# ++# Copyright © 2021 Igalia S.L. ++# ++# Distributed under terms of the MIT license. ++ ++from os import environ, path ++import re ++ ++version = {} ++version_re = re.compile(r"^#define\s+WPE_([A-Z]+)_VERSION\s+(\d+)$") ++version_file = path.join(environ["MESON_SOURCE_ROOT"], ++ "include", "wpe", "libwpe-version.h") ++ ++with open(version_file, "r") as f: ++ for line in f.readlines(): ++ m = version_re.match(line) ++ if m: ++ version[m[1]] = m[2] ++ ++print("{}.{}.{}".format(version["MAJOR"], version["MINOR"], version["MICRO"])) +diff -Nuar a/src/version.c b/src/version.c +--- a/src/version.c 2021-01-18 17:40:23.000000000 +0300 ++++ b/src/version.c 2021-02-28 16:06:13.622299402 +0300 +@@ -24,8 +24,8 @@ + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#include "wpe/version.h" +-#include "wpe/version-deprecated.h" ++#include "../include/wpe/version.h" ++#include "../include/wpe/version-deprecated.h" + + unsigned + wpe_get_major_version(void) diff --git a/programming/library/libwpe/pspec.xml b/programming/library/libwpe/pspec.xml index 903b0e62bf..0f705b08e7 100644 --- a/programming/library/libwpe/pspec.xml +++ b/programming/library/libwpe/pspec.xml @@ -18,13 +18,9 @@ libxkbcommon-devel mesa-devel - --> -