diff mbox series

[PATCH/next,v2,1/3] package/wpebackend-fdo: bump to version 1.2.0

Message ID 20190520214037.58011-2-aperez@igalia.com
State Accepted
Headers show
Series Update WPE WebKit to 2.24.x | expand

Commit Message

Adrian Perez de Castro May 20, 2019, 9:40 p.m. UTC
WPE WebKit 2.24.x requires WPEBackend-fdo 1.2.x, as indicated at:

  https://wpewebkit.org/release/schedule/#compatible-components

The added patch makes the build system pick the version of
wayland-scanner from $(HOST_DIR), instead of the target version.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
Changes v1 -> v2:
  - Included upstream patch which solves picking the correct (host)
    version of wayland-scanner.

---
 ...-how-CMake-looks-for-wayland-scanner.patch | 137 ++++++++++++++++++
 package/wpebackend-fdo/wpebackend-fdo.hash    |   8 +-
 package/wpebackend-fdo/wpebackend-fdo.mk      |   2 +-
 3 files changed, 142 insertions(+), 5 deletions(-)
 create mode 100644 package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch

Comments

Francois Perrad May 21, 2019, 6:11 p.m. UTC | #1
Le mar. 21 mai 2019 à 00:24, Adrian Perez de Castro <aperez@igalia.com> a
écrit :

> WPE WebKit 2.24.x requires WPEBackend-fdo 1.2.x, as indicated at:
>
>   https://wpewebkit.org/release/schedule/#compatible-components
>
> The added patch makes the build system pick the version of
> wayland-scanner from $(HOST_DIR), instead of the target version.
>
> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
>

Acked-by: Francois Perrad <francois.perrad@gadz.org>

