Source: mir
Section: x11
Priority: optional
Maintainer: Aleksey Samoilov <samoilov.lex@gmail.com>
Build-Depends: cmake,
               pkg-config,
               debhelper (>= 9),
               diffutils:native,
               doxygen,
               xsltproc,
               graphviz,
               libboost-dev,
               libboost-date-time-dev,
               libboost-iostreams-dev,
               libboost-program-options-dev,
               libdisplay-info-dev,
               libdrm-dev,
               libegl1-mesa-dev,
               libgles2-mesa-dev,
               libgbm-dev,
               libglm-dev,
               liblttng-ust-dev,
               libxkbcommon-dev (>= 0.5),
               libumockdev-dev (>= 0.6),
               umockdev (>= 0.8.7),
               libudev-dev,
               libgtest-dev,
               libgmock-dev,
               libxml++2.6-dev,
# only enable valgrind once it's been tested to work on each architecture:
               valgrind [amd64 i386 armhf arm64],
               libglib2.0-dev,
               libfreetype-dev,
               libevdev-dev,
               libinput-dev (>= 0.21),
               uuid-dev,
               nettle-dev,
               libepoxy-dev,
               python3-pil:native,
               linux-libc-dev,
               dbus,
               python3-dbusmock,
               python3-venv:native,
               libxcb-composite0-dev,
               libxcb-xfixes0-dev,
               libxcb-randr0-dev,
               libxcb-render0-dev,
               libxcb-res0-dev,
               libxcb-composite0-dev,
               libx11-xcb-dev,
               libxkbcommon-x11-dev,
               libxcursor-dev,
               libyaml-cpp-dev,
               libwayland-dev,
               libnvidia-egl-wayland-dev,
               eglexternalplatform-dev,
               systemtap-sdt-dev,
               wlcs (>= 1.8~),
               libapparmor-dev,
               libpixman-1-dev,
               xwayland
Standards-Version: 4.6.1
Homepage: https://mir-server.io/
Vcs-Browser: https://github.com/canonical/mir/
Vcs-Git: https://github.com/canonical/mir

#TODO: Packaging infrastructure for better dependency generation,
#      ala pkg-xorg's xviddriver:Provides and ABI detection.
Package: libmirserver66
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - server library
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared library needed by server applications for Mir.

Package: libmirplatform34
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - platform library
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to interact with
 the underlying hardware platform.

Package: libmircore-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmircore2 (= ${binary:Version}),
         ${misc:Depends},
Description: Display server for Ubuntu - development headers
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains header files required for server and/or client development.

Package: libmircommon-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmircommon11 (= ${binary:Version}),
         libmircore-dev (= ${binary:Version}),
         libxkbcommon-dev,
         ${misc:Depends},
Breaks: mircommon-dev (<< 0.6)
Replaces: mircommon-dev (<< 0.6)
Description: Display server for Ubuntu - development headers
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains header files required for server and/or client development.

Package: libmircommon-internal-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmircommon-dev (= ${binary:Version}),
         libxkbcommon-dev,
         ${misc:Depends},
Description: Display server for Ubuntu - development headers
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package contains internal headers with no stability guarantee, for servers
 that wish to use functionality for which no public API exists yet.

Package: libmirplatform-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmirplatform34 (= ${binary:Version}),
         libmircommon-dev (= ${binary:Version}),
         libboost-program-options-dev,
         ${misc:Depends},
         libgbm-dev,
Breaks: libmirplatform (<< 0.6),
        libmirrenderer-dev (<< 2.24),
        mir-renderer-gl-dev (<< 2.24)
Replaces: libmirplatform (<< 0.6),
          libmirrenderer-dev (<< 2.24),
          mir-renderer-gl-dev (<< 2.24)
Provides: libmirrenderer-dev,
          mir-renderer-gl-dev
Description: Display server for Ubuntu - development headers
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains header files required for hardware/driver support development.

Package: libmirserver-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmirserver66 (= ${binary:Version}),
         libmirplatform-dev (= ${binary:Version}),
         libmircommon-dev (= ${binary:Version}),
         libglm-dev,
         uuid-dev,
         ${misc:Depends},
Description: Display server for Ubuntu - development headers
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains header files required to build Mir servers.

Package: libmirserver-internal-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmirserver66 (= ${binary:Version}),
      libmirplatform-dev (= ${binary:Version}),
      libmircommon-dev (= ${binary:Version}),
      libmircore-dev (= ${binary:Version}),
      libmirserver-dev (= ${binary:Version}),
      libglm-dev,
      uuid-dev,
      ${misc:Depends},
Description: Display server for Ubuntu - internal development headers
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package contains internal headers with no stability guarantee, for servers
 that wish to use functionality for which no public API exists yet.

