Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emil Velikov
On 6 June 2018 at 15:47, Simon McVittie  wrote:
> On Wed, 06 Jun 2018 at 15:33:13 +0100, Emil Velikov wrote:
>> On 5 June 2018 at 23:06, Daniel Stone  wrote:
>> > +  - apt-get -y --no-install-recommends install build-essential automake 
>> > autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
>> > libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
>> > libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
>> > libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
>> > libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
>> > libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
>> > libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev 
>> > libwebp-dev libjpeg-dev libva-dev liblcms2-dev git
>>
>> I think this can be simplify the explicit list to:
>> apt-get -y --no-install-recommends build-dep wayland
>
> Only if the latest version of wayland has the same build-dependencies
> as the (likely much older) version visible in the Sources index
> for the container's apt configuration. If the container is
> Debian 9 'stretch' (released about a year ago) then apt-get build-dep
> will get the build-dependencies of wayland 1.12.0, according to
> .
>
Sure, there can be differences. Adding the odd extra piece tends to be
shorter and easier (imho) than trying to keep the huge list in sync.
Distribution maintainers already that laborious job, why not make use of it.

>> > +  - make -j4
>> > +  - make check
>> > +  - make install
>> > +  - make distcheck
>> I was under the impression that "make -j4 distcheck" is enough
>
> install and check both imply (depend on) a normal build, so that one is
> redundant.
>
> distcheck runs the tests like check does, but differently-configured,
> so for full coverage you might want to do both.
>
> Similarly, distcheck runs "make install", but into a temporary directory,
> not the requested $PREFIX.
>
Right - did not spot that "prefix-*" is also collected as artefacts.

>> Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across 
>> all.
>
> Using -j would definitely help for "make distcheck".
>
> If parallel install works, it would be good to test it so that it stays
> that way: quite a lot of projects can build correctly in parallel, but
> don't work reliably for "make -jX install".
>
There has been issues in the past and everything ran fine last time
I've checked.
That's why I'm suggesting adding the toggle ;-)

I'm slightly confused if the reply is a) for, b) against or c) simply
provides more info.
In either way, the background info is always appreciated.

Thanks
Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Simon McVittie
On Wed, 06 Jun 2018 at 15:33:13 +0100, Emil Velikov wrote:
> On 5 June 2018 at 23:06, Daniel Stone  wrote:
> > +  - apt-get -y --no-install-recommends install build-essential automake 
> > autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
> > libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
> > libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
> > libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
> > libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
> > libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
> > libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev 
> > libwebp-dev libjpeg-dev libva-dev liblcms2-dev git
> 
> I think this can be simplify the explicit list to:
> apt-get -y --no-install-recommends build-dep wayland

Only if the latest version of wayland has the same build-dependencies
as the (likely much older) version visible in the Sources index
for the container's apt configuration. If the container is
Debian 9 'stretch' (released about a year ago) then apt-get build-dep
will get the build-dependencies of wayland 1.12.0, according to
.

> > +  - make -j4
> > +  - make check
> > +  - make install
> > +  - make distcheck
> I was under the impression that "make -j4 distcheck" is enough

install and check both imply (depend on) a normal build, so that one is
redundant.

distcheck runs the tests like check does, but differently-configured,
so for full coverage you might want to do both.

Similarly, distcheck runs "make install", but into a temporary directory,
not the requested $PREFIX.

> Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across all.

Using -j would definitely help for "make distcheck".

If parallel install works, it would be good to test it so that it stays
that way: quite a lot of projects can build correctly in parallel, but
don't work reliably for "make -jX install".

smcv
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


weston: Add config option to enable pixman-based rendering

2018-06-06 Thread Thomas Zimmermann
Pixman can be used for rendering if the default GLESv2 rendering
is broken or cannot be used.

Pixman-based rendering is already available with the command-line
switch '--use-pixman'. This patch adds support for this option to
the configuration file. Putting

  [core]
  use-pixman=true

into 'weston.ini' enables pixman-based rendering for all backends
that support it. With this change, pixman has to be enabled once.

Signed-off-by: Thomas Zimmermann 
---
 compositor/main.c  | 39 +++
 man/weston.ini.man |  6 ++
 2 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/compositor/main.c b/compositor/main.c
