From 27625d4c65b21b53e74f306728c65a6ee6f6f080 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 01/17] wayland: initial package --- packages/wayland/wayland/package.mk | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 packages/wayland/wayland/package.mk diff --git a/packages/wayland/wayland/package.mk b/packages/wayland/wayland/package.mk new file mode 100644 index 0000000000..bdb7fd3b25 --- /dev/null +++ b/packages/wayland/wayland/package.mk @@ -0,0 +1,55 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +PKG_NAME="wayland" +PKG_VERSION="1.14.0" +PKG_SHA256="ed80cabc0961a759a42092e2c39aabfc1ec9a13c86c98bbe2b812f008da27ab8" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="https://wayland.freedesktop.org/" +PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz" +PKG_DEPENDS_TARGET="toolchain wayland:host libxml2" +PKG_DEPENDS_HOST="libffi:host expat:host libxml2:host" +PKG_SECTION="wayland" +PKG_SHORTDESC="a display server protocol" +PKG_LONGDESC="a display server protocol" + +PKG_CONFIGURE_OPTS_HOST="--enable-shared \ + --disable-static \ + --disable-libraries \ + --disable-documentation \ + --with-gnu-ld" + +PKG_CONFIGURE_OPTS_TARGET="--with-sysroot=$SYSROOT_PREFIX \ + --with-host-scanner \ + --enable-shared \ + --disable-static \ + --enable-libraries \ + --disable-documentation \ + --with-gnu-ld" + +pre_configure_target() { + strip_lto +} + +post_makeinstall_target() { + rm -rf $INSTALL/usr/bin + rm -rf $INSTALL/usr/share + + cp $TOOLCHAIN/lib/pkgconfig/wayland-scanner.pc $SYSROOT_PREFIX/usr/lib/pkgconfig/ +} From 4ebd9ba8d74d8fdb3cd67374e72779f6b3478db5 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 02/17] wayland-protocols: initial package --- packages/wayland/wayland-protocols/package.mk | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 packages/wayland/wayland-protocols/package.mk diff --git a/packages/wayland/wayland-protocols/package.mk b/packages/wayland/wayland-protocols/package.mk new file mode 100644 index 0000000000..02a39d5853 --- /dev/null +++ b/packages/wayland/wayland-protocols/package.mk @@ -0,0 +1,33 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +PKG_NAME="wayland-protocols" +PKG_VERSION="1.12" +PKG_SHA256="3b19e8a9e1e19474756a7069db23b90ca9b8ebb438448c6063b4a7fc89b7c8b2" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="https://wayland.freedesktop.org/" +PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz" +PKG_DEPENDS_TARGET="toolchain" +PKG_SECTION="wayland" +PKG_SHORTDESC="Specifications of extended Wayland protocols" +PKG_LONGDESC="Specifications of extended Wayland protocols" + +post_makeinstall_target() { + rm -rf $INSTALL +} From 449df852c6e62113edcaeba5f735118da13aacbd Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 03/17] weston: initial package --- packages/wayland/weston/config/weston.ini | 13 ++++ packages/wayland/weston/package.mk | 68 +++++++++++++++++++ .../wayland/weston/profile.d/04-weston.conf | 19 ++++++ packages/wayland/weston/scripts/weston-config | 29 ++++++++ .../wayland/weston/system.d/weston.service | 18 +++++ 5 files changed, 147 insertions(+) create mode 100644 packages/wayland/weston/config/weston.ini create mode 100644 packages/wayland/weston/package.mk create mode 100644 packages/wayland/weston/profile.d/04-weston.conf create mode 100755 packages/wayland/weston/scripts/weston-config create mode 100644 packages/wayland/weston/system.d/weston.service diff --git a/packages/wayland/weston/config/weston.ini b/packages/wayland/weston/config/weston.ini new file mode 100644 index 0000000000..b48f9c30c4 --- /dev/null +++ b/packages/wayland/weston/config/weston.ini @@ -0,0 +1,13 @@ +[core] +idle-time=0 + +[shell] +locking=false + +[launcher] +path=/usr/lib/kodi/kodi.bin +icon=/usr/share/kodi/media/icon16x16.png + +[launcher] +icon=/usr/share/weston/terminal.png +path=/usr/bin/weston-terminal diff --git a/packages/wayland/weston/package.mk b/packages/wayland/weston/package.mk new file mode 100644 index 0000000000..3a6e4fab2a --- /dev/null +++ b/packages/wayland/weston/package.mk @@ -0,0 +1,68 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +PKG_NAME="weston" +PKG_VERSION="3.0.0" +PKG_SHA256="cde1d55e8dd70c3cbb3d1ec72f60e60000041579caa1d6a262bd9c35e93723a5" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="https://wayland.freedesktop.org/" +PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz" +PKG_DEPENDS_TARGET="toolchain wayland-protocols libdrm libxkbcommon libinput cairo libjpeg-turbo dbus" +PKG_SECTION="wayland" +PKG_SHORTDESC="Reference implementation of a Wayland compositor" +PKG_LONGDESC="Reference implementation of a Wayland compositor" + +PKG_CONFIGURE_OPTS_TARGET="CFLAGS=-DMESA_EGL_NO_X11_HEADERS \ + LIBS=-lturbojpeg \ + --with-cairo-glesv2 \ + --disable-xwayland \ + --disable-x11-compositor \ + --disable-xwayland-test \ + --disable-libunwind \ + --disable-colord \ + --disable-ivi-shell \ + --disable-fbdev-compositor \ + --disable-rdp-compositor \ + --disable-screen-sharing \ + --disable-vaapi-recorder \ + --disable-headless-compositor \ + --enable-systemd-login \ + --disable-weston-launch \ + --disable-fullscreen-shell \ + --disable-demo-clients-install \ + --enable-systemd-notify" + +pre_configure_target() { + strip_lto +} + +post_makeinstall_target() { + mkdir -p $INSTALL/usr/lib/weston + cp $PKG_DIR/scripts/weston-config $INSTALL/usr/lib/weston + + mkdir -p $INSTALL/usr/share/weston + cp $PKG_DIR/config/weston.ini $INSTALL/usr/share/weston + + rm -r $INSTALL/usr/share/wayland-sessions + rm -r $INSTALL/usr/lib/weston-simple-im +} + +post_install() { + enable_service weston.service +} diff --git a/packages/wayland/weston/profile.d/04-weston.conf b/packages/wayland/weston/profile.d/04-weston.conf new file mode 100644 index 0000000000..d006d4a532 --- /dev/null +++ b/packages/wayland/weston/profile.d/04-weston.conf @@ -0,0 +1,19 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +export XDG_RUNTIME_DIR=/var/run/0-runtime-dir diff --git a/packages/wayland/weston/scripts/weston-config b/packages/wayland/weston/scripts/weston-config new file mode 100755 index 0000000000..75f6dc8528 --- /dev/null +++ b/packages/wayland/weston/scripts/weston-config @@ -0,0 +1,29 @@ +#!/bin/sh +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +export XDG_RUNTIME_DIR=/var/run/0-runtime-dir + +if [ ! -d "$XDG_RUNTIME_DIR" ]; then + mkdir "$XDG_RUNTIME_DIR" + chmod 0700 "$XDG_RUNTIME_DIR" +fi + +if [ ! -f /storage/.config/weston.ini ]; then + cp /usr/share/weston/weston.ini /storage/.config/weston.ini +fi diff --git a/packages/wayland/weston/system.d/weston.service b/packages/wayland/weston/system.d/weston.service new file mode 100644 index 0000000000..a776af3dfc --- /dev/null +++ b/packages/wayland/weston/system.d/weston.service @@ -0,0 +1,18 @@ +[Unit] +Description=Weston Launcher +Before=graphical.target +After=multi-user.target +ConditionKernelCommandLine=!installer + +[Service] +Environment=HOME=/storage +Environment=XDG_RUNTIME_DIR=/var/run/0-runtime-dir +WorkingDirectory=/storage +ExecStartPre=-/usr/lib/weston/weston-config +ExecStart=/usr/bin/weston --tty=1 --log=/var/log/weston.log +Restart=always +RestartSec=10 + +[Install] +Alias=display-manager.service +WantedBy=graphical.target From ab5ad1e0c161b45f391238ef412a371858cbf272 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 04/17] waylandpp: add package --- packages/wayland/waylandpp/package.mk | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 packages/wayland/waylandpp/package.mk diff --git a/packages/wayland/waylandpp/package.mk b/packages/wayland/waylandpp/package.mk new file mode 100644 index 0000000000..ad0a866613 --- /dev/null +++ b/packages/wayland/waylandpp/package.mk @@ -0,0 +1,37 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +PKG_NAME="waylandpp" +PKG_VERSION="0.1.6" +PKG_SHA256="33d3ec385704c5545fb50d2283aabf4ef26aaaf3e416b292e650fea67c430d23" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/NilsBrause/waylandpp" +PKG_URL="https://github.com/NilsBrause/waylandpp/archive/$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain waylandpp:host" +PKG_SECTION="wayland" +PKG_SHORTDESC="Wayland C++ bindings" +PKG_LONGDESC="Wayland C++ bindings" + +PKG_CMAKE_OPTS_HOST="-DBUILD_SCANNER=ON \ + -DBUILD_LIBRARIES=OFF" + +PKG_CMAKE_OPTS_TARGET="-DBUILD_SCANNER=OFF \ + -DBUILD_LIBRARIES=ON \ + -DCMAKE_CROSSCOMPILING=ON \ + -DWAYLAND_SCANNERPP=$TOOLCHAIN/bin/wayland-scanner++" From 3a9350fd93475c76812fa3c7cbed31fc770f4e1f Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 05/17] mesa: allow building with DISPLAYSERVER=weston --- packages/graphics/mesa/package.mk | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 7228ff79bb..49a1611b50 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -37,6 +37,12 @@ if [ "$DISPLAYSERVER" = "x11" ]; then MESA_DRI="--enable-dri --enable-dri3" MESA_GLX="--enable-glx --enable-driglx-direct --enable-glx-tls" MESA_PLATFORMS="--with-platforms=x11,drm" +elif [ "$DISPLAYSERVER" = "weston" ]; then + PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET wayland wayland-protocols" + MESA_DRI="--enable-dri --disable-dri3" + # The glx in glx-tls is a misnomer - there's nothing glx in it. + MESA_GLX="--disable-glx --disable-driglx-direct --enable-glx-tls" + MESA_PLATFORMS="--with-platforms=drm,wayland" else MESA_DRI="--enable-dri --disable-dri3" # The glx in glx-tls is a misnomer - there's nothing glx in it. @@ -104,7 +110,6 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \ --enable-shared-glapi \ $MESA_GALLIUM_LLVM \ --disable-silent-rules \ - --with-gl-lib-name=GL \ --with-osmesa-lib-name=OSMesa \ --with-gallium-drivers=$GALLIUM_DRIVERS \ --with-dri-drivers=$DRI_DRIVERS \ From d3939e140398e3d4f43a8fc49f3a8e307053cd92 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 06/17] tiff: build without gl --- packages/graphics/tiff/package.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/graphics/tiff/package.mk b/packages/graphics/tiff/package.mk index 14fd951279..17666e7cda 100644 --- a/packages/graphics/tiff/package.mk +++ b/packages/graphics/tiff/package.mk @@ -36,7 +36,8 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --with-gl=no \ --with-jpeg-lib-dir=$SYSROOT_PREFIX/usr/lib \ --with-jpeg-include-dir=$SYSROOT_PREFIX/usr/include \ - --without-x" + --without-x \ + --with-gl=no" pre_configure_target() { export CFLAGS="$CFLAGS -fPIC -DPIC" From f06b0c2fcb4da1ad3207b44ddc1c33899fb077d8 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 07/17] kodi: allow building with DISPLAYSERVER=weston --- packages/mediacenter/kodi/package.mk | 5 +++++ packages/mediacenter/kodi/system.d/kodi.service | 1 + 2 files changed, 6 insertions(+) diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index 4593d1f4f5..cf0fb45c03 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -36,6 +36,11 @@ PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET dbus" if [ "$DISPLAYSERVER" = "x11" ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libX11 libXext libdrm libXrandr" KODI_XORG="-DCORE_PLATFORM_NAME=x11" +elif [ "$DISPLAYSERVER" = "weston" ]; then + PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET wayland waylandpp" + CFLAGS="$CFLAGS -DMESA_EGL_NO_X11_HEADERS" + CXXFLAGS="$CXXFLAGS -DMESA_EGL_NO_X11_HEADERS" + KODI_XORG="-DCORE_PLATFORM_NAME=wayland -DWAYLAND_RENDER_SYSTEM=gles" fi if [ ! "$OPENGL" = "no" ]; then diff --git a/packages/mediacenter/kodi/system.d/kodi.service b/packages/mediacenter/kodi/system.d/kodi.service index d6d0250037..3ab61243a6 100644 --- a/packages/mediacenter/kodi/system.d/kodi.service +++ b/packages/mediacenter/kodi/system.d/kodi.service @@ -7,6 +7,7 @@ Wants=network-online.target [Service] Environment=__GL_YIELD=USLEEP Environment=DISPLAY=:0.0 +Environment=WAYLAND_DISPLAY=wayland-0 Environment=SDL_MOUSE_RELATIVE=0 Environment=HOME=/storage Environment=KODI_TEMP=/storage/.kodi/temp From 82b609974d0f906174f168e6954fba529343df03 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 08/17] libva: allow building with DISPLAYSERVER=weston --- packages/multimedia/libva/package.mk | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/multimedia/libva/package.mk b/packages/multimedia/libva/package.mk index 26e95cf74c..1b7b491819 100644 --- a/packages/multimedia/libva/package.mk +++ b/packages/multimedia/libva/package.mk @@ -30,10 +30,13 @@ PKG_TOOLCHAIN="autotools" if [ "$DISPLAYSERVER" = "x11" ]; then PKG_DEPENDS_TARGET="toolchain libX11 libXext libXfixes libdrm mesa" - DISPLAYSERVER_LIBVA="--enable-x11 --enable-glx" + DISPLAYSERVER_LIBVA="--enable-x11 --enable-glx --disable-wayland" +elif [ "$DISPLAYSERVER" = "weston" ]; then + DISPLAYSERVER_LIBVA="--disable-x11 --disable-glx --enable-wayland" + PKG_DEPENDS_TARGET="toolchain libdrm mesa wayland" else PKG_DEPENDS_TARGET="toolchain libdrm" - DISPLAYSERVER_LIBVA="--disable-x11 --disable-glx" + DISPLAYSERVER_LIBVA="--disable-x11 --disable-glx --disable-wayland" fi PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \ @@ -41,5 +44,4 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \ --enable-drm \ --enable-egl \ $DISPLAYSERVER_LIBVA \ - --disable-wayland \ --disable-dummy-driver" From d33672f2247cf4fa95631f22eefc7ca78114775f Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:49 -0800 Subject: [PATCH 09/17] xkeyboard-config: allow building without x11 --- packages/x11/data/xkeyboard-config/package.mk | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/x11/data/xkeyboard-config/package.mk b/packages/x11/data/xkeyboard-config/package.mk index 6ce64036db..e175b27330 100644 --- a/packages/x11/data/xkeyboard-config/package.mk +++ b/packages/x11/data/xkeyboard-config/package.mk @@ -23,21 +23,29 @@ PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="http://www.X.org" PKG_URL="http://www.x.org/releases/individual/data/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain util-macros xkbcomp" PKG_SECTION="x11/data" PKG_SHORTDESC="xkeyboard-config: X keyboard extension data files" PKG_LONGDESC="X keyboard extension data files." PKG_TOOLCHAIN="autotools" -PKG_CONFIGURE_OPTS_TARGET="XKBCOMP=/usr/bin/xkbcomp \ - --without-xsltproc \ +if [ "$DISPLAYSERVER" = "x11" ]; then + PKG_DEPENDS_TARGET="toolchain util-macros xkbcomp" + DISPLAYSERVER_XKEYBOARD="XKBCOMP=/usr/bin/xkbcomp \ + --with-xkb-base=$XORG_PATH_XKB \ + --with-xkb-rules-symlink=xorg" + +else + PKG_DEPENDS_TARGET="toolchain util-macros" + DISPLAYSERVER_XKEYBOARD="" +fi + +PKG_CONFIGURE_OPTS_TARGET="--without-xsltproc \ --enable-compat-rules \ - --enable-runtime-deps \ + --disable-runtime-deps \ --enable-nls \ --disable-rpath \ - --with-xkb-base=$XORG_PATH_XKB \ - --with-xkb-rules-symlink=xorg \ - --with-gnu-ld" + --with-gnu-ld \ + $DISPLAYSERVER_XKEYBOARD" pre_build_target() { # broken autoreconf From 97e09f9eded0705413f1f81ec651922fb4b68460 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 10/17] intel-vaapi-driver: allow building with DISPLAYSERVER=weston --- packages/multimedia/intel-vaapi-driver/package.mk | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/multimedia/intel-vaapi-driver/package.mk b/packages/multimedia/intel-vaapi-driver/package.mk index 2dcd142181..f628abec46 100644 --- a/packages/multimedia/intel-vaapi-driver/package.mk +++ b/packages/multimedia/intel-vaapi-driver/package.mk @@ -30,12 +30,13 @@ PKG_LONGDESC="intel-vaapi-driver: VA-API user mode driver for Intel GEN Graphics PKG_TOOLCHAIN="autotools" if [ "$DISPLAYSERVER" = "x11" ]; then - DISPLAYSERVER_LIBVA="--enable-x11" + DISPLAYSERVER_LIBVA="--enable-x11 --disable-wayland" +elif [ "$DISPLAYSERVER" = "weston" ]; then + DISPLAYSERVER_LIBVA="--disable-x11 --enable-wayland" else - DISPLAYSERVER_LIBVA="--disable-x11" + DISPLAYSERVER_LIBVA="--disable-x11 --disable-wayland" fi PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \ --enable-drm \ - --disable-wayland \ $DISPLAYSERVER_LIBVA" From b89b18ee93d2bfdb324d0a926411af775ec8f956 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 11/17] libxkbcommon: update to 0.7.1 --- packages/wayland/libxkbcommon/package.mk | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/wayland/libxkbcommon/package.mk b/packages/wayland/libxkbcommon/package.mk index e85d05957e..ae95573abc 100644 --- a/packages/wayland/libxkbcommon/package.mk +++ b/packages/wayland/libxkbcommon/package.mk @@ -17,19 +17,18 @@ ################################################################################ PKG_NAME="libxkbcommon" -PKG_VERSION="0.6.1" -PKG_SHA256="5b0887b080b42169096a61106661f8d35bae783f8b6c58f97ebcd3af83ea8760" +PKG_VERSION="0.7.1" +PKG_SHA256="ba59305d2e19e47c27ea065c2e0df96ebac6a3c6e97e28ae5620073b6084e68b" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="http://xkbcommon.org" PKG_URL="http://xkbcommon.org/download/${PKG_NAME}-${PKG_VERSION}.tar.xz" -PKG_DEPENDS_TARGET="toolchain" +PKG_DEPENDS_TARGET="toolchain xkeyboard-config" PKG_SECTION="wayland" PKG_SHORTDESC="xkbcommon: a library to handle keyboard descriptions" PKG_LONGDESC="xkbcommon is a library to handle keyboard descriptions, including loading them from disk, parsing them and handling their state. It's mainly meant for client toolkits, window systems, and other system applications; currently that includes Wayland, kmscon, GTK+, Qt, Clutter, and more. It is also used by some XCB applications for proper keyboard support." if [ "$DISPLAYSERVER" = "x11" ]; then - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET xkeyboard-config" PKG_CONFIGURE_OPTS_TARGET="--enable-x11" else PKG_CONFIGURE_OPTS_TARGET="--disable-x11" From 488a8b72436c9e42a43417777662e8c0bd25cf99 Mon Sep 17 00:00:00 2001 From: Lionel CHAZALLON Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 12/17] harfbuzz: don't assume we have cairo This is only valid for X11 for now --- packages/addons/addon-depends/harfbuzz/package.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/addons/addon-depends/harfbuzz/package.mk b/packages/addons/addon-depends/harfbuzz/package.mk index c936ecd12f..6e28b2ca41 100644 --- a/packages/addons/addon-depends/harfbuzz/package.mk +++ b/packages/addons/addon-depends/harfbuzz/package.mk @@ -25,13 +25,17 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.freedesktop.org/wiki/Software/HarfBuzz" PKG_URL="http://www.freedesktop.org/software/harfbuzz/release/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain glib freetype cairo icu" +PKG_DEPENDS_TARGET="toolchain glib freetype icu" PKG_SECTION="x11/toolkits" PKG_SHORTDESC="harfbuzz: an OpenType text shaping engine." PKG_LONGDESC="HarfBuzz is an OpenType text shaping engine." PKG_CONFIGURE_OPTS_TARGET="--with-icu=yes" +if [ "$DISPLAYSERVER" = "x11" ] ; then + PKG_DEPENDS_TARGET+=" cairo" +fi + pre_configure_target() { export LIBS="-ldl" } From 54307b296e67dc99ae420b4a7d49ce8e3f28c0ef Mon Sep 17 00:00:00 2001 From: Lionel CHAZALLON Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 13/17] pango: don't assume we have X11 Allows X11 / Wayland support depending on DISPLAYSERVER --- packages/addons/addon-depends/pango/package.mk | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/addons/addon-depends/pango/package.mk b/packages/addons/addon-depends/pango/package.mk index d3c14015fd..338f57ae77 100644 --- a/packages/addons/addon-depends/pango/package.mk +++ b/packages/addons/addon-depends/pango/package.mk @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.pango.org/" PKG_URL="http://ftp.gnome.org/pub/gnome/sources/pango/1.40/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain glib cairo freetype fontconfig libX11 libXft harfbuzz" +PKG_DEPENDS_TARGET="toolchain glib freetype fontconfig harfbuzz" PKG_SECTION="x11/toolkits" PKG_SHORTDESC="pango: Library for layout and rendering of internationalized text" PKG_LONGDESC="The goal of the Pango project is to provide an open-source framework for the layout and rendering of internationalized text. Pango is an offshoot of the GTK+ and GNOME projects, and the initial focus is operation in those environments, however there is nothing fundamentally GTK+ or GNOME specific about Pango. Pango uses Unicode for all of its encoding, and will eventually support output in all the worlds major languages." @@ -34,5 +34,13 @@ PKG_TOOLCHAIN="autotools" PKG_CONFIGURE_OPTS_TARGET="--disable-doc-cross-references \ --disable-gtk-doc \ --disable-man \ - --enable-debug=no \ - --with-xft" + --enable-debug=no" + +if [ "$DISPLAYSERVER" = "x11" ] ; then + PKG_DEPENDS_TARGET+=" cairo libX11 libXft" + PKG_CONFIGURE_OPTS_TARGET+=" --with-xft" +fi + +if [ "$DISPLAYSERVER" = "weston" ] ; then + PKG_DEPENDS_TARGET+=" wayland" +fi From 74bd63fa9e3ad8d76a8d25826fa0e6557dde5558 Mon Sep 17 00:00:00 2001 From: LongChair Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 14/17] libepoxy: don't assume we have OpenGL and X11 This disables glx support if we don't have X11 and allows to use GLES drivers if we have any. --- packages/graphics/libepoxy/package.mk | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/graphics/libepoxy/package.mk b/packages/graphics/libepoxy/package.mk index 2cf166cfa0..bb30ae548b 100644 --- a/packages/graphics/libepoxy/package.mk +++ b/packages/graphics/libepoxy/package.mk @@ -22,14 +22,26 @@ # in Xorg.log PKG_NAME="libepoxy" -PKG_VERSION="1.4.2" -PKG_SHA256="bea6fdec3d10939954495da898d872ee836b75c35699074cbf02a64fcb80d5b3" +PKG_VERSION="1.4.3" +PHG_SHA256="0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="https://github.com/anholt/libepoxy" PKG_URL="https://github.com/anholt/libepoxy/releases/download/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain $OPENGL" +PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="graphics" PKG_SHORTDESC="libepoxy: a library for handling OpenGL function pointer management for you." PKG_LONGDESC="Epoxy is a library for handling OpenGL function pointer management for you." PKG_TOOLCHAIN="autotools" + +if [ "$OPENGL" != "no" ]; then + PKG_DEPENDS_TARGET+=" $OPENGL" +fi + +if [ "$OPENGLES" != "no" ]; then + PKG_DEPENDS_TARGET+=" $OPENGLES" +fi + +if [ "$DISPLAYSERVER" != "x11" ]; then + PKG_CONFIGURE_OPTS_TARGET="--disable-glx" +fi From 60cf9015de9935b757ba90e03f24193c0cc3f49c Mon Sep 17 00:00:00 2001 From: Lionel CHAZALLON Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 15/17] gdk-pixbuf: don't use introspection --- packages/addons/addon-depends/gdk-pixbuf/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/addons/addon-depends/gdk-pixbuf/package.mk b/packages/addons/addon-depends/gdk-pixbuf/package.mk index 8a57c970f8..cac488929f 100644 --- a/packages/addons/addon-depends/gdk-pixbuf/package.mk +++ b/packages/addons/addon-depends/gdk-pixbuf/package.mk @@ -39,4 +39,5 @@ PKG_CONFIGURE_OPTS_TARGET="gio_can_sniff=yes \ --with-libpng \ --with-libjpeg \ --with-libtiff \ + --enable-introspection=no \ --with-libjasper" From b435a4e70ba2371cc3e227f61b054093c81d2699 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 16/17] cairo: depends on OPENGL/OPENGLES --- packages/graphics/cairo/package.mk | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/graphics/cairo/package.mk b/packages/graphics/cairo/package.mk index e6d85df2fc..17e708bdfb 100644 --- a/packages/graphics/cairo/package.mk +++ b/packages/graphics/cairo/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="cairo" -PKG_VERSION="1.14.6" -PKG_SHA256="613cb38447b76a93ff7235e17acd55a78b52ea84a9df128c3f2257f8eaa7b252" +PKG_VERSION="1.14.10" +PKG_SHA256="7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09" PKG_ARCH="any" PKG_LICENSE="LGPL" PKG_SITE="http://cairographics.org/" @@ -29,6 +29,14 @@ PKG_SHORTDESC="cairo: Multi-platform 2D graphics library" PKG_LONGDESC="Cairo is a vector graphics library with cross-device output support. Currently supported output targets include the X Window System and in-memory image buffers. PostScript and PDF file output is planned. Cairo is designed to produce identical output on all output media while taking advantage of display hardware acceleration when available." PKG_TOOLCHAIN="configure" # ToDo +if [ "$OPENGL" != "no" ]; then + PKG_DEPENDS_TARGET+=" $OPENGL" +fi + +if [ "$OPENGLES" != "no" ]; then + PKG_DEPENDS_TARGET+=" $OPENGLES" +fi + if [ "$DISPLAYSERVER" = "x11" ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libXrender libX11 mesa" PKG_CAIRO_CONFIG="--x-includes="$SYSROOT_PREFIX/usr/include" \ From 86e9171315d8c5898a0010f686bae546043ef6aa Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sat, 16 Dec 2017 10:17:50 -0800 Subject: [PATCH 17/17] pixman: disable neon for aarch64 --- packages/x11/lib/pixman/package.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/x11/lib/pixman/package.mk b/packages/x11/lib/pixman/package.mk index 77a1a00fa9..068f28f021 100644 --- a/packages/x11/lib/pixman/package.mk +++ b/packages/x11/lib/pixman/package.mk @@ -29,12 +29,14 @@ PKG_SHORTDESC="pixman: Pixel manipulation library" PKG_LONGDESC="Pixman is a generic library for manipulating pixel regions, contains low-level pixel manipulation routines and is used by both xorg and cairo." if [ "$TARGET_ARCH" = arm ]; then - if [ "$TARGET_FPU" = neon -o "$TARGET_FPU" = neon-fp16 ]; then + if target_has_feature neon; then PIXMAN_NEON="--enable-arm-neon" else PIXMAN_NEON="--disable-arm-neon" fi PIXMAN_CONFIG="--disable-mmx --disable-sse2 --disable-vmx --enable-arm-simd $PIXMAN_NEON --disable-arm-iwmmxt" +elif [ "$TARGET_ARCH" = aarch64 ]; then + PIXMAN_CONFIG="--disable-mmx --disable-sse2 --disable-vmx --disable-arm-simd --disable-arm-neon --disable-arm-iwmmxt" elif [ "$TARGET_ARCH" = x86_64 ]; then PIXMAN_CONFIG="--enable-mmx --enable-sse2 --disable-ssse3 --disable-vmx --disable-arm-simd --disable-arm-neon" fi