Package: mirtest-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmircommon-dev (= ${binary:Version}),
         libmirplatform-dev (= ${binary:Version}),
         libmirserver-dev (= ${binary:Version}),
         mir-platform-graphics-stub23,
         mir-platform-input-stub10,
         ${misc:Depends},
Description: Display server for Ubuntu - test development headers and library
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains header files and static library for testing of server and/or client
 development.

Package: mirtest-internal-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: mirtest-dev,
         libmirserver-dev (= ${binary:Version}),
         ${misc:Depends},
Description: Display server for Ubuntu - test development headers and library
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains header files and static library for testing of server and/or client
 development.

Package: mir-demos
Architecture: linux-any
Breaks: miral-examples
Replaces: miral-examples
Provides: miral-examples (=1.5)
Depends: ${misc:Depends},
         ${shlibs:Depends},
         inotify-tools,
Recommends: dmz-cursor-theme,
            fonts-liberation,
            qtwayland5,
            xwayland,
Description: Display server for Ubuntu - demonstration programs
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains demo applications that use the Mir display server

Package: mir-test-tools
Architecture: linux-any
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
         xwayland,
         glmark2-es2-x11 | glmark2-es2,
         glmark2-es2-wayland,
         mesa-utils-extra,
         dmz-cursor-theme,
Description: Display Server for Ubuntu - test tools
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains tools for smoke and performance testing the Mir display server

Package: mir-wlcs-integration
Architecture: linux-any
Pre-Depends: ${misc:Pre-Depends}
Breaks: mir-test-tools (<< 2.0.0.0+dev148~)
Replaces: mir-test-tools (<< 2.0.0.0+dev148~)
Depends: ${misc:Depends},
         ${shlibs:Depends},
         mir-platform-graphics-stub23,
         mir-platform-input-stub10,
Description: Display Server for Ubuntu - wlcs integration
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains libraries for integration with the wlcs test suite

Package: libmircore2
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - shared library
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server and client.

Package: libmircommon11
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - shared library
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server and client.

# Longer-term these drivers should move out-of-tree
Package: mir-platform-graphics-x23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - platform library for X11
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to interact with
 the X11 platform.

Package: mir-platform-graphics-atomic-kms23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: mir-platform-graphics-gbm-kms23,
         ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - platform library for Atomic KMS
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to interact with
 the hardware platform using the Mesa drivers and Atomic KMS API.

Package: mir-platform-graphics-gbm-kms23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - platform library for GBM KMS
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to interact with
 the hardware platform using the Mesa drivers.

Package: mir-platform-graphics-eglstream-kms23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - platform library for NVIDIA
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to interact with
 the hardware platform using the EGLStream EGL extensions, such as the
 NVIDIA binary driver.

Package: mir-platform-graphics-wayland23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - platform library for Wayland
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to interact with
 a "host" Wayland display server.

Package: mir-platform-rendering-egl-generic23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - generic EGL rendering platform
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to provide accelerated
 client rendering via standard EGL interfaces.

Package: mir-platform-graphics-virtual23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - virtual display platform
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to provide virtual
 output support.

Package: mir-platform-graphics-stub23
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Breaks: mir-wlcs-integration (<< 2.21.1+dev518~)
Replaces: mir-wlcs-integration (<< 2.21.1+dev518~)
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - stub driver metapackage
 Contains stub graphics platform libraries, useful for testing
 Mir or Mir-using compositors when real hardware interactions
 are undesirable.

Package: mir-platform-input-stub10
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Breaks: mir-wlcs-integration (<< 2.21.1+dev518~)
Replaces: mir-wlcs-integration (<< 2.21.1+dev518~)
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - stub input platform library
 Contains stub input platform libraries, useful for testing
 Mir or Mir-using compositors when real hardware interactions
 are undesirable.

Package: mir-graphics-drivers-nvidia
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         mir-platform-graphics-eglstream-kms,
         mir-platform-graphics-x,
Recommends:
         mir-platform-graphics-virtual,
Description: Display server for Ubuntu - Nvidia driver metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on a full set of graphics and input drivers for Nvidia systems.

Package: mir-platform-input-evdev10
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - input platform library
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 Contains the shared libraries required for the Mir server to interact with
 the input hardware using the evdev interface.

Package: mir-graphics-drivers-desktop
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         mir-platform-graphics-atomic-kms,
         mir-platform-graphics-gbm-kms,
         mir-platform-graphics-x,
         mir-platform-graphics-wayland,
Recommends:
         mir-platform-graphics-virtual,
Description: Display server for Ubuntu - desktop driver metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on a full set of graphics and input drivers for traditional desktop
 systems.

Package: mir-platform-graphics-atomic-kms
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         mir-platform-graphics-atomic-kms23,
         mir-platform-input-evdev10,
         mir-platform-rendering-egl-generic,
