-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add WEP WebKit HTML5 application runtime. * libwpe: backend abstraction (Wayland or KMS/DRM) * wpebackend-fdo: FreeDesktop Linux backend for WPE * wpewebkit: official WebKit port * cog: simple browser canvas application (best used with 'cage') Signed-off-by: Daniel Golle <[email protected]>
- Loading branch information
Showing
4 changed files
with
344 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
include $(TOPDIR)/rules.mk | ||
|
||
PKG_NAME:=cog | ||
PKG_VERSION:=0.19.1 | ||
PKG_RELEASE:=1 | ||
|
||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | ||
PKG_SOURCE_URL:=https://wpewebkit.org/releases | ||
PKG_HASH:=633760ba69e36e4fbc24757c927f46fa1fdb3c526d0a6ac6ab35a21d35ad57b3 | ||
|
||
PKG_MAINTAINER:=Daniel Golle <[email protected]> | ||
PKG_LICENSE:=BSD-2-clause | ||
PKG_LICENSE_FILES:=COPYING | ||
|
||
include $(INCLUDE_DIR)/package.mk | ||
include $(INCLUDE_DIR)/meson.mk | ||
|
||
define Package/cog | ||
SECTION:=libs | ||
CATEGORY:=Libraries | ||
TITLE:=launcher for WPE WebKit | ||
URL:=https://wpewebkit.org/ | ||
DEPENDS:=+libcogcore | ||
USERID:=cog:video=40 | ||
endef | ||
|
||
define Package/cog/description/default | ||
Cog is a small single "window" launcher for the WebKit WPE port. | ||
It is small, provides no user interface, and is suitable to be used as a Web | ||
application container. The "window" may be fullscreen depending on the WPE | ||
backend being used. | ||
endef | ||
|
||
define Package/libcogcore | ||
SECTION:=libs | ||
CATEGORY:=Libraries | ||
TITLE:=WPE WebKit API library | ||
URL:=https://wpewebkit.org/ | ||
DEPENDS:=+libdbus +libmanette +libwpewebkit +wpebackend-fdo | ||
endef | ||
|
||
define Package/libcogcore/description/default | ||
libcogcore is a library with ready-to-use components typically needed | ||
for implementing applications which use the WPE WebKit API. | ||
endef | ||
|
||
MESON_ARGS += \ | ||
-Dlibportal=disabled \ | ||
-Dcog_dbus_control=system \ | ||
-Dcog_dbus_system_owner=cog \ | ||
-Ddocumentation=false \ | ||
-Dmanpages=false | ||
|
||
define Build/InstallDev | ||
$(INSTALL_DIR) $(1)/usr/include/cog | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/cog/*.h $(1)/usr/include/cog | ||
$(INSTALL_DIR) $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib | ||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig | ||
endef | ||
|
||
define Package/libcogcore/install | ||
$(INSTALL_DIR) $(1)/usr/lib/cog/modules | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cog/modules/* $(1)/usr/lib/cog/modules | ||
endef | ||
|
||
define Package/cog/install | ||
$(INSTALL_DIR) $(1)/usr/bin | ||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin | ||
$(INSTALL_DIR) $(1)/usr/share/dbus-1/system.d | ||
$(CP) $(PKG_INSTALL_DIR)/usr/share/dbus-1/system.d/com.igalia.Cog.conf $(1)/usr/share/dbus-1/system.d | ||
endef | ||
|
||
$(eval $(call BuildPackage,libcogcore)) | ||
$(eval $(call BuildPackage,cog)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
include $(TOPDIR)/rules.mk | ||
|
||
PKG_NAME:=libwpe | ||
PKG_VERSION:=1.16.0 | ||
PKG_RELEASE:=1 | ||
|
||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | ||
PKG_SOURCE_URL:=https://wpewebkit.org/releases | ||
PKG_HASH:=c7f3a3c6b3d006790d486dc7cceda2b6d2e329de07f33bc47dfc53f00f334b2a | ||
|
||
PKG_MAINTAINER:=Daniel Golle <[email protected]> | ||
PKG_LICENSE:=BSD-2-clause | ||
PKG_LICENSE_FILES:=COPYING | ||
|
||
PKG_BUILD_DEPENDS:=mesa | ||
|
||
include $(INCLUDE_DIR)/package.mk | ||
include $(INCLUDE_DIR)/meson.mk | ||
|
||
define Package/libwpe | ||
SECTION:=libs | ||
CATEGORY:=Libraries | ||
TITLE:=WPE backend abstraction library | ||
URL:=https://wpewebkit.org/ | ||
DEPENDS:=+libstdcpp +libxkbcommon | ||
endef | ||
|
||
define Package/libwpe/description | ||
An Open Source WebKit port for Linux-based embedded devices designed | ||
with flexibility and hardware acceleration in mind, leveraging common 3D | ||
graphics APIs for best performance. | ||
endef | ||
|
||
MESON_ARGS += \ | ||
-Denable-xkb=true \ | ||
-Dbuild-docs=false \ | ||
-Ddefault_library=shared | ||
|
||
define Package/libwpe/install | ||
$(INSTALL_DIR) $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/ | ||
endef | ||
|
||
define Build/InstallDev | ||
$(INSTALL_DIR) $(1)/usr/include/wpe-1.0/wpe | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-1.0/wpe/*.h $(1)/usr/include/wpe-1.0/wpe | ||
$(INSTALL_DIR) $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib | ||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig | ||
endef | ||
|
||
$(eval $(call BuildPackage,libwpe)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
include $(TOPDIR)/rules.mk | ||
|
||
PKG_NAME:=wpebackend-fdo | ||
PKG_VERSION:=1.15.90 | ||
PKG_RELEASE:=1 | ||
|
||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | ||
PKG_SOURCE_URL:=https://wpewebkit.org/releases | ||
PKG_HASH:=4ac5be554560ed48b13a0745fc779d7f6663904f35f510a6c50e34cb96999083 | ||
|
||
PKG_MAINTAINER:=Daniel Golle <[email protected]> | ||
PKG_LICENSE:=BSD-2-clause | ||
PKG_LICENSE_FILES:=COPYING | ||
|
||
PKG_BUILD_DEPENDS:=mesa | ||
|
||
include $(INCLUDE_DIR)/package.mk | ||
include $(INCLUDE_DIR)/meson.mk | ||
|
||
define Package/wpebackend-fdo | ||
SECTION:=libs | ||
CATEGORY:=Libraries | ||
TITLE:=WPE's backend based on a freedesktop.org stack | ||
URL:=https://wpewebkit.org/ | ||
DEPENDS:=+glib2 +libepoxy +libstdcpp +libwayland +libwpe | ||
endef | ||
|
||
define Package/wpebackend-fdo/description | ||
An Open Source WebKit port for Linux-based embedded devices designed | ||
with flexibility and hardware acceleration in mind, leveraging common 3D | ||
graphics APIs for best performance. | ||
endef | ||
|
||
MESON_ARGS += \ | ||
-Dbuild_docs=false | ||
|
||
define Package/wpebackend-fdo/install | ||
$(INSTALL_DIR) $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/ | ||
endef | ||
|
||
define Build/InstallDev | ||
$(INSTALL_DIR) $(1)/usr/include/wpe-fdo-1.0/wpe | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-fdo-1.0/wpe/* $(1)/usr/include/wpe-fdo-1.0/wpe | ||
$(INSTALL_DIR) $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib | ||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig | ||
endef | ||
|
||
$(eval $(call BuildPackage,wpebackend-fdo)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
include $(TOPDIR)/rules.mk | ||
|
||
PKG_NAME:=wpewebkit | ||
PKG_VERSION:=2.46.3 | ||
PKG_RELEASE:=1 | ||
|
||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | ||
PKG_SOURCE_URL:=https://wpewebkit.org/releases | ||
PKG_HASH:=56709f8cf113650d8cc30dc22f2b69cb6f74e651731f12e1db52ecce12ab86f2 | ||
|
||
PKG_MAINTAINER:=Daniel Golle <[email protected]> | ||
PKG_LICENSE:=LGPL-2.1-or-later BSD-2-Clause | ||
PKG_LICENSE_FILES:=Source/WebCore/LICENSE-Apple Source/Webcore/LICENSE-LGPL-2.1 | ||
|
||
PKG_BUILD_DEPENDS:=unifdef/host ruby/host | ||
CMAKE_INSTALL:=1 | ||
|
||
include $(INCLUDE_DIR)/package.mk | ||
include $(INCLUDE_DIR)/cmake.mk | ||
|
||
CMAKE_BINARY_SUBDIR:=openwrt-build | ||
|
||
CMAKE_OPTIONS += \ | ||
-DBWRAP_EXECUTABLE=/usr/bin/bwrap \ | ||
-DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy \ | ||
-DGLIB_COMPILE_RESOURCES_EXECUTABLE="$(STAGING_DIR_HOSTPKG)/bin/glib-compile-resources" \ | ||
-DENABLE_ACCELERATED_2D_CANVAS=ON \ | ||
-DENABLE_ACCESSIBILITY=OFF \ | ||
-DENABLE_API_TESTS=OFF \ | ||
-DENABLE_BUBBLEWRAP_SANDBOX=ON \ | ||
-DENABLE_INTROSPECTION=OFF \ | ||
-DENABLE_DOCUMENTATION=OFF \ | ||
-DENABLE_WEB_CRYPTO=ON \ | ||
-DENABLE_JOURNALD_LOG=OFF \ | ||
-DENABLE_MINIBROWSER=$(if $(CONFIG_PACKAGE_wpewebkit-minibrowser),ON,OFF) \ | ||
-DENABLE_WPE_PLATFORM=ON \ | ||
-DENABLE_WPE_PLATFORM_WAYLAND=ON \ | ||
-DENABLE_WPE_PLATFORM_DRM=ON \ | ||
-DENABLE_SPELLCHECK=OFF \ | ||
-DENABLE_SPEECH_SYNTHESIS=OFF \ | ||
-DENABLE_JIT=ON \ | ||
-DENABLE_C_LOOP=OFF \ | ||
-DENABLE_WEBGL=ON \ | ||
-DENABLE_VIDEO=ON \ | ||
-DPORT=WPE \ | ||
-DUSE_ATK=OFF \ | ||
-DUSE_OPENGL_OR_ES=ON \ | ||
-DUSE_LIBBACKTRACE=OFF \ | ||
-DUSE_LIBHYPHEN=OFF \ | ||
-DUSE_LIBSECRET=OFF \ | ||
-DUSE_SOUP2=OFF \ | ||
-DUSE_JPEGXL=OFF \ | ||
-DUSE_WOFF2=OFF \ | ||
-DUSE_AVIF=OFF \ | ||
-DUSE_LCMS=OFF \ | ||
-DUSE_SYSTEM_SYSPROF_CAPTURE=OFF | ||
|
||
define Package/libwpewebkit | ||
SECTION:=libs | ||
CATEGORY:=Libraries | ||
TITLE:=WPEWebKit Library | ||
URL:=https://wpewebkit.org | ||
DEPENDS:=+bubblewrap +glib2 +harfbuzz +icu-full-data +libepoxy +libgcrypt \ | ||
+libgst1allocators +libgst1app +libgst1audio +libgst1fft +libgst1gl \ | ||
+libgst1pbutils +libgst1tag +libgst1transcoder +libgst1video \ | ||
+libinput +libjpeg +libpng +libseccomp +libsoup3 +libsqlite3 \ | ||
+libtasn1 +libudev +libwayland +libwebp +libwpe +libxml2 +libxslt \ | ||
+zlib | ||
endef | ||
|
||
define Package/libwpewebkit/description | ||
WebKitGTK is a full-featured port of the WebKit rendering engine, | ||
suitable for projects requiring any kind of web integration, from | ||
hybrid HTML/CSS applications to full-fledged web browsers. | ||
endef | ||
|
||
define Package/wpewebkit-driver | ||
SECTION:=libs | ||
CATEGORY:=Libraries | ||
TITLE:=WebDriver service implementation for WPE WebKit | ||
URL:=https://wpewebkit.org | ||
DEPENDS:=+libwpewebkit | ||
endef | ||
|
||
define Package/wpewebkit-driver/description | ||
WebDriver is an automation API to control a web browser. It allows the | ||
user to create automated tests for web applications independently of the | ||
browser and platform. | ||
|
||
The WebKitWebDriver binary provides the WebDriver service implementation | ||
for WebKitGTK. It works as a server, processing client requests to spawn | ||
and control the web browser. This driver is not tied to any specific | ||
browser and can be used with any WebKitGTK-based browser, but it uses | ||
MiniBrowser as the default. | ||
endef | ||
|
||
define Package/wpewebkit-minibrowser | ||
SECTION:=libs | ||
CATEGORY:=Libraries | ||
TITLE:=WPE WebKit Mini Browser | ||
URL:=https://wpewebkit.org/ | ||
DEPENDS:=+libwpewebkit +wpebackend-fdo | ||
endef | ||
|
||
define Package/wpewebkit-minibrowser/description | ||
Minimalistic Web browser based on WPE WebKit. | ||
endef | ||
|
||
define Build/InstallDev | ||
$(INSTALL_DIR) $(1)/usr/include/wpe-webkit-2.0/jsc \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/drm \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/headless \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/wayland \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe \ | ||
$(1)/usr/lib/pkgconfig | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/jsc/*.h \ | ||
$(1)/usr/include/wpe-webkit-2.0/jsc | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe/*.h \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/*.h \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/drm/*.h \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/drm | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/headless/*.h \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/headless | ||
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/wayland/*.h \ | ||
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/wayland | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \ | ||
$(1)/usr/lib/pkgconfig | ||
endef | ||
|
||
define Package/libwpewebkit/install | ||
$(INSTALL_DIR) $(1)/usr/lib/wpe-webkit-2.0/injected-bundle | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/wpe-webkit-2.0/injected-bundle/*.so \ | ||
$(1)/usr/lib/wpe-webkit-2.0/injected-bundle | ||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/wpe-webkit-2.0/*.so \ | ||
$(1)/usr/lib/wpe-webkit-2.0 | ||
$(INSTALL_DIR) $(1)/usr/libexec/wpe-webkit-2.0 | ||
# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/WPEGPUProcess \ | ||
# $(1)/usr/libexec/wpe-webkit-2.0 | ||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/WPENetworkProcess \ | ||
$(1)/usr/libexec/wpe-webkit-2.0 | ||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/WPEWebProcess \ | ||
$(1)/usr/libexec/wpe-webkit-2.0 | ||
endef | ||
|
||
define Package/wpewebkit-driver/install | ||
$(INSTALL_DIR) $(1)/usr/bin | ||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/WPEWebDriver $(1)/usr/bin | ||
endef | ||
|
||
define Package/wpewebkit-minibrowser/install | ||
$(INSTALL_DIR) $(1)/usr/libexec/wpe-webkit-2.0 | ||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/MiniBrowser \ | ||
$(1)/usr/libexec/wpe-webkit-2.0 | ||
endef | ||
|
||
$(eval $(call BuildPackage,libwpewebkit)) | ||
$(eval $(call BuildPackage,wpewebkit-driver)) | ||
$(eval $(call BuildPackage,wpewebkit-minibrowser)) |