summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: 97e8ad42e2cf40d760857ab494ea44edf5446fdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (Arch): Felix Yan <felixonmars@archlinux.org>
# Maintainer (Arch): Antonio Rojas <arojas@archlinux.org>
# Contributor (Arch): Andrea Scarpino <andrea@archlinux.org>

# # I maintain this because:
# Arch version lacks additional optimization and hardening flags


pkgname=kwin
pkgver=5.23.0
pkgrel=2
pkgdesc='An easy to use, but flexible, composited Window Manager'
arch=(x86_64)
url='https://kde.org/plasma-desktop/'
license=(LGPL)
depends=(kscreenlocker xcb-util-cursor plasma-framework kcmutils kwayland-server breeze
         pipewire-media-session libqaccessibilityclient lcms2)
makedepends=(extra-cmake-modules qt5-tools kdoctools krunner)
optdepends=('maliit-keyboard: virtual keyboard for kwin-wayland')
groups=(plasma)
source=(https://download.kde.org/stable/plasma/$pkgver/$pkgname-$pkgver.tar.xz{,.sig}
        kwin-5.23.0-hotfix.patch::https://invent.kde.org/plasma/kwin/-/commit/85f8a533.patch)
install=$pkgname.install
sha256sums=('ba74f70648faa3c92c88e1b77916c6abd7fcad1af9e717a39dc9df278f1a551f'
            'SKIP'
            '2c42a47dd1d62cde93d3d392d42056689d8fdbc24cd8497bd29adf113e16a7be')
validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D'  # Jonathan Esk-Riddell <jr@jriddell.org>
              '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D'  # Bhushan Shah <bshah@kde.org>
              'D07BD8662C56CB291B316EB2F5675605C74E02CF'  # David Edmundson <davidedmundson@kde.org>
              '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin <notmart@gmail.com>

prepare() {
  patch -d $pkgname-$pkgver -p1 < kwin-5.23.0-hotfix.patch # Properly unredirect windows if compositing is not possible
}

build() {

  export CFLAGS="$CFLAGS -O3 -fstack-protector-all -flto=auto -fPIC"
  export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -flto=auto -fPIC"

  # -fPIE, -pie breaks kwin
  #export CFLAGS="$CFLAGS -fno-PIC -fPIE"
  #export CXXFLAGS="$CFLAGS -fno-PIC -fPIE"
  #export LDFLAGS="$LDFLAGS,-pie"

  cmake -B build -S $pkgname-$pkgver \
    -DCMAKE_INSTALL_LIBEXECDIR=lib \
    -DBUILD_TESTING=OFF
  cmake --build build
}

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