Package Details: mir 2.23.0-1

Git Clone URL: https://aur.archlinux.org/mir.git (read-only, click to copy)
Package Base: mir
Description: Canonical's display server
Upstream URL: https://github.com/canonical/mir
Licenses: GPL-2.0-or-later OR GPL-3.0-or-later
Submitter: onny
Maintainer: FabioLolix
Last Packager: sudopluto
Votes: 8
Popularity: 0.000000
First Submitted: 2014-01-13 16:49 (UTC)
Last Updated: 2025-10-13 23:39 (UTC)

Latest Comments

1 2 3 4 5 Next › Last »

Ashark commented on 2025-11-18 13:01 (UTC)

@sudopluto I saw your email in aur-general.

I think if maintainer is acting hostile, it worth issuing orphan request, and describing the situation. Also, maintaining such much packages really seems like squatting, and you do want to keep package names correct, avoiding pollution of namespace just because the normal package name is squatted.
I really feel your pain, because I myself had to deal with such "maintainers" in the past (specifically, with davinci-resolve packages).

Note, however, that I did not deeply learned the current situation with this package. So be sure to present facts in your orphan request if you decide to submit it.

sudopluto commented on 2025-06-26 19:39 (UTC)

https://github.com/canonical/mir/releases/tag/v2.21.0

will update package after work

sudopluto commented on 2025-05-15 08:39 (UTC)

@FabioLolix please add me as a co-maintainer

sudopluto commented on 2025-05-15 08:36 (UTC)

updated for mir 2.20.2

# Maintainer: Pranav <pranav.sharma.ama@gmail.com>
# Contributor: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
# Contributor: Neptune <neptune650@proton.me>
# Contributor: Bjoern Franke <bjo+aur<at>schafweide.org>
# Contributor: Ivan Semkin (ivan at semkin dot ru)
# Contributor: kikadf <kikadf.01@gmail.com>

pkgname=mir
pkgver=2.20.2
pkgrel=1
pkgdesc="Canonical's display server"
url="https://github.com/canonical/mir"
arch=(x86_64 i686)
license=('GPL-2.0-or-later OR GPL-3.0-or-later')
depends=(boost-libs libglvnd lttng-ust libepoxy libxml++2.6 libinput yaml-cpp
         libxkbcommon  freetype2  hicolor-icon-theme libxcursor
         egl-wayland wayland
         glib2 glibc gcc-libs util-linux-libs libxcb libxkbcommon-x11 libdrm mesa libx11 gtest glibmm
         # explicit depends 
         bash systemd-libs
)
makedepends=(glm doxygen graphviz cmake ninja boost umockdev wlcs glmark2
             python-pillow python-dbus
             #gcovr lcov valgrind
             python-dbusmock
             glib2-devel
)
optdepends=('qterminal: required for miral demos'
            'ttf-ubuntu-font-family: required for miral demos'
            'qt5-wayland: required for miral demos'
            'xcursor-dmz: opt requirement for miral demos')
options=()
source=("https://github.com/canonical/mir/releases/download/v${pkgver}/mir-${pkgver}.tar.xz")
sha256sums=('c8994ba14d986d484daaec6c0ccb5f4ca7eb52746167899991a0983772c0fda8')

# glm doesnt ship with a glm.pc, but mir build falls back on cmake's find_package for non-debian systems

build() {
  export CFLAGS+=" -ffat-lto-objects -O2"
  export CXXFLAGS+=" -ffat-lto-objects -O2"

  local _flags=(
    -B build 
    -S "${pkgname}-${pkgver}" 
    -GNinja
    -Wno-dev
    -DCMAKE_BUILD_TYPE=None
    -DCMAKE_INSTALL_PREFIX=/usr
    -DCMAKE_INSTALL_LIBDIR=lib
    # mir options
    -DMIR_FATAL_COMPILE_WARNINGS=OFF
    -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$pkgname/
    -DMIR_BUILD_INTERPROCESS_TESTS=OFF
    -DMIR_RUN_WLCS_TESTS=OFF
    -DMIR_USE_PRECOMPILED_HEADERS=OFF
  )

  cmake "${_flags[@]}"
  cmake --build build
}

#check() {
#  ctest --test-dir build --output-on-failure
#}

package() {
  DESTDIR="${pkgdir}" cmake --install build
}

sudopluto commented on 2025-03-20 22:26 (UTC)

updated pkgbuild for 2.20.1

# Maintainer: Pranav <pranav.sharma.ama@gmail.com>
# Contributor: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
# Contributor: Neptune <neptune650@proton.me>
# Contributor: Bjoern Franke <bjo+aur<at>schafweide.org>
# Contributor: Ivan Semkin (ivan at semkin dot ru)
# Contributor: kikadf <kikadf.01@gmail.com>

pkgname=mir
pkgver=2.20.1
pkgrel=1
pkgdesc="Canonical's display server"
url="https://github.com/canonical/mir"
arch=(x86_64 i686)
license=('GPL-2.0-or-later OR GPL-3.0-or-later')
depends=(boost-libs libglvnd lttng-ust libepoxy libxml++2.6 libinput yaml-cpp
         libxkbcommon  freetype2  hicolor-icon-theme libxcursor
         egl-wayland wayland
         glib2 glibc gcc-libs util-linux-libs libxcb libxkbcommon-x11 libdrm mesa libx11 gtest glibmm
         # explicit depends 
         bash systemd-libs
)
makedepends=(glm doxygen graphviz cmake ninja boost umockdev wlcs glmark2
             python-pillow python-dbus
             #gcovr lcov valgrind
             python-dbusmock
             glib2-devel
)
optdepends=('qterminal: required for miral demos'
            'ttf-ubuntu-font-family: required for miral demos'
            'qt5-wayland: required for miral demos'
            'xcursor-dmz: opt requirement for miral demos')
options=()
source=("https://github.com/canonical/mir/releases/download/v${pkgver}/mir-${pkgver}.tar.xz")
sha256sums=('ba57313abc6e4ef6819907d6968a79e033cd25aa8844de0074411808e72caba7')

# glm doesnt ship with a glm.pc, but mir build falls back on cmake's find_package for non-debian systems

build() {
  export CFLAGS+=" -ffat-lto-objects -O2"
  export CXXFLAGS+=" -ffat-lto-objects -O2"

  local _flags=(
    -B build 
    -S "${pkgname}-${pkgver}" 
    -GNinja
    -Wno-dev
    -DCMAKE_BUILD_TYPE=None
    -DCMAKE_INSTALL_PREFIX=/usr
    -DCMAKE_INSTALL_LIBDIR=lib
    # mir options
    -DMIR_FATAL_COMPILE_WARNINGS=OFF
    -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$pkgname/
    -DMIR_BUILD_INTERPROCESS_TESTS=OFF
    -DMIR_RUN_WLCS_TESTS=OFF
    -DMIR_USE_PRECOMPILED_HEADERS=OFF
  )

  cmake "${_flags[@]}"
  cmake --build build
}

#check() {
#  ctest --test-dir build --output-on-failure
#}

package() {
  DESTDIR="${pkgdir}" cmake --install build
}

sudopluto commented on 2025-02-25 21:45 (UTC) (edited on 2025-02-25 21:51 (UTC) by sudopluto)

ok figured it out, cachyos ships with -O3 enabled in makepkg.conf, but MIR currently only supports -O2. but in my investigation, I found a number of ways to improve the pkgbuild:

  • use ninja as build system rather than makefiles
  • add bash and systemd-libs as explicit depends
  • renable LTO
  • force -O2 to be used for build
  • make compiler warnings not fatal to build
  • other MIR build variables, like the disabling of some tests that they don't support outside of Ubuntu

diff --git a/PKGBUILD b/PKGBUILD
index 2080861..d42e263 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -13,44 +13,59 @@ arch=(x86_64 i686)
 license=('GPL-2.0-or-later OR GPL-3.0-or-later')
 depends=(boost-libs libglvnd lttng-ust libepoxy libxml++2.6 libinput yaml-cpp
          libxkbcommon  freetype2  hicolor-icon-theme libxcursor
-
-        egl-wayland wayland
-
-        glib2 glibc gcc-libs util-linux-libs libxcb libxkbcommon-x11 libdrm mesa libx11 gtest glibmm
-
-        # capnproto google-glog gflags liburcu nettle libevdev protobuf  python-gobject
+         egl-wayland wayland
+         glib2 glibc gcc-libs util-linux-libs libxcb libxkbcommon-x11 libdrm mesa libx11 gtest glibmm
+         bash systemd-libs
+         #why needed?: capnproto google-glog gflags liburcu nettle libevdev protobuf  python-gobject
 )
 makedepends=(glm doxygen graphviz cmake boost umockdev wlcs glmark2
-
+             ninja
              python-pillow python-dbus
-             #gcovr lcov valgrind
+             #needed for coverage / debug builds: gcovr lcov valgrind
              python-dbusmock
              glib2-devel
 )
 optdepends=('qterminal: required for miral demos'
             'ttf-ubuntu-font-family: required for miral demos'
             'qt5-wayland: required for miral demos'
-            'xcursor-dmz: opt requirement for miral demos')
-options=(!lto)
+            'xcursor-dmz: opt requirement for miral demos'
+)
+# lto only broken on ppc64
+# or old binutils: https://github.com/canonical/mir/blob/main/debian/rules#L41
+# options=(!lto)
 source=("https://github.com/canonical/mir/releases/download/v${pkgver}/mir-${pkgver}.tar.xz")
 sha256sums=('2157c337d1bf0a8c33adcb11e0cc0705da23436ed4e012ddf376133fbb5b21e4')

-# glm not found but is listed here
+# glm no longer ships glm.pc for pkgconfig, but cmake find_package should work
+# see mir:CMakeLists.txt
+
+# packaging refs:
+# https://github.com/canonical/mir/blob/main/debian/rules

 build() {
-  #export CFLAGS+=" -Wno-error=array-bounds"
-  #export CXXFLAGS+=" -Wno-error=array-bounds"
+  # force cc flags to arch defaults: LTO and -O2
+  export CFLAGS+=" -ffat-lto-objects -O2"
+  export CXXFLAGS+=" -ffat-lto-objects -O2"

-  local _flags=(
+  local cmake_options=(
+    -S $pkgname-$pkgver
+    -B build
+    -GNinja
+    -Wno-dev
+    -DCMAKE_BUILD_TYPE=None
+    -DCMAKE_INSTALL_PREFIX=/usr
+    -DCMAKE_INSTALL_LIBDIR=lib
+    ###
+    # mir specific quirks below
+    ###
+    -DMIR_FATAL_COMPILE_WARNINGS=OFF
+    -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$pkgname/
+    -DMIR_BUILD_INTERPROCESS_TESTS=OFF
+    -DMIR_RUN_WLCS_TESTS=OFF
     -DMIR_USE_PRECOMPILED_HEADERS=OFF
-    -Dglm_DIR:PATH=/usr/lib/cmake/glm
   )

-  cmake -B build -S "mir-${pkgver}" -Wno-dev \
-    -DCMAKE_BUILD_TYPE=None \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    "${_flags[@]}"
-
+  cmake "${cmake_options[@]}"
   cmake --build build
 }
 

sudopluto commented on 2025-02-24 21:23 (UTC)

aur package fails to build on my system, will investigate after work

    inlined from ‘testing::internal::ReturnAction<R>::Impl<U>::Impl(const R&) [with U = std::vector<MirPixelFormat>; R = std::vector<MirPixelFormat>]’ at /usr/include/gmock/gmock-actions.h:966:50,
    inlined from ‘testing::internal::ReturnAction<R>::operator testing::Action<U(Args ...)>() const [with U = std::vector<MirPixelFormat>; Args = {}; <template-parameter-2-3> = void; R = std::vector<MirPixelFormat>]’ at /usr/include/gmock/gmock-actions.h:951:12,
    inlined from ‘{anonymous}::TestTouchspotController::TestTouchspotController()’ at /home/pranav/.cache/yay/mir/src/mir-2.19.3/tests/unit-tests/input/test_touchspot_controller.cpp:97:27:
/usr/include/c++/14.2.1/bits/stl_algobase.h:452:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  452 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

sudopluto commented on 2024-09-09 19:46 (UTC) (edited on 2024-09-09 19:46 (UTC) by sudopluto)

I am planning on packaging miracle-wm: https://github.com/miracle-wm-org/miracle-wm.

Since mir is a dependency, do you think you can update mir to https://github.com/canonical/mir/releases/tag/v2.17.0?

I can't think of a clean way to separate out the libs / devel bits, so I don't think it makes much sense for me to make a new aur package which pretty much does the same thing.

If you are no longer interested in maintaining the package, please let me know and I will pick it up. Thanks! :D

scop commented on 2024-02-22 23:27 (UTC)

Fails to build.

[ 63%] Building CXX object examples/mir_demo_server/CMakeFiles/mir_demo_server.dir/glog_logger.cpp.o
In file included from /home/dan/.cache/paru/clone/mir/src/mir-2.16.3/examples/mir_demo_server/glog_logger.cpp:19:
/usr/include/glog/logging.h:60:4: error: #error <glog/logging.h> was not included correctly. See the documention for how to consume the library.
   60 | #  error <glog/logging.h> was not included correctly. See the documention for how to consume the library.
      |    ^~~~~

deathmist commented on 2023-07-22 12:38 (UTC)

https://github.com/MirServer/mir/releases/tag/v2.14.1 exists but doesn't fix failing to build from source; to "fix" that I added -DMIR_FATAL_COMPILE_WARNINGS=OFF, reported it also upstream at https://github.com/MirServer/mir/issues/2987