Description: Display server for Ubuntu - gbm-kms driver metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on a full set of graphics and input drivers for atomic-kms
 systems.

Package: mir-platform-graphics-gbm-kms
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         mir-platform-graphics-gbm-kms23,
         mir-platform-input-evdev10,
         mir-platform-rendering-egl-generic,
Description: Display server for Ubuntu - gbm-kms driver metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on a full set of graphics and input drivers for gbm-kms
 systems.

Package: mir-platform-graphics-eglstream-kms
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         mir-platform-graphics-eglstream-kms23,
         mir-platform-input-evdev10,
Description: Display server for Ubuntu - eglstream-kms driver metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on a full set of graphics and input drivers for eglstream-kms
 systems.

Package: mir-platform-graphics-wayland
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         mir-platform-graphics-wayland23,
         mir-platform-rendering-egl-generic,
Description: Display server for Ubuntu - wayland driver metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on a full set of graphics and input drivers for wayland
 systems.

Package: mir-platform-rendering-egl-generic
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: mir-platform-rendering-egl-generic23
Description: Display server for Ubuntu - EGL rendering provider metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on the current provider of accelerated client rendering
 support via standard EGL interfaces.

Package: mir-platform-graphics-virtual
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: mir-platform-graphics-virtual23
Description: Display server for Ubuntu - virtual display provider metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on the current provider of virtual outputs.

Package: mir-platform-graphics-x
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         mir-platform-graphics-x23,
         mir-platform-rendering-egl-generic,
Description: Display server for Ubuntu - x driver metapackage
 Mir is a display server running on linux systems, with a focus on efficiency,
 robust operation and a well-defined driver model.
 .
 This package depends on a full set of graphics and input drivers for X
 systems.

Package: libmiral7
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - ABI preserving abstraction layer
 MirAL provides an ABI-stable abstraction layer for Mir based shells,
 insulating them from mirserver ABI breaks.
 .
 Contains the shared library containing MirAL abstraction layer.

Package: libmiral-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmiral7 (= ${libmiral7:Version}),
# ${source:Version} is technically incorrect, but Launchpad doesn't do BinNMUs
# so it's harmless.
         libmircore-dev (= ${source:Version}),
         ${misc:Depends},
Description: Developer files for the Mir ABI-stable abstraction layer
 MirAL provides an ABI-stable abstraction layer for Mir based shells,
 insulating them from mirserver ABI breaks.
 .
 Contains header files required for development using the MirAL abstraction
 layer.

Package: libmiroil8
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - Lomiri compatibility library
 MirOil provides the Lomiri compatibility library.
 .
 Contains the shared library containing miroil compatibility API.

Package: libmiroil-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmiroil8 (= ${binary:Version}),
         ${misc:Depends},
Description: Developer files for the Mir Lomiri compatibility library
 MirOil provides the Lomiri compatibility API.
 .
 Contains header files required for development using the Lomiri compatibility
 library.

Package: libmirwayland5
Section: libs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: Display server for Ubuntu - generated wrappers for Wayland
 protocol extensions.
 .
 Contains the shared library containing generated wrappers for Wayland
 protocol extensions

Package: libmirwayland-dev
Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmirwayland5 (= ${binary:Version}),
         libmircore-dev (= ${binary:Version}),
         ${misc:Depends},
         libmirwayland-bin (= ${binary:Version}),
         libwayland-dev,
Description: Display server for Ubuntu - generated wrappers for Wayland
 protocol extensions.
 .
 Contains the developer files for using the shared library containing generated
 wrappers for Wayland protocol extensions

Package: libmirwayland-bin
Section: libdevel
Architecture: linux-any
Multi-Arch: foreign
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
         ${misc:Depends},
Breaks: libmirwayland-dev (<< 1.4.0+dev20)
Replaces: libmirwayland-dev (<< 1.4.0+dev20)
Description: Display server for Ubuntu - generator for Wayland protocol extension wrappers.
 Contains the tool used for generating the Mir-style wrappers for Wayland
 protocol extensions found in libmirwayland
 .
 This can be useful for implementing Wayland protocol extensions not already
 implemented in Mir.

Package: mir-x11-kiosk
Architecture: linux-any
Depends: ${misc:Depends},
         ${shlibs:Depends},
         inotify-tools,
         mir-platform-graphics-wayland,
         xwayland,
         dmz-cursor-theme,
         xkb-data
Description: Display server for Ubuntu - kiosk hosting X11 apps
 .
 Contains an "X11 kiosk" compositor based on the Mir display server

Package: mir-renderer-gl-dev
Section: oldlibs
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: libmirplatform-dev (>= 2.24),
         ${misc:Depends},
Description: transitional package for libmirplatform-dev
 This is a transitional package. It can safely be removed.
 .
 The mir-renderer-gl-dev package has been merged into libmirplatform-dev.
