diff --git a/buildbot/master/files/config/environments.py b/buildbot/master/files/config/environments.py index c875f014..d1bc7069 100644 --- a/buildbot/master/files/config/environments.py +++ b/buildbot/master/files/config/environments.py @@ -52,6 +52,7 @@ def without(self, to_unset): '/usr/sbin', '/sbin', '/bin', + '{{ common.servo_home }}/gstreamer/bin', ]), 'SHELL': '/bin/bash', }) @@ -102,6 +103,9 @@ def without(self, to_unset): 'CCACHE': '/usr/bin/ccache', 'DISPLAY': ':0', 'SERVO_CACHE_DIR': '{{ common.servo_home }}/.servo', + 'PKG_CONFIG_PATH': '{{ common.servo_home }}/gstreamer/lib/x86_64-linux-gnu/pkgconfig', # noqa: E501 + 'GST_PLUGIN_SYSTEM_PATH': '{{ common.servo_home }}/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0', # noqa: E501 + 'GST_PLUGIN_SCANNER': '{{ common.servo_home }}/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner', # noqa: E501 }) build_android = build_linux + Environment({ diff --git a/servo-build-dependencies/init.sls b/servo-build-dependencies/init.sls index bad2820a..0b897039 100644 --- a/servo-build-dependencies/init.sls +++ b/servo-build-dependencies/init.sls @@ -29,6 +29,9 @@ servo-dependencies: - cmake - ffmpeg - freetype + - gstreamer + - gst-plugins-base + - gst-plugins-good - llvm - openssl - pkg-config diff --git a/servo-build-dependencies/linux-gstreamer.sls b/servo-build-dependencies/linux-gstreamer.sls new file mode 100644 index 00000000..97ddc4c9 --- /dev/null +++ b/servo-build-dependencies/linux-gstreamer.sls @@ -0,0 +1,34 @@ +{% from 'common/map.jinja' import common %} + +libs-gstreamer: + archive.extracted: + - name: {{ common.servo_home }} + - source: https://github.com/ferjm/gstreamer-1.14.1-ubuntu-trusty/raw/master/gstreamer.tar.gz + - source_hash: sha512=59f76df0a773802d6158958e796977cfd78f0c5088b10d51ea01e9d6a9f18d94e06a9bda4b1b4c320f8a38226ec6a54651cc552dbf96eb7f7a8b1e1472f55b2f + - archive_format: tar + - user: servo + - group: servo + - ensure_ownership_on: {{ common.servo_home }}/gstreamer + + +{{ common.servo_home }}/gstreamer: + file.directory: + - user: servo + - group: servo + - dir_mode: 755 + - file_mode: 644 + - makedirs: True + - recurse: + - user + - group + - mode + - require: + - archive: libs-gstreamer + +gstreamer-pc: + cmd.run: + - name: sed -i "s;prefix=/root/gstreamer;prefix=$PWD;g" $PWD/lib/x86_64-linux-gnu/pkgconfig/*.pc + - runas: servo + - cwd: {{ common.servo_home }}/gstreamer + - require: + - file: {{ common.servo_home }}/gstreamer diff --git a/top.sls b/top.sls index b03d3c35..ef3938a0 100644 --- a/top.sls +++ b/top.sls @@ -41,6 +41,7 @@ base: - servo-build-dependencies - servo-build-dependencies.aws - servo-build-dependencies.ci + - servo-build-dependencies.linux-gstreamer - xvfb 'servo-windows\d+':