Control: retitle -1 Please enable Wayland support during build
Control: severity -1 wishlist

On Sun, Feb 25, 2018 at 08:48:12AM +0300, sergio wrote:
> % enlightenment_start
> ...
> ESTART: 0.06085 [0.00002] - Elementary Init
> ERR<2358>:elementary lib/elementary/elm_config.c:3965 _elm_config_sub_init() 
> Could not connect to Wayland Display
> ## Copy & Paste the below (until EOF) into a terminal, then hit Enter

The Debian package for enlightenment is not currently built with Wayland
support, though EFL is.  I began work, but ran into two problems:
1) it broke X11 support for my own setup.
2) I couldn't test Wayland since I depend on multihead support.

If you have time and interest, WIP patch is attached.  Fixes welcome!

Ross
diff --git a/debian/changelog b/debian/changelog
index 76ce1e213..dc8c1e257 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 e17 (0.22.1-3) UNRELEASED; urgency=low
 
   * Update Vcs URLs for alioth -> salsa transition
+  * Enable wayland support
 
  -- Ross Vandegrift <r...@kallisti.us>  Sat, 03 Feb 2018 12:21:12 -0800
 
diff --git a/debian/control b/debian/control
index 926e5703b..1a5cda510 100644
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,9 @@ Build-Depends: connman-dev,
 	       libxcb-shape0-dev,
 	       libxext-dev,
 	       meson,
-	       systemd
+	       systemd,
+	       wayland-protocols,
+	       xwayland
 Build-Depends-Indep: doxygen
 Standards-Version: 4.1.1
 Vcs-Git: https://salsa.debian.org/pkg-e-team/e.git
@@ -31,7 +33,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends},
 	 default-dbus-session-bus | dbus-session-bus,
 	 enlightenment-data (= ${source:Version}),
 	 libedje-bin,
-	 libevas1-engines-x
+	 libevas1-engines-x | libevas1-engines-wayland
 Recommends: pm-utils,
 	    terminology | x-terminal-emulator
 Provides: x-window-manager
diff --git a/debian/enlightenment-data.install b/debian/enlightenment-data.install
index 165c1eb20..4263d11ce 100644
--- a/debian/enlightenment-data.install
+++ b/debian/enlightenment-data.install
@@ -9,3 +9,4 @@ usr/share/enlightenment/doc/illume2.html usr/share/doc/enlightenment/html
 usr/share/enlightenment/doc/*.txt.gz usr/share/doc/enlightenment
 usr/share/pixmaps/emixer.png
 usr/share/pixmaps/enlightenment-askpass.png
+usr/share/wayland-sessions/enlightenment.desktop
diff --git a/debian/enlightenment.install b/debian/enlightenment.install
index 56a8a8c7c..8beabcc04 100644
--- a/debian/enlightenment.install
+++ b/debian/enlightenment.install
@@ -21,3 +21,4 @@ usr/share/applications/enlightenment_filemanager.desktop
 usr/share/applications/emixer.desktop
 usr/share/applications/enlightenment_askpass.desktop
 usr/lib/*/enlightenment/modules/vkbd
