summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: 47c775754f5863684b739a52fb1092394d01dede (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
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (Arch): Christian Hesse <mail@eworm.de>

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

pkgname=tmux
pkgver=3.3_a
pkgrel=7
pkgdesc='Terminal multiplexer'
url='https://github.com/tmux/tmux/wiki'
arch=('x86_64')
license=('BSD')
depends=('ncurses' 'libevent' 'libutempter')
# # For some reason this breaks compiling. "error: C compiler cannot create executables"
# # But old-fashioned raw injection of -flto=auto via export doesn't.
#options=('lto')
source=("https://github.com/tmux/tmux/releases/download/${pkgver/_/}/tmux-${pkgver/_/}.tar.gz"
        '0001-CVE-2022-47016.patch'
        '0002-ncurses.patch')
sha256sums=('e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f'
            '58fb690833e086b71b52555aa8eced695ace0a0bc51b8bccfda441e35a47ca93'
            '70e8cc2a95dd4a19ff54bcf0abaeff6464ebecbaace5ed0aec06ca93a84d415a')
b2sums=('e835ce0f136175521035a684419f221864edb0a9506d7d68cbc0239b1349e78949ebd96573a9d8651a2df6d99acb433075d6e0c20d7394a53fe6b44bd9e56069'
        '5d6e44167fc067da71a7b222eea9f631bf9a64e88846d243207e9e29ab25e0bc78addca6b006ceed43a45be88abc53822a1250fd5b9a7c4830496ef77408eae3'
        '6077460e424e4857eea3bf36d88a400155d95481500b25005790f3de782b8e7f2790c3ba450f6704149f236562fb25b743575c0e73cbc3cbec7785aa729816c3')

prepare() {
  cd "$pkgname-${pkgver/_/}"
  patch -Np1 -i ../0001-CVE-2022-47016.patch
  patch -Np1 -i ../0002-ncurses.patch

  autoreconf -fi
}

build() {
  cd "$pkgname-${pkgver/_/}"

  export CFLAGS="$CFLAGS -O3 -fstack-protector-all -fPIE -flto=auto"
  export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -fPIE -flto=auto"
  export LDFLAGS="$LDFLAGS,-pie"

  ./configure \
    --prefix=/usr \
    --enable-utempter
  make
}

package() {
  cd "$pkgname-${pkgver/_/}"

  make install DESTDIR="$pkgdir"
  install -D -m0644 COPYING "$pkgdir/usr/share/licenses/tmux/LICENSE"
}