diff --git a/.circleci/config.yml b/.circleci/config.yml index b62191a8d..59bfdd6a0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ jobs: name: Install dependencies command: | apt-get update - apt-get install -y cmake xvfb valac libwebkit2gtk-4.0-dev libsoup-gnome2.4-dev libgcr-3-dev libpeas-dev libsqlite3-dev intltool libxml2-utils + apt-get install -y --no-install-recommends cmake xvfb valac libwebkit2gtk-4.0-dev libsoup-gnome2.4-dev libgcr-3-dev libpeas-dev libsqlite3-dev intltool libxml2-utils gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-tools - run: name: Build command: | diff --git a/CMakeLists.txt b/CMakeLists.txt index b12a05a9f..130076872 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,23 @@ set(CORE_USER_AGENT "Mozilla/5.0 ${CORE_OS} ${CORE_ENGINE} Midori/6") configure_file(config.h.in config.h @ONLY) +# Check for required GStreamer codecs +find_program (GST_INSPECT_BIN gst-inspect-1.0) +if (NOT GST_INSPECT_BIN) + message(FATAL_ERROR "gst-inspect-1.0 not found") +endif () +foreach (PLUGIN avmux_mp4 h264parse aacparse webmmux matroskaparse theoraparse) + execute_process(COMMAND ${GST_INSPECT_BIN} --exists ${PLUGIN} + RESULT_VARIABLE PLUGIN_FOUND + ) + if (${PLUGIN_FOUND}) + list(APPEND PLUGIN_ERRORS " ${PLUGIN}") + endif () +endforeach () +if (PLUGIN_ERRORS) + message(FATAL_ERROR "Required GStreamer plugins missing:\n " ${PLUGIN_ERRORS}) +endif () + # CMake provides no uninstall target by design add_custom_target (uninstall COMMAND "xargs" "rm" "-v" "<" "install_manifest.txt") diff --git a/README.md b/README.md index 251bd4186..da121c963 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ you can install the **latest stable** version of Midori Install dependencies on Ubuntu or Debian based distros: - sudo apt install valac libwebkit2gtk-4.0-dev libsoup-gnome2.4-dev libgcr-3-dev libpeas-dev libsqlite3-dev intltool libxml2-utils + sudo apt install cmake xvfb valac libwebkit2gtk-4.0-dev libsoup-gnome2.4-dev libgcr-3-dev libpeas-dev libsqlite3-dev intltool libxml2-utils gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-tools Use CMake to build Midori: diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a34b715c5..c88ccf665 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -76,6 +76,7 @@ parts: - intltool - ninja-build - libxml2-utils # xmllint + - gstreamer1.0-tools stage-packages: - libwebkit2gtk-4.0-37 - libgcr-base-3-1