+usr/lib/*/enlightenment/modules/wl_weekeyboard
diff --git a/debian/patches/10_seperate_wayland_session.diff b/debian/patches/10_seperate_wayland_session.diff
new file mode 100644
index 000000000..6c8cbb1de
--- /dev/null
+++ b/debian/patches/10_seperate_wayland_session.diff
@@ -0,0 +1,81 @@
+--- a/data/session/Makefile.mk
++++ b/data/session/Makefile.mk
+@@ -1,11 +1,13 @@
+ if ! HAVE_WAYLAND_ONLY
+ xsessionfilesdir = $(datadir)/xsessions
+ xsessionfiles_DATA = data/session/enlightenment.desktop
++
++EXTRA_DIST += data/session/enlightenment.desktop.in
+ endif
+ 
+ if HAVE_WAYLAND
+ wlsessionfilesdir = $(datadir)/wayland-sessions
+-wlsessionfiles_DATA = data/session/enlightenment.desktop
+-endif
++wlsessionfiles_DATA = data/session/enlightenment-wayland.desktop
+ 
+-EXTRA_DIST += data/session/enlightenment.desktop.in
++EXTRA_DIST += data/session/enlightenment-wayland.desktop.in
++endif
+--- /dev/null
++++ b/data/session/enlightenment-wayland.desktop.in
+@@ -0,0 +1,38 @@
++[Desktop Entry]
++Type=Application
++Name=Enlightenment on Wayland
++Name[ca]=Enlightenment sobre Wayland
++Name[de]=Enlightenment unter Wayland
++Name[el]=Enlightenment σε Wayland
++Name[eo]=Enlightenment je Vejlando
++Name[fi]=Enlightenment Waylandia käyttäen
++Name[fr]=Enlightenment sur Wayland
++Name[gl]=Enlightenment en Wayland
++Name[ja]=Enlightenment on Wayland
++Name[ko]=Enlightenment on Wayland
++Name[ms]=Enlightenment pada Wayland
++Name[pl]=Enlightenment (Wayland)
++Name[ru]=Enlightenment на Wayland
++Name[sr]=Просвећење на Вејланду
++Name[tr]=Wayland üzerinde Enlightenment
++Comment=Log in using Enlightenment (Version @VERSION@)
++Comment[ca]=Iniciar sessió amb Enlightenment (Versió @VERSION@)
++Comment[de]=Anmelden und Enlightenment verwenden (Version @VERSION@)
++Comment[el]=Είσοδος με το Enlightenment (Έκδοση @VERSION@)
++Comment[eo]=Ensaluti pere de Enlightenment (Versio @VERSION@)
++Comment[es]=Iniciar sesión usando Enlightenment (Versión @VERSION@)
++Comment[fi]=Kirjaudu käyttäen Enlightenmentiä (versio @VERSION@)
++Comment[fr]=Ouvrir une session Enlightenment (Version @VERSION@)
++Comment[gl]=Iniciar sesión usando Enlightenment (Versión @VERSION@)
++Comment[it]=Accedi con Enlightenment (Versione @VERSION@)
++Comment[ko]=Enlightenment 로그인(버전 @VERSION@)
++Comment[ms]=Daftar masuk menggunakan Enligtenment (Versi @VERSION@)
++Comment[pt]=Iniciar sessão no Enlightenment (Versão @VERSION@)
++Comment[ru]=Войти используя Enlightenment (Версия @VERSION@)
++Comment[sr]=Пријавите се за коришћење Просвећења (издања @VERSION@)
++Comment[tr]=Enlightenment kullanarak giriş yaın (Version @VERSION@)
++Icon=@prefix@/share/enlightenment/data/images/enlightenment.png
++TryExec=@prefix@/bin/enlightenment_start
++Exec=@prefix@/bin/enlightenment_start
++Type=Application
++DesktopNames=Enlightenment
+--- a/data/session/meson.build
++++ b/data/session/meson.build
+@@ -5,13 +5,17 @@
+                output       : 'enlightenment.desktop',
+                configuration: desktop_config
+               )
++e_wl_desktop = configure_file(input        : 'enlightenment.desktop.in',
++               output       : 'enlightenment-wayland.desktop',
++               configuration: desktop_config
++              )
+ 
+ if config_h.has('HAVE_WAYLAND_ONLY') == false
+ 	install_data(e_desktop,
+ 		install_dir  : join_paths(dir_data, 'xsessions'))
+ endif
+ 
+-if config_h.has('HAVE_WAYLAND') == false
++if config_h.has('HAVE_WAYLAND') == true
+ 	install_data(e_desktop,
+ 		install_dir  : join_paths(dir_data, 'wayland-sessions'))
+ endif
diff --git a/debian/patches/series b/debian/patches/series
index 4304907bc..79f119b4e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 03_test_pt_getsiginfo.diff
 04_evry_fix_default_path_for_terminal.diff
 05_fix_enlightenment_remote_bashism.diff
+10_seperate_wayland_session.diff
diff --git a/debian/rules b/debian/rules
index de55ca691..f9325ec1c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,7 +9,8 @@ ARCH_PATH=$(DEB_HOST_GNU_SYSTEM)-$(DEB_HOST_GNU_CPU)-$(RELEASE)
 	dh $@ --without autoreconf --buildsystem=meson
 
 override_dh_auto_configure:
-	dh_auto_configure --verbose
+	dh_auto_configure --verbose -- \
+		-Dwayland=true
 
 override_dh_auto_build:
 	$(CURDIR)/debian/fake_home.sh \

Reply via email to