---
> Changes v1 -> v2:
>   - Included upstream patch which solves picking the correct (host)
>     version of wayland-scanner.
>
> ---
>  ...-how-CMake-looks-for-wayland-scanner.patch | 137 ++++++++++++++++++
>  package/wpebackend-fdo/wpebackend-fdo.hash    |   8 +-
>  package/wpebackend-fdo/wpebackend-fdo.mk      |   2 +-
>  3 files changed, 142 insertions(+), 5 deletions(-)
>  create mode 100644
> package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch
>
> diff --git
> a/package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch
> b/package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch
> new file mode 100644
> index 0000000000..d83902c662
> --- /dev/null
> +++
> b/package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch
> @@ -0,0 +1,137 @@
> +From a03431fb562176d25919e76e0baf52a0ba3752c4 Mon Sep 17 00:00:00 2001
> +From: Adrian Perez de Castro <aperez@igalia.com>
> +Date: Wed, 15 May 2019 20:54:10 +0300
> +Subject: [PATCH] Improve how CMake looks for wayland-scanner
> +
> +This improves FindWaylandScanner.cmake to allow it to find the
> +wayland-scanner tool in any of the following ways (in order of
> +preference):
> +
> +  1. By passing -DWAYLAND_SCANNER=path/to/wayland-scanner to CMake.
> +  2. Looking for wayland-scanner in the current $PATH
> +  3. Figuring out the location from pkg-config (as before).
> +
> +This will make the package friendlier to cross-compilation, and
> +then build systems can either prepend their locations for host
> +tools to $PATH (covered by 2. above), or they can specify the
> +tool path in the command line (covered by 1. above) if they need
> +to be more specific.
> +
> +The motivation for this patch is to avoid kludges like the following:
> +
> +  https://patchwork.ozlabs.org/comment/2172010/
> +
> +Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> +[Upstream status: https://github.com/Igalia/WPEBackend-fdo/pull/39]
> +
> +---
> + cmake/FindWaylandScanner.cmake | 93 ++++++++++++++++++++++++++++++----
> + 1 file changed, 84 insertions(+), 9 deletions(-)
> +
> +diff --git a/cmake/FindWaylandScanner.cmake
> b/cmake/FindWaylandScanner.cmake
> +index 09a92b2..7130c10 100644
> +--- a/cmake/FindWaylandScanner.cmake
> ++++ b/cmake/FindWaylandScanner.cmake
> +@@ -28,15 +28,90 @@
> + # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> + # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +-find_package(PkgConfig)
> +-pkg_check_modules(WAYLAND_SCANNER wayland-scanner)
> +-
> +-pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
> +-if (WAYLAND_SCANNER_VERSION VERSION_LESS "1.15")
> +-    set(WAYLAND_SCANNER_CODE_ARG "code")
> +-else ()
> +-    set(WAYLAND_SCANNER_CODE_ARG "private-code")
> ++set(WAYLAND_SCANNER "" CACHE FILEPATH "Path to the wayland-scanner tool")
> ++
> ++function(wayland_scanner_get_version _result _exepath)
> ++    set(_version "")
> ++    set(_status -1)
> ++    if (EXISTS "${_exepath}")
> ++        execute_process(
> ++            COMMAND "${_exepath}" "--version"
> ++            RESULT_VARIABLE _status
> ++            ERROR_VARIABLE _version
> ++            ERROR_STRIP_TRAILING_WHITESPACE
> ++            OUTPUT_QUIET
> ++        )
> ++        if (_status EQUAL 0)
> ++            string(REPLACE "wayland-scanner" "" _version "${_version}")
> ++            string(STRIP "${_version}" _version)
> ++        endif ()
> ++    endif ()
> ++    if (_version)
> ++        set(${_result} "${_version}" PARENT_SCOPE)
> ++    else ()
> ++        unset(${_result} PARENT_SCOPE)
> ++    endif ()
> ++endfunction()
> ++
> ++#
> ++# Method 1: If -DWAYLAND_SCANNER=... was passed on the command line,
> ++#           check whether we can extract the version number from it.
> ++#           Otherwise: unset the variable, to try other methods below.
> ++#
> ++if (WAYLAND_SCANNER)
> ++    wayland_scanner_get_version(WAYLAND_SCANNER_VERSION
> "${WAYLAND_SCANNER}")
> ++    if (NOT WAYLAND_SCANNER_VERSION)
> ++        set(WAYLAND_SCANNER "")
> ++    endif ()
> ++endif ()
> ++
> ++#
> ++# Method 2: Try to find an executable program in the current $PATH.
> ++#
> ++if (NOT WAYLAND_SCANNER)
> ++    find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner)
> ++    if (WAYLAND_SCANNER_EXECUTABLE)
> ++        wayland_scanner_get_version(WAYLAND_SCANNER_VERSION
> "${WAYLAND_SCANNER_EXECUTABLE}")
> ++        if (WAYLAND_SCANNER_VERSION)
> ++            set(WAYLAND_SCANNER "${WAYLAND_SCANNER_EXECUTABLE}")
> ++        endif ()
> ++    endif ()
> ++    unset(WAYLAND_SCANNER_EXECUTABLE)
> ++endif ()
> ++
> ++#
> ++# Method 3: Try to find the executable using pkg-config, in case the
> ++#           tool was installed in a non-standard location.
> ++#
> ++if (NOT DEFINED WAYLAND_SCANNER OR NOT WAYLAND_SCANNER)
> ++    find_package(PkgConfig)
> ++    pkg_check_modules(WAYLAND_SCANNER_PC wayland-scanner)
> ++    if (WAYLAND_SCANNER_PC_FOUND)
> ++        pkg_get_variable(WAYLAND_SCANNER_PC_EXECUTABLE wayland-scanner
> wayland_scanner)
> ++        if (WAYLAND_SCANNER_PC_EXECUTABLE)
> ++            wayland_scanner_get_version(WAYLAND_SCANNER_VERSION
> "${WAYLAND_SCANNER_PC_EXECUTABLE}")
> ++            if (WAYLAND_SCANNER_VERSION)
> ++                set(WAYLAND_SCANNER "${WAYLAND_SCANNER_PC_EXECUTABLE}")
> ++            endif ()
> ++        endif ()
> ++    endif ()
> ++    unset(WAYLAND_SCANNER_PC)
> ++    unset(WAYLAND_SCANNER_PC_EXECUTABLE)
> ++endif ()
> ++
> ++if (WAYLAND_SCANNER_VERSION)
> ++    if (WAYLAND_SCANNER_VERSION VERSION_LESS "1.15")
> ++        set(WAYLAND_SCANNER_CODE_ARG "code")
> ++    else ()
> ++        set(WAYLAND_SCANNER_CODE_ARG "private-code")
> ++    endif ()
> + endif ()
> +
> + include(FindPackageHandleStandardArgs)
> +-FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_SCANNER DEFAULT_MSG
> WAYLAND_SCANNER)
> ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(
> ++    WAYLAND_SCANNER
> ++    DEFAULT_MSG
> ++    WAYLAND_SCANNER
> ++    WAYLAND_SCANNER_VERSION
> ++    WAYLAND_SCANNER_CODE_ARG
> ++)
> +--
> +2.21.0
> +
> diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash
> b/package/wpebackend-fdo/wpebackend-fdo.hash
> index 6e6f9f0e3f..4d89d1e16f 100644
> --- a/package/wpebackend-fdo/wpebackend-fdo.hash
> +++ b/package/wpebackend-fdo/wpebackend-fdo.hash
> @@ -1,7 +1,7 @@
> -# From https://wpewebkit.org/releases/wpebackend-fdo-1.0.1.tar.xz.sums
> -md5 <https://wpewebkit.org/releases/wpebackend-fdo-1.0.1.tar.xz.sums-md5>
> 2ee81a4212c18110a06a0c51c12e0d2e wpebackend-fdo-1.0.1.tar.xz
> -sha1 cdc6ac95e302a2358204b766936a9bf8ef4f26f2 wpebackend-fdo-1.0.1.tar.xz
> -sha256 15b8b1febea5d9c271e95c35b3c1e13f870712a54bc5f689cfdbb96e2f070fc8
> wpebackend-fdo-1.0.1.tar.xz
> +# From https://wpewebkit.org/releases/wpebackend-fdo-1.2.0.tar.xz.sums
> +md5 <https://wpewebkit.org/releases/wpebackend-fdo-1.2.0.tar.xz.sums+md5>
> 74e1b2fc2bc19933b17ff4f8435f67cd wpebackend-fdo-1.2.0.tar.xz
> +sha1 60559697512fd483c1d918b708a3d1d130b74a0a wpebackend-fdo-1.2.0.tar.xz
> +sha256 b1bb261273772af8f7d96d94989fc2ed0445ec06c7eb21f47a1b94e52422ddd5
> wpebackend-fdo-1.2.0.tar.xz
>
>  # Hashes for license files:
>  sha256 c9f6803371047fad3e72200ec6cd226329a5ee08ac61104c8211c2761fb46825
> COPYING
> diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk
> b/package/wpebackend-fdo/wpebackend-fdo.mk
> index 5842861bac..15530ec45f 100644
> --- a/package/wpebackend-fdo/wpebackend-fdo.mk
> +++ b/package/wpebackend-fdo/wpebackend-fdo.mk
> @@ -4,7 +4,7 @@
>  #
>
>  ################################################################################
>
> -WPEBACKEND_FDO_VERSION = 1.0.1
> +WPEBACKEND_FDO_VERSION = 1.2.0
>  WPEBACKEND_FDO_SITE = https://wpewebkit.org/releases
>  WPEBACKEND_FDO_SOURCE = wpebackend-fdo-$(WPEBACKEND_FDO_VERSION).tar.xz
>  WPEBACKEND_FDO_INSTALL_STAGING = YES
> --
> 2.21.0
>
>
Thomas Petazzoni May 26, 2019, 12:35 p.m. UTC | #2
On Tue, 21 May 2019 00:40:35 +0300
Adrian Perez de Castro <aperez@igalia.com> wrote:

> WPE WebKit 2.24.x requires WPEBackend-fdo 1.2.x, as indicated at:
> 
>   https://wpewebkit.org/release/schedule/#compatible-components
> 
> The added patch makes the build system pick the version of
> wayland-scanner from $(HOST_DIR), instead of the target version.
> 
> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> ---
> Changes v1 -> v2:
>   - Included upstream patch which solves picking the correct (host)
>     version of wayland-scanner.

Series applied to next. Thanks!

Thomas
Adrian Perez de Castro May 27, 2019, 10:29 a.m. UTC | #3
On Sun, 26 May 2019 14:35:57 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> On Tue, 21 May 2019 00:40:35 +0300
> Adrian Perez de Castro <aperez@igalia.com> wrote:
> 
> > WPE WebKit 2.24.x requires WPEBackend-fdo 1.2.x, as indicated at:
> > 
> >   https://wpewebkit.org/release/schedule/#compatible-components
> > 
> > The added patch makes the build system pick the version of
> > wayland-scanner from $(HOST_DIR), instead of the target version.
> > 
> > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> > ---
> > Changes v1 -> v2:
> >   - Included upstream patch which solves picking the correct (host)
> >     version of wayland-scanner.
> 
> Series applied to next. Thanks!

Awesome \o/

Soon I'll be able to kill the BR2_EXTERNAL that some people have been using
now and then... or better, use it as a place to keep our defconfigs and
experiments.