index 1e827884..e7ac52ca 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -1104,18 +1104,26 @@ load_drm_backend(struct weston_compositor *c,
struct weston_config_section *section;
struct wet_compositor *wet = to_wet_compositor(c);
int ret = 0;
+   int use_pixman_config_ = 0;
+   int32_t use_pixman_ = 0;
 
wet->drm_use_current_mode = false;
 
+   section = weston_config_get_section(wc, "core", NULL, NULL);
+   weston_config_section_get_bool(section, "use-pixman", 
_pixman_config_,
+  use_pixman_config_);
+   use_pixman_ = use_pixman_config_;
+
const struct weston_option options[] = {
{ WESTON_OPTION_STRING, "seat", 0, _id },
{ WESTON_OPTION_INTEGER, "tty", 0,  },
{ WESTON_OPTION_STRING, "drm-device", 0, 
_device },
{ WESTON_OPTION_BOOLEAN, "current-mode", 0, 
>drm_use_current_mode },
-   { WESTON_OPTION_BOOLEAN, "use-pixman", 0, _pixman },
+   { WESTON_OPTION_BOOLEAN, "use-pixman", 0, _pixman_ },
};
 
parse_options(options, ARRAY_LENGTH(options), argc, argv);
+   config.use_pixman = use_pixman_;
 
section = weston_config_get_section(wc, "core", NULL, NULL);
weston_config_section_get_string(section,
@@ -1160,23 +1168,32 @@ load_headless_backend(struct weston_compositor *c,
 {
const struct weston_windowed_output_api *api;
struct weston_headless_backend_config config = {{ 0, }};
+   struct weston_config_section *section;
int no_outputs = 0;
int ret = 0;
char *transform = NULL;
+   int32_t use_pixman_config_ = 0;
+   int use_pixman_ = 0;
 
struct wet_output_config *parsed_options = wet_init_parsed_options(c);
if (!parsed_options)
return -1;
 
+   section = weston_config_get_section(wc, "core", NULL, NULL);
+   weston_config_section_get_bool(section, "use-pixman", 
_pixman_config_,
+  use_pixman_config_);
+   use_pixman_ = use_pixman_config_;
+
const struct weston_option options[] = {
{ WESTON_OPTION_INTEGER, "width", 0, _options->width },
{ WESTON_OPTION_INTEGER, "height", 0, _options->height },
-   { WESTON_OPTION_BOOLEAN, "use-pixman", 0, _pixman },
+   { WESTON_OPTION_BOOLEAN, "use-pixman", 0, _pixman_ },
{ WESTON_OPTION_STRING, "transform", 0,  },
{ WESTON_OPTION_BOOLEAN, "no-outputs", 0, _outputs },
};
 
parse_options(options, ARRAY_LENGTH(options), argc, argv);
+   config.use_pixman = use_pixman_;
 
if (transform) {
if (weston_parse_transform(transform, 
_options->transform) < 0) {
@@ -1385,11 +1402,18 @@ load_x11_backend(struct weston_compositor *c,
int output_count = 0;
char const *section_name;
int i;
+   int32_t use_pixman_config_ = 0;
+   int use_pixman_ = 0;
 
struct wet_output_config *parsed_options = wet_init_parsed_options(c);
if (!parsed_options)
return -1;
 
+   section = weston_config_get_section(wc, "core", NULL, NULL);
+   weston_config_section_get_bool(section, "use-pixman", 
_pixman_config_,
+  use_pixman_config_);
+   use_pixman_ = use_pixman_config_;
+
const struct weston_option options[] = {
   { WESTON_OPTION_INTEGER, "width", 0, _options->width },
   { WESTON_OPTION_INTEGER, "height", 0, _options->height },
@@ -1397,10 +1421,11 @@ load_x11_backend(struct weston_compositor *c,
   { WESTON_OPTION_BOOLEAN, "fullscreen", 'f',  },
   { WESTON_OPTION_INTEGER, "output-count", 0, _count },
   { WESTON_OPTION_BOOLEAN, "no-input", 0, _input },
-  { WESTON_OPTION_BOOLEAN, "use-pixman", 0, _pixman },
+  { WESTON_OPTION_BOOLEAN, "use-pixman", 0, _pixman_ },
};
 
parse_options(options, ARRAY_LENGTH(options), argc, argv);
+   config.use_pixman = use_pixman_;
 
config.base.struct_version = WESTON_X11_BACKEND_CONFIG_VERSION;
config.base.struct_size = sizeof(struct weston_x11_backend_config);
@@ -1503,6 +1528,7 @@ 

Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emil Velikov
On 6 June 2018 at 09:56, Pekka Paalanen  wrote:
> On Wed, 6 Jun 2018 09:22:59 +0100
> Daniel Stone  wrote:
>
>> On 6 June 2018 at 09:12, Daniel Stone  wrote:
>> > On 6 June 2018 at 09:03, Pekka Paalanen  wrote:
>> >> Distcheck does not --disable-xwayland-test, does it? So should we match
>> >> it with the autogen.sh arguments?
>> >
distcheck uses AM_DISTCHECK_CONFIGURE_FLAGS (if set in the
Makefile.am) to override the defaults.
Plus the user can further tweak things via the non AM_ version. For example

DISTCHECK_CONFIGURE_FLAGS="--disable-xwayland-test" make distcheck

HTH
Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emil Velikov
Hi Dan,

On 5 June 2018 at 23:06, Daniel Stone  wrote:

> +  - apt-get -y --no-install-recommends install build-essential automake 
> autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
> libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
> libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
> libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
> libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
> libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
> libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev libwebp-dev 
> libjpeg-dev libva-dev liblcms2-dev git

I think this can be simplify the explicit list to:
apt-get -y --no-install-recommends build-dep wayland

> +  - mkdir -p /tmp/.X11-unix
> +  - chmod 777 /tmp/.X11-unix
> +
> +build-native:
> +  stage: build
> +  script:
> +  - git clone --depth=1 
> git://anongit.freedesktop.org/git/wayland/wayland-protocols
> +  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
> +  - export 
> PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
> +  - cd wayland-protocols
> +  - git show -s HEAD
Is this needed?

> +  - mkdir build
> +  - cd build
> +  - ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
> +  - make install
> +  - cd ../../
> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
> +  - mkdir "$BUILDDIR" "$PREFIX"
Autotools creates $PREFIX for you.

> +  - make -j4
> +  - make check
> +  - make install
> +  - make distcheck
I was under the impression that "make -j4 distcheck" is enough and the
four separate make calls are not needed?
Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across all.

Note the artefacts regex would need a tweak if only distcheck is used.

HTH
Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH] scanner: allow referencing foreign enums

2018-06-06 Thread Simon Ser
On May 29, 2018 9:52 AM, Pekka Paalanen  wrote:
> On Sat, 26 May 2018 09:51:18 +0200
> Silvan Jegen  wrote:
>
> > Hi
> >
> > On Fri, May 25, 2018 at 05:24:41PM -0400, Simon Ser wrote:
> > > It's already possible to reference foreign interfaces, so it
> > > should also be possible to reference foreign enums.
> > >
> > > Signed-off-by: Simon Ser 
> > > ---
> > >  src/scanner.c | 7 +--
> > >  1 file changed, 1 insertion(+), 6 deletions(-)
> >
> > It looks good to me and I can confirm that this works as intended. If
> > no solution allowing for the passing of reference protocols is desired,
> > this should be applied.
> >
> > Reviewed-by: Silvan Jegen 
>
> Reviewed-by: Pekka Paalanen 
>
> If no-one objects, I will push this next week. Do ping me if I forget.

Ping :)

> Thanks,
> pq
>
> > >
> > > diff --git a/src/scanner.c b/src/scanner.c
> > > index 1737911..205c28a 100644
> > > --- a/src/scanner.c
> > > +++ b/src/scanner.c
> > > @@ -894,14 +894,9 @@ verify_arguments(struct parse_context *ctx,
> > >   e = find_enumeration(ctx->protocol, interface,
> > >a->enumeration_name);
> > >
> > > - if (e == NULL)
> > > - fail(>loc,
> > > -  "could not find enumeration %s",
> > > -  a->enumeration_name);
> > > -
> > >   switch (a->type) {
> > >   case INT:
> > > - if (e->bitfield)
> > > + if (e && e->bitfield)
> > >   fail(>loc,
> > >"bitfield-style enum must only be 
> > > referenced by uint");
> > >   break;
> > > --
> > > 2.17.0
> > >
> > >
> > > ___
> > > wayland-devel mailing list
> > > wayland-devel@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/wayland-devel
> > ___
> > wayland-devel mailing list
> > wayland-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/wayland-devel


___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


[PATCH weston v10 1/1] weston: support clone mode on DRM-frontend

2018-06-06 Thread Pekka Paalanen
From: Pekka Paalanen 

Add a new output section key "same-as" for configuring clone mode. An
output marked "same-as" another output will be configured identically to
the other output.

The current implementation supports only CRTC sharing for clone mode.
Independent CRTC clone mode cannot be supported until output layout
logic is moved from libweston into the frontend and libweston's damage
tracking issues stemming from overlapping outputs are solved.

Quite a lot of infrastructure is needed to properly configure clone
mode. The implemented logic allows easy addition of independent CRTC
clone mode once libweston supports it. The idea is that wet_layoutput is
the item to be laid out and all weston_outputs a wet_layoutput
contains show exactly the same area of the desktop.

The configuration logic attempts to automatically fall back to creating
more weston_outputs when all heads do not work under the same
weston_output. For now, the fallback path ends with an error message.

Enabling a weston_output is bit complicated, because one needs to first
collect all relevant heads, try to attach them all to the weston_output,
and then back up head by head until enabling the weston_output succeeds.
A new weston_output is created for the left-over heads and the process
is repeated.

CRTC-sharing clone mode is the most efficient clone mode, offering
synchronized scanout timings, but it is not always supported by
hardware.

v10:
- rebased trivial conflicts in man page
- switch to gitlab issue URL

v9:
- replace weston_compositor_set_heads_changed_cb() with
  weston_compositor_add_heads_changed_listener()
- remove workaround in simple_head_enable()

v6:
- Add man-page note about cms-colord.
- Don't create an output just to turn it off.

Fixes: https://gitlab.freedesktop.org/wayland/weston/issues/22

Signed-off-by: Pekka Paalanen 
Acked-by: Derek Foreman 
Acked-by: Daniel Stone 
---
 compositor/main.c  | 492 ++---
 man/weston-drm.man |  12 ++
 2 files changed, 484 insertions(+), 20 deletions(-)

diff --git a/compositor/main.c b/compositor/main.c
index e84857f7..920d14d7 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -71,11 +71,41 @@ struct wet_output_config {
 };
 
 struct wet_compositor;
+struct wet_layoutput;
 
 struct wet_head_tracker {
struct wl_listener head_destroy_listener;
 };
 
+/** User data for each weston_output */
+struct wet_output {
+   struct weston_output *output;
+   struct wl_listener output_destroy_listener;
+   struct wet_layoutput *layoutput;
+   struct wl_list link;/**< in wet_layoutput::output_list */
+};
+
+#define MAX_CLONE_HEADS 16
+
+struct wet_head_array {
+   struct weston_head *heads[MAX_CLONE_HEADS]; /**< heads to add */
+   unsigned n; /**< the number of heads */
+};
+
+/** A layout output
+ *
+ * Contains wet_outputs that are all clones (independent CRTCs).
+ * Stores output layout information in the future.
+ */
+struct wet_layoutput {
+   struct wet_compositor *compositor;
+   struct wl_list compositor_link; /**< in wet_compositor::layoutput_list 
*/
+   struct wl_list output_list; /**< wet_output::link */
+   char *name;
+   struct weston_config_section *section;
+   struct wet_head_array add;  /**< tmp: heads to add as clones */
+};
+
 struct wet_compositor {
struct weston_compositor *compositor;
struct weston_config *config;
@@ -84,6 +114,7 @@ struct wet_compositor {
struct wl_listener heads_changed_listener;
int (*simple_output_configure)(struct weston_output *output);
bool init_failed;
+   struct wl_list layoutput_list;  /**< wet_layoutput::compositor_link */
 };
 
 static FILE *weston_logfile = NULL;
@@ -1163,12 +1194,6 @@ simple_head_enable(struct wet_compositor *wet, struct 
weston_head *head)
struct weston_output *output;
int ret = 0;
 
-   /* Workaround for repeated DRM backend "off" setting.
-* For any other case, we should not have an attached head that is not
-* enabled. */
-   if (weston_head_get_output(head))
-   return;
-
output = weston_compositor_create_output_with_head(wet->compositor,
   head);
if (!output) {
@@ -1190,10 +1215,6 @@ simple_head_enable(struct wet_compositor *wet, struct 
weston_head *head)
return;
}
 
-   /* Escape hatch for DRM backend "off" setting. */
-   if (ret > 0)
-   return;
-
if (weston_output_enable(output) < 0) {
weston_log("Enabling output \"%s\" failed.\n",
   weston_head_get_name(head));
@@ -1289,32 +1310,29 @@ configure_input_device(struct weston_compositor 
*compositor,
 }
 
 static int
-drm_backend_output_configure(struct weston_output *output)
+drm_backend_output_configure(struct weston_output *output,
+ 

Re: [PATCH weston v9 8/9] weston: support clone mode on DRM-frontend

2018-06-06 Thread Pekka Paalanen
On Thu, 31 May 2018 12:49:14 +0300
Pekka Paalanen  wrote:

> On Wed, 30 May 2018 10:00:57 +
> Marius-cristian Vlad  wrote:
> 

> > One more thing I found that using the following config:
> > 
> > [output]
> > name=HDMI-A-1
> > mode=current
> > same-as=HDMI-A-2
> > 
> > [output]
> > name=HDMI-A-2
> > mode=current
> > 
> > I get ``Output 'HDMI-A-2' enabled with head(s) HDMI-A-1, HDMI-A-2.''
> > 
> > I would've expected  to see ``Output 'HDMI-A-1' enabled with head(s)
> > HDMI-A-1, HDMI-A-2.'' I don't know of this matters or not... the other
> > way around is the same (using in HDMI-A-2 section same-as=HDMI-A-1).   
> 
> Right. The name is usually chosen by the controlling output section.
> The output section with the "same-as" key is a slave section, where all
> other keys are ignored. Following the chain of "same-as" keys one finds
> the controlling output section, identified by not having a "same-as"
> key.
> 
> That's odd that the name didn't change with the opposite configuration.
> I'll have to look into it.

Hi,

I tried it again, and I get what I expected:

If section A has same-as=B, then the output will be named B and the
configuration for both heads is taken from section B.

If section B has same-as=A, then the output will be named A and the
configuration is taken from section A.

Do you think "same-as" is not informative enough on implying which
section will actually apply as the configuration, or do you perhaps
understand it the opposite of what it does? Do you have suggestions?

I intended it to read as: This section/head is the same as that other
named section.


Thanks,
pq


pgp1jyeYKrLDe.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emilio Pozuelo Monfort
On 06/06/18 10:12, Daniel Stone wrote:
> Hi,
> 
> On 6 June 2018 at 09:03, Pekka Paalanen  wrote:
>> On Tue,  5 Jun 2018 23:06:59 +0100
>> Daniel Stone  wrote:
>>> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
>>> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
>>> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
>>> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
>>> +  - mkdir "$BUILDDIR" "$PREFIX"
>>> +  - cd "$BUILDDIR"
>>> +  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install 
>>> --enable-xwayland --disable-xwayland-test --enable-x11-compositor 
>>> --enable-drm-compositor --enable-wayland-compositor 
>>> --enable-headless-compositor --enable-fbdev-compositor 
>>> --enable-screen-sharing --enable-vaapi-recorder --enable-simple-clients 
>>> --enable-simple-egl-clients --enable-simple-dmabuf-drm-client 
>>> --enable-simple-dmabuf-v4l-client --enable-clients 
>>> --enable-resize-optimization --enable-weston-launch 
>>> --enable-fullscreen-shell --enable-colord --enable-dbus 
>>> --enable-systemd-login --enable-junit-xml --enable-ivi-shell 
>>> --enable-wcap-tools --disable-libunwind --enable-demo-clients-install 
>>> --enable-lcms --with-cairo=image
>>
>> There is no option --disable-libunwind anymore.
> 
> Right you are.
> 
>> Should there be an explicit --disable-rdp-compositor?
>>
>> Alternatively, would stretch have any freerdp version Weston builds
>> with? This can be done later, too.
> 
> Yeah, there should be an explicit disable for now; freerdp2 isn't in
> stretch at all. Later we could try to expand this to building on
> different distros, some of which would provide a new enough RDP, and
> re-enable it.

freerdp2 is available in stretch-backports:

freerdp2   | 2.0.0~git20180411.1.7a7b1802+dfsg1-2~bpo9+1 | stretch-backports
   | source
freerdp2   | 2.0.0~git20180411.1.7a7b1802+dfsg1-2| testing  
   | source
freerdp2   | 2.0.0~git20180411.1.7a7b1802+dfsg1-2| unstable 
   | source

Perhaps you can add stretch-backports to sources.list and install it from there?

Cheers,
Emilio
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Daniel Stone
Hi,

On 6 June 2018 at 09:03, Pekka Paalanen  wrote:
> On Tue,  5 Jun 2018 23:06:59 +0100
> Daniel Stone  wrote:
>> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
>> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
>> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
>> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
>> +  - mkdir "$BUILDDIR" "$PREFIX"
>> +  - cd "$BUILDDIR"
>> +  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install 
>> --enable-xwayland --disable-xwayland-test --enable-x11-compositor 
>> --enable-drm-compositor --enable-wayland-compositor 
>> --enable-headless-compositor --enable-fbdev-compositor 
>> --enable-screen-sharing --enable-vaapi-recorder --enable-simple-clients 
>> --enable-simple-egl-clients --enable-simple-dmabuf-drm-client 
>> --enable-simple-dmabuf-v4l-client --enable-clients 
>> --enable-resize-optimization --enable-weston-launch 
>> --enable-fullscreen-shell --enable-colord --enable-dbus 
>> --enable-systemd-login --enable-junit-xml --enable-ivi-shell 
>> --enable-wcap-tools --disable-libunwind --enable-demo-clients-install 
>> --enable-lcms --with-cairo=image
>
> There is no option --disable-libunwind anymore.

Right you are.

> Should there be an explicit --disable-rdp-compositor?
>
> Alternatively, would stretch have any freerdp version Weston builds
> with? This can be done later, too.

Yeah, there should be an explicit disable for now; freerdp2 isn't in
stretch at all. Later we could try to expand this to building on
different distros, some of which would provide a new enough RDP, and
re-enable it.

>> +  - make -j4
>> +  - make check
>> +  - make install
>> +  - make distcheck
>
> Distcheck does not --disable-xwayland-test, does it? So should we match
> it with the autogen.sh arguments?

Interesting; it does disable it, but I guess we implicitly pulled in
Xwayland from Debian dependencies, as the run did succeed:
https://gitlab.freedesktop.org/daniels/weston/-/jobs/1172

Maybe I could just add the Xwayland server to the apt arguments to be
explictly installed.

Cheers,
Daniel
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Pekka Paalanen
On Tue,  5 Jun 2018 23:06:59 +0100
Daniel Stone  wrote:

> Signed-off-by: Daniel Stone 
> ---
>  .gitlab-ci.yml | 48 
>  1 file changed, 48 insertions(+)
>  create mode 100644 .gitlab-ci.yml

Hi,

the same with wayland: the commit message could explain what this
brings us, even if it is obvious to those who know gitlab.

Acked-by: Pekka Paalanen 

Notes below.

> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> new file mode 100644
> index 0..202fa5494
> --- /dev/null
> +++ b/.gitlab-ci.yml
> @@ -0,0 +1,48 @@
> +image: debian:stretch
> +
> +stages:
> +  - build
> +
> +before_script:
> +  - echo 'path-exclude=/usr/share/doc/*' > 
> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo 'path-exclude=/usr/share/man/*' >> 
> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo '#!/bin/sh' > /usr/sbin/policy-rc.d
> +  - echo 'exit 101' >> /usr/sbin/policy-rc.d
> +  - chmod +x /usr/sbin/policy-rc.d
> +  - apt-get update
> +  - apt-get -y --no-install-recommends install build-essential automake 
> autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
> libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
> libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
> libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
> libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
> libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
> libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev libwebp-dev 
> libjpeg-dev libva-dev liblcms2-dev git
> +  - mkdir -p /tmp/.X11-unix
> +  - chmod 777 /tmp/.X11-unix
> +
> +build-native:
> +  stage: build
> +  script:
> +  - git clone --depth=1 
> git://anongit.freedesktop.org/git/wayland/wayland-protocols
> +  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
> +  - export 
> PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
> +  - cd wayland-protocols
> +  - git show -s HEAD
> +  - mkdir build
> +  - cd build
> +  - ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
> +  - make install
> +  - cd ../../
> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
> +  - mkdir "$BUILDDIR" "$PREFIX"
> +  - cd "$BUILDDIR"
> +  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install 
> --enable-xwayland --disable-xwayland-test --enable-x11-compositor 
> --enable-drm-compositor --enable-wayland-compositor 
> --enable-headless-compositor --enable-fbdev-compositor 
> --enable-screen-sharing --enable-vaapi-recorder --enable-simple-clients 
> --enable-simple-egl-clients --enable-simple-dmabuf-drm-client 
> --enable-simple-dmabuf-v4l-client --enable-clients 
> --enable-resize-optimization --enable-weston-launch --enable-fullscreen-shell 
> --enable-colord --enable-dbus --enable-systemd-login --enable-junit-xml 
> --enable-ivi-shell --enable-wcap-tools --disable-libunwind 
> --enable-demo-clients-install --enable-lcms --with-cairo=image


There is no option --disable-libunwind anymore.
Should there be an explicit --disable-rdp-compositor?

Alternatively, would stretch have any freerdp version Weston builds
with? This can be done later, too.

> +  - make -j4
> +  - make check
> +  - make install
> +  - make distcheck

Distcheck does not --disable-xwayland-test, does it? So should we match
it with the autogen.sh arguments?

> +  artifacts:
> +name: weston-$CI_COMMIT_SHA-$CI_JOB_ID
> +when: always
> +paths:
> +- build-*/weston-*.tar.xz
> +- build-*/*.log
> +- build-*/logs
> +- prefix-*

Thanks,
pq


pgpj23DzpjbBx.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH wayland] Add .gitlab-ci.yml

2018-06-06 Thread Pekka Paalanen
On Tue,  5 Jun 2018 22:37:39 +0100
Daniel Stone  wrote:

> Signed-off-by: Daniel Stone 
> ---
>  .gitlab-ci.yml | 34 ++
>  1 file changed, 34 insertions(+)
>  create mode 100644 .gitlab-ci.yml

Hi,

Acked-by: Pekka Paalanen 

but do add a commit message explaining what this will give us and how
it works, please.

There is a patch I promised to push this week. Would this have any
interaction with a direct git-push? I.e. would it be nice to have this
landed first and then I see CI at work after I pushed?


Thanks,
pq

> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> new file mode 100644
> index ..ce23cf3e
> --- /dev/null
> +++ b/.gitlab-ci.yml
> @@ -0,0 +1,34 @@
> +image: debian:stretch
> +
> +stages:
> +  - build
> +
> +before_script:
> +  - echo 'path-exclude=/usr/share/doc/*' > 
> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo 'path-exclude=/usr/share/man/*' >> 
> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo '#!/bin/sh' > /usr/sbin/policy-rc.d
> +  - echo 'exit 101' >> /usr/sbin/policy-rc.d
> +  - chmod +x /usr/sbin/policy-rc.d
> +  - apt-get update
> +  - apt-get -y --no-install-recommends install build-essential automake 
> autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev doxygen 
> graphviz xmlto xsltproc docbook-xsl
> +
> +build-native:
> +  stage: build
> +  script:
> +  - export BUILD_ID="wayland-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
> +  - mkdir "$BUILDDIR" "$PREFIX"
> +  - cd "$BUILDDIR"
> +  - ../autogen.sh --prefix="$PREFIX" --with-icondir=/usr/share/X11/icons
> +  - make -j4
> +  - make check
> +  - make install
> +  - make distcheck
> +  artifacts:
> +name: wayland-$CI_COMMIT_SHA-$CI_JOB_ID
> +when: always
> +paths:
> +- build-*/wayland-*.tar.xz
> +- build-*/*.log
> +- prefix-*



pgpq87xQLRvpu.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel