Package Details: miracle-wm 0.5.1-1

Git Clone URL: https://aur.archlinux.org/miracle-wm.git (read-only, click to copy)
Package Base: miracle-wm
Description: Wayland compositor based on mir
Upstream URL: https://github.com/miracle-wm-org/miracle-wm
Licenses: GPL-3.0-or-later
Submitter: twa022
Maintainer: FabioLolix (sudopluto)
Last Packager: FabioLolix
Votes: 1
Popularity: 0.124331
First Submitted: 2024-10-30 15:37 (UTC)
Last Updated: 2025-04-02 14:50 (UTC)

Dependencies (7)

Required by (0)

Sources (1)

Latest Comments

twa022 commented on 2025-04-02 14:20 (UTC)

@sudopluto: it's all yours

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

@twa022 please consider adding me a co-maintainer, thank you!

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

updated pkgbuild for 0.5.1, and fixes the following issues:

  • missing implicit depends inherited from mir aur pkg build
  • redirects libexec install path as required by arch packaging guidelines
# Maintainer: Pranav Sharma <pranav.sharma.ama@gmail.com>
# Contributor: twa022 <twa022 at gmail dot com>

pkgname=miracle-wm
pkgver=0.5.1
pkgrel=1
pkgdesc="Wayland compositor based on mir"
arch=('i686' 'x86_64' 'armv7h' 'aarch64')
url="https://github.com/miracle-wm-org/miracle-wm"
license=('GPL-3.0-or-later')
depends=('mir' 'libnotify'
         # implicit depends
         'libglvnd' 'yaml-cpp' 'bash' 'json-c' 'gcc-libs' 'libevdev' 'glib2' 'pcre2' 'glibc'
    )
makedepends=('cmake' 'nlohmann-json' 'ninja' 'glm' 'boost')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('dcbfe71692c5334d7aed578f7fbcbedd0536cac0d01244f8eea2034db25739ab')

build() {

    local _flags=(
        -B build 
        -S "${pkgname}-${pkgver}" 
        -GNinja
        -Wno-dev
        -DCMAKE_BUILD_TYPE=None
        -DCMAKE_INSTALL_PREFIX=/usr
        -DCMAKE_INSTALL_LIBDIR=lib
        # miracle-wm options
        -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$pkgname/
        -DSYSTEMD_INTEGRATION=ON
    )

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

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

FabioLolix commented on 2025-03-20 12:34 (UTC)

Doesn't compile, both for 0.5.0 and 0.4.1:

https://aur.archlinux.org/packages/miracle-wm#comment-996513

glm and boost are missing as makedepends

stefonarch commented on 2025-03-20 10:16 (UTC)

Doesn't compile, both for 0.5.0 and 0.4.1:

[  4%] Building CXX object miraclemsg/CMakeFiles/miraclemsg.dir/ipc_client.cpp.o
In file included from /tmp/makepkg/miracle-wm/src/miracle-wm-0.5.0/src/policy.h:21,
                 from /tmp/makepkg/miracle-wm/src/miracle-wm-0.5.0/src/policy.cpp:20:
/tmp/makepkg/miracle-wm/src/miracle-wm-0.5.0/src/animator.h:24:10: fatal error: glm/glm.hpp: File o directory non esistente
   24 | #include <glm/glm.hpp>
      |          ^~~~~~~~~~~~~
compilation terminated.

sudopluto commented on 2025-03-11 02:43 (UTC)

please consider switching to ninja for the build generator that cmake uses:

# Maintainer: twa022 <twa022 at gmail dot com>
# Contributor: Pranav Sharma <pranav.sharma.ama@gmail.com>

pkgname=miracle-wm
pkgver=0.4.1
pkgrel=1
pkgdesc="Wayland compositor based on mir"
arch=('i686' 'x86_64' 'armv7h' 'aarch64')
url="https://github.com/miracle-wm-org/miracle-wm"
license=('GPL-3.0-or-later')
depends=('mir' 'libnotify')
makedepends=('cmake' 'yaml-cpp' 'nlohmann-json' 'ninja')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('250bfe04f3f887f64bb7dfa98c9d6f56827ca628b68851424a20b5783ba13482')

build() {
  local _flags=(
    -B build 
    -S "${pkgname}-${pkgver}" 
    -GNinja
    -Wno-dev
    -DCMAKE_BUILD_TYPE=None
    -DCMAKE_INSTALL_PREFIX=/usr
    -DCMAKE_INSTALL_LIBDIR=lib
    # miracle-wm options
    -DSYSTEMD_INTEGRATION=ON
  )

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

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

sudopluto commented on 2025-01-07 12:48 (UTC)

also another note, there is a debian ppa that we could probably extract the binaries out of. i will take a look at making a mir-bin / miracle-wm-bin based off of that so less time is spent compiling for regular users : )

sudopluto commented on 2025-01-07 11:58 (UTC)

@FabioLolix i remember you from the mir package! been busy with work and courses, im glad someone started a package for miracle. i'll try to daily drive and report issues / help update @twa022

@FabioLolix @twa022 - one thing i know is that miracle doesn't need a full mir install, only some components. i can start to work on isolating those needed and make a new mir PKGBUILD that helps split out the packages, see links below

fedora packaging: https://src.fedoraproject.org/rpms/miracle-wm/blob/rawhide/f/miracle-wm.spec

example pkgbuild for creating sub packages: https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/blob/main/PKGBUILD?ref_type=heads#L152

FabioLolix commented on 2024-10-30 16:24 (UTC)

Hello, I had made a pkgbuild of this for someone else on 10/06 but they haven't uploaded it, from mine

depends=(mir libnotify)
makedepends=(git cmake nlohmann-json glm boost)
source=("git+https://github.com/miracle-wm-org/miracle-wm.git#tag=v${pkgver}")
sha256sums=('385efed1403e93efb56d587b598c0a650a793dd352485bd4a5716868081c57bd')

build() {
  cmake -B build -S "miracle-wm" -Wno-dev \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr

  cmake --build build
}

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

Could add more implicit depends in depends=() to suppress namcap warnings and nlohmann-json glm boost are needed as makedepends nlohmann-json only as makedepends since it is headers only package, tested building everything with in clean chroot