summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2020-04-08 21:30:02 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2020-04-09 15:13:03 +0200
commit998885ca0aebcca14a8e2dcdce4e3663aa46df3a (patch)
treebcca7d97c079835952cdaee1d47e5b918ab55e73
parent42b59d2a062c5a96dd885cc9275941963651fda6 (diff)
downloadptxdist-998885ca0aebcca14a8e2dcdce4e3663aa46df3a.tar.gz
ptxdist-998885ca0aebcca14a8e2dcdce4e3663aa46df3a.tar.xz
cog: new package
WPE launcher and webapp container. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Message-Id: <20200408193002.18077-4-l.stach@pengutronix.de> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--patches/cog-0.6.0/0001-cmake-Fix-passing-DWAYLAND_PROTOCOLS-on-command-line.patch103
-rw-r--r--patches/cog-0.6.0/series4
-rw-r--r--rules/cog.in12
-rw-r--r--rules/cog.make71
4 files changed, 190 insertions, 0 deletions
diff --git a/patches/cog-0.6.0/0001-cmake-Fix-passing-DWAYLAND_PROTOCOLS-on-command-line.patch b/patches/cog-0.6.0/0001-cmake-Fix-passing-DWAYLAND_PROTOCOLS-on-command-line.patch
new file mode 100644
index 000000000..b4686bd62
--- /dev/null
+++ b/patches/cog-0.6.0/0001-cmake-Fix-passing-DWAYLAND_PROTOCOLS-on-command-line.patch
@@ -0,0 +1,103 @@
+From: Joshua Watt <Joshua.Watt@garmin.com>
+Date: Mon, 30 Mar 2020 14:50:46 -0500
+Subject: [PATCH] cmake: Fix passing -DWAYLAND_PROTOCOLS= on command line
+
+The optimization to check if WAYLAND_PROTOCOLS was set on the cmake
+comamnd line was skipping the function implementations, making cmake
+fail if it was used. The simple fix is to define the functions, then
+bail of out WAYLAND_PROTOCOLS is already defined.
+
+Signed-off-by: Joshua Watt <Joshua.Watt@garmin.com>
+---
+ cmake/FindWaylandProtocols.cmake | 74 ++++++++++++++++++++--------------------
+ 1 file changed, 37 insertions(+), 37 deletions(-)
+
+diff --git a/cmake/FindWaylandProtocols.cmake b/cmake/FindWaylandProtocols.cmake
+index 49a3cd50f91b..31f429cb2732 100644
+--- a/cmake/FindWaylandProtocols.cmake
++++ b/cmake/FindWaylandProtocols.cmake
+@@ -34,43 +34,6 @@ find_package(WaylandScanner)
+
+ set(WAYLAND_PROTOCOLS "" CACHE FILEPATH "Path to the wayland-protocols data directory")
+
+-# Already detected included and directory found?
+-if (WAYLAND_PROTOCOLS AND IS_DIRECTORY "${WAYLAND_PROTOCOLS}")
+- return ()
+-endif ()
+-
+-#
+-# Method 1: If -DWAYLAND_PROTOCOLS=... was passed in the command line,
+-# check whether the "stable" and "unstable" subdirectories
+-# exist.
+-#
+-if (WAYLAND_PROTOCOLS)
+- get_filename_component(WAYLAND_PROTOCOLS "${WAYLAND_PROTOCOLS}" REALPATH)
+- if (NOT IS_DIRECTORY "${WAYLAND_PROTOCOLS}/stable")
+- set(WAYLAND_PROTOCOLS "")
+- endif ()
+- if (NOT IS_DIRECTORY "${WAYLAND_PROTOCOLS}/unstable")
+- set(WAYLAND_PROTOCOLS "")
+- endif ()
+-endif ()
+-
+-#
+-# Method 2: Try to find the directory using pkg-config.
+-#
+-if (NOT DEFINED WAYLAND_PROTOCOLS OR NOT WAYLAND_PROTOCOLS)
+- find_package(PkgConfig)
+- pkg_check_modules(WAYLAND_PROTOCOLS_PC wayland-protocols)
+- if (WAYLAND_PROTOCOLS_PC_FOUND)
+- pkg_get_variable(WAYLAND_PROTOCOLS_PC_DATADIR wayland-protocols pkgdatadir)
+- if (WAYLAND_PROTOCOLS_PC_DATADIR)
+- set(WAYLAND_PROTOCOLS "${WAYLAND_PROTOCOLS_PC_DATADIR}")
+- endif ()
+- endif ()
+- unset(WAYLAND_PROTOCOLS_PC)
+- unset(WAYLAND_PROTOCOLS_PC_DATADIR)
+-endif ()
+-
+-
+ include(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ WAYLAND_PROTOCOLS
+@@ -206,3 +169,40 @@ function(add_wayland_protocol _target _kind _protocol)
+ target_sources(${_target} PRIVATE "${proto_server}")
+ endif ()
+ endfunction()
++
++# Already detected included and directory found?
++if (WAYLAND_PROTOCOLS AND IS_DIRECTORY "${WAYLAND_PROTOCOLS}")
++ return ()
++endif ()
++
++#
++# Method 1: If -DWAYLAND_PROTOCOLS=... was passed in the command line,
++# check whether the "stable" and "unstable" subdirectories
++# exist.
++#
++if (WAYLAND_PROTOCOLS)
++ get_filename_component(WAYLAND_PROTOCOLS "${WAYLAND_PROTOCOLS}" REALPATH)
++ if (NOT IS_DIRECTORY "${WAYLAND_PROTOCOLS}/stable")
++ set(WAYLAND_PROTOCOLS "")
++ endif ()
++ if (NOT IS_DIRECTORY "${WAYLAND_PROTOCOLS}/unstable")
++ set(WAYLAND_PROTOCOLS "")
++ endif ()
++endif ()
++
++#
++# Method 2: Try to find the directory using pkg-config.
++#
++if (NOT DEFINED WAYLAND_PROTOCOLS OR NOT WAYLAND_PROTOCOLS)
++ find_package(PkgConfig)
++ pkg_check_modules(WAYLAND_PROTOCOLS_PC wayland-protocols)
++ if (WAYLAND_PROTOCOLS_PC_FOUND)
++ pkg_get_variable(WAYLAND_PROTOCOLS_PC_DATADIR wayland-protocols pkgdatadir)
++ if (WAYLAND_PROTOCOLS_PC_DATADIR)
++ set(WAYLAND_PROTOCOLS "${WAYLAND_PROTOCOLS_PC_DATADIR}")
++ endif ()
++ endif ()
++ unset(WAYLAND_PROTOCOLS_PC)
++ unset(WAYLAND_PROTOCOLS_PC_DATADIR)
++endif ()
++
diff --git a/patches/cog-0.6.0/series b/patches/cog-0.6.0/series
new file mode 100644
index 000000000..3c5f3e8d5
--- /dev/null
+++ b/patches/cog-0.6.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-cmake-Fix-passing-DWAYLAND_PROTOCOLS-on-command-line.patch
+# fe47d1ea6f9b17c63023088fd025091b - git-ptx-patches magic
diff --git a/rules/cog.in b/rules/cog.in
new file mode 100644
index 000000000..23b9de3cd
--- /dev/null
+++ b/rules/cog.in
@@ -0,0 +1,12 @@
+## SECTION=applications
+
+config COG
+ tristate
+ prompt "cog"
+ select HOST_CMAKE
+ select HOST_NINJA
+ select WAYLAND_PROTOCOLS
+ select WPEWEBKIT
+ select WPEBACKEND_FDO
+ help
+ Cog launcher and webapp container.
diff --git a/rules/cog.make b/rules/cog.make
new file mode 100644
index 000000000..19a70b941
--- /dev/null
+++ b/rules/cog.make
@@ -0,0 +1,71 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2019 by Philippe Normand <philn@igalia.com>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_COG) += cog
+
+#
+# Paths and names
+#
+COG_VERSION := 0.6.0
+COG_MD5 := a97df4f0e2d25f4da7cd9bb55294d30e
+COG := cog-$(COG_VERSION)
+COG_SUFFIX := tar.xz
+COG_URL := https://wpewebkit.org/releases/$(COG).$(COG_SUFFIX)
+COG_SOURCE := $(SRCDIR)/$(COG).$(COG_SUFFIX)
+COG_DIR := $(BUILDDIR)/$(COG)
+COG_LICENSE := MIT
+COG_LICENSE_FILES := file://COPYING;md5=bf1229cd7425b302d60cdb641b0ce5fb
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# cmake
+#
+COG_CONF_TOOL := cmake
+COG_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -G Ninja \
+ -DCOG_APPID= \
+ -DCOG_BUILD_PROGRAMS=ON \
+ -DCOG_DBUS_OWN_USER= \
+ -DCOG_DBUS_SYSTEM_BUS=OFF \
+ -DCOG_HOME_URI=https://ptxdist.org/ \
+ -DCOG_PLATFORM_DRM=OFF \
+ -DCOG_PLATFORM_FDO=ON \
+ -DCOG_USE_WEBKITGTK=OFF \
+ -DCOG_WESTON_DIRECT_DISPLAY=OFF \
+ -DINSTALL_MAN_PAGES=OFF \
+ -DWAYLAND_PROTOCOLS=$(PTXDIST_SYSROOT_TARGET)/usr/share/wayland-protocols
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# -----------------------------------------------------------------------------
+
+$(STATEDIR)/cog.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, cog)
+ @$(call install_fixup, cog,PRIORITY,optional)
+ @$(call install_fixup, cog,SECTION,base)
+ @$(call install_fixup, cog,AUTHOR,"Philippe Normand <philn@igalia.com>")
+ @$(call install_fixup, cog,DESCRIPTION,"WPE launcher and webapp container")
+
+ @$(call install_copy, cog, 0, 0, 0755, -, /usr/bin/cog)
+ @$(call install_lib, cog, 0, 0, 644, libcogplatform-fdo)
+ @$(call install_lib, cog, 0, 0, 644, libcogcore)
+
+ @$(call install_finish, cog)
+
+ @$(call touch)
+
+# vim: syntax=make