Cheers,
—Adrián
diff mbox series

Patch

diff --git a/package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch b/package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch
new file mode 100644
index 0000000000..d83902c662
--- /dev/null
+++ b/package/wpebackend-fdo/0001-Improve-how-CMake-looks-for-wayland-scanner.patch
@@ -0,0 +1,137 @@ 
+From a03431fb562176d25919e76e0baf52a0ba3752c4 Mon Sep 17 00:00:00 2001
+From: Adrian Perez de Castro <aperez@igalia.com>
+Date: Wed, 15 May 2019 20:54:10 +0300
+Subject: [PATCH] Improve how CMake looks for wayland-scanner
+
+This improves FindWaylandScanner.cmake to allow it to find the
+wayland-scanner tool in any of the following ways (in order of
+preference):
+
+  1. By passing -DWAYLAND_SCANNER=path/to/wayland-scanner to CMake.
+  2. Looking for wayland-scanner in the current $PATH
+  3. Figuring out the location from pkg-config (as before).
+
+This will make the package friendlier to cross-compilation, and
+then build systems can either prepend their locations for host
+tools to $PATH (covered by 2. above), or they can specify the
+tool path in the command line (covered by 1. above) if they need
+to be more specific.
+
+The motivation for this patch is to avoid kludges like the following:
+
+  https://patchwork.ozlabs.org/comment/2172010/
+
+Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
+[Upstream status: https://github.com/Igalia/WPEBackend-fdo/pull/39]
+
+---
+ cmake/FindWaylandScanner.cmake | 93 ++++++++++++++++++++++++++++++----
+ 1 file changed, 84 insertions(+), 9 deletions(-)
+
+diff --git a/cmake/FindWaylandScanner.cmake b/cmake/FindWaylandScanner.cmake
+index 09a92b2..7130c10 100644
+--- a/cmake/FindWaylandScanner.cmake
++++ b/cmake/FindWaylandScanner.cmake
+@@ -28,15 +28,90 @@
+ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 
+-find_package(PkgConfig)
+-pkg_check_modules(WAYLAND_SCANNER wayland-scanner)
+-
+-pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
+-if (WAYLAND_SCANNER_VERSION VERSION_LESS "1.15")
+-    set(WAYLAND_SCANNER_CODE_ARG "code")
+-else ()
+-    set(WAYLAND_SCANNER_CODE_ARG "private-code")
++set(WAYLAND_SCANNER "" CACHE FILEPATH "Path to the wayland-scanner tool")
++
++function(wayland_scanner_get_version _result _exepath)
++    set(_version "")
++    set(_status -1)
++    if (EXISTS "${_exepath}")
++        execute_process(
++            COMMAND "${_exepath}" "--version"
++            RESULT_VARIABLE _status
++            ERROR_VARIABLE _version
++            ERROR_STRIP_TRAILING_WHITESPACE
++            OUTPUT_QUIET
++        )
++        if (_status EQUAL 0)
++            string(REPLACE "wayland-scanner" "" _version "${_version}")
++            string(STRIP "${_version}" _version)
++        endif ()
++    endif ()
++    if (_version)
++        set(${_result} "${_version}" PARENT_SCOPE)
++    else ()
++        unset(${_result} PARENT_SCOPE)
++    endif ()
++endfunction()
++
++#
++# Method 1: If -DWAYLAND_SCANNER=... was passed on the command line,
++#           check whether we can extract the version number from it.
++#           Otherwise: unset the variable, to try other methods below.
++#
++if (WAYLAND_SCANNER)
++    wayland_scanner_get_version(WAYLAND_SCANNER_VERSION "${WAYLAND_SCANNER}")
++    if (NOT WAYLAND_SCANNER_VERSION)
++        set(WAYLAND_SCANNER "")
++    endif ()
++endif ()
++
++#
++# Method 2: Try to find an executable program in the current $PATH.
++#
++if (NOT WAYLAND_SCANNER)
++    find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner)
++    if (WAYLAND_SCANNER_EXECUTABLE)
++        wayland_scanner_get_version(WAYLAND_SCANNER_VERSION "${WAYLAND_SCANNER_EXECUTABLE}")
++        if (WAYLAND_SCANNER_VERSION)
++            set(WAYLAND_SCANNER "${WAYLAND_SCANNER_EXECUTABLE}")
++        endif ()
++    endif ()
++    unset(WAYLAND_SCANNER_EXECUTABLE)
++endif ()
++
++#
++# Method 3: Try to find the executable using pkg-config, in case the
++#           tool was installed in a non-standard location.
++#
++if (NOT DEFINED WAYLAND_SCANNER OR NOT WAYLAND_SCANNER)
++    find_package(PkgConfig)
++    pkg_check_modules(WAYLAND_SCANNER_PC wayland-scanner)
++    if (WAYLAND_SCANNER_PC_FOUND)
++        pkg_get_variable(WAYLAND_SCANNER_PC_EXECUTABLE wayland-scanner wayland_scanner)
++        if (WAYLAND_SCANNER_PC_EXECUTABLE)
++            wayland_scanner_get_version(WAYLAND_SCANNER_VERSION "${WAYLAND_SCANNER_PC_EXECUTABLE}")
++            if (WAYLAND_SCANNER_VERSION)
++                set(WAYLAND_SCANNER "${WAYLAND_SCANNER_PC_EXECUTABLE}")
++            endif ()
++        endif ()
++    endif ()
++    unset(WAYLAND_SCANNER_PC)
++    unset(WAYLAND_SCANNER_PC_EXECUTABLE)
++endif ()
++
++if (WAYLAND_SCANNER_VERSION)
++    if (WAYLAND_SCANNER_VERSION VERSION_LESS "1.15")
++        set(WAYLAND_SCANNER_CODE_ARG "code")
++    else ()
++        set(WAYLAND_SCANNER_CODE_ARG "private-code")
++    endif ()
+ endif ()
+ 
+ include(FindPackageHandleStandardArgs)
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_SCANNER DEFAULT_MSG WAYLAND_SCANNER)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(
++    WAYLAND_SCANNER
++    DEFAULT_MSG
++    WAYLAND_SCANNER
++    WAYLAND_SCANNER_VERSION
++    WAYLAND_SCANNER_CODE_ARG
++)
+-- 
+2.21.0
+
diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash b/package/wpebackend-fdo/wpebackend-fdo.hash
index 6e6f9f0e3f..4d89d1e16f 100644
--- a/package/wpebackend-fdo/wpebackend-fdo.hash
+++ b/package/wpebackend-fdo/wpebackend-fdo.hash
@@ -1,7 +1,7 @@ 
-# From https://wpewebkit.org/releases/wpebackend-fdo-1.0.1.tar.xz.sums
-md5 2ee81a4212c18110a06a0c51c12e0d2e wpebackend-fdo-1.0.1.tar.xz
-sha1 cdc6ac95e302a2358204b766936a9bf8ef4f26f2 wpebackend-fdo-1.0.1.tar.xz
-sha256 15b8b1febea5d9c271e95c35b3c1e13f870712a54bc5f689cfdbb96e2f070fc8 wpebackend-fdo-1.0.1.tar.xz
+# From https://wpewebkit.org/releases/wpebackend-fdo-1.2.0.tar.xz.sums
+md5 74e1b2fc2bc19933b17ff4f8435f67cd wpebackend-fdo-1.2.0.tar.xz
+sha1 60559697512fd483c1d918b708a3d1d130b74a0a wpebackend-fdo-1.2.0.tar.xz
+sha256 b1bb261273772af8f7d96d94989fc2ed0445ec06c7eb21f47a1b94e52422ddd5 wpebackend-fdo-1.2.0.tar.xz
 
 # Hashes for license files:
 sha256 c9f6803371047fad3e72200ec6cd226329a5ee08ac61104c8211c2761fb46825 COPYING
diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk b/package/wpebackend-fdo/wpebackend-fdo.mk
index 5842861bac..15530ec45f 100644
--- a/package/wpebackend-fdo/wpebackend-fdo.mk
+++ b/package/wpebackend-fdo/wpebackend-fdo.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-WPEBACKEND_FDO_VERSION = 1.0.1
+WPEBACKEND_FDO_VERSION = 1.2.0
 WPEBACKEND_FDO_SITE = https://wpewebkit.org/releases
 WPEBACKEND_FDO_SOURCE = wpebackend-fdo-$(WPEBACKEND_FDO_VERSION).tar.xz
 WPEBACKEND_FDO_INSTALL_STAGING = YES