summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 2fcac65f4670a7e3f5c9e7ce67652171947bad83 (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
56
57
58
59
# Maintainer: Cody Schafer <aur at codyps com>
# Maintainer: dequis <dx@dxzone.com.ar>
# Previous maintainer: Joel Teichroeb <joel@teichroeb.net>
# Contributor: SandaruKasa <sandarukasa plus aur at ya dot ru>

pkgname=rr
pkgver=5.9.0
pkgrel=2
pkgdesc='Record and Replay framework: lightweight recording and deterministic debugging'
arch=(i686 x86_64 aarch64)
url='http://rr-project.org/'
license=('custom')
depends=('gdb' 'capnproto' 'gcc-libs' 'glibc' 'perf' 'zlib')
optdepends=(
  'python: for rr-collect-symbols.py'
  'bash: for signal-rr-recording.sh'
)
makedepends=('git' 'cmake' 'ninja' 'patch' 'pkg-config')
options=(!strip)

source=(
	$pkgname-$pkgver.tar.gz::https://github.com/rr-debugger/${pkgname}/archive/${pkgver}.tar.gz
    6251648873b9e1ed23536beebbaa5d6fead3d5be.diff
)
sha1sums=('3875953ac5cfff02c029b2c10a4d8addd39d20e1'
          '9c34d1723ae235093b0d3bdde6ffcd66382f05c3')

prepare() {
    cd "${srcdir}/rr-${pkgver}"

    patch -Np1 -i "${srcdir}/6251648873b9e1ed23536beebbaa5d6fead3d5be.diff"
}

build() {
	cmake \
		-GNinja \
		-Ddisable32bit=true \
		-DCMAKE_BUILD_TYPE=plain \
		-DCMAKE_INSTALL_PREFIX:PATH=/usr \
		-DBUILD_TESTS=OFF \
		-DWILL_RUN_TESTS=OFF \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DCMAKE_CXX_STANDARD=17 \
		-Wno-dev \
		-B build \
		-S "$pkgname-$pkgver"

	cmake --build build
}

package() {
	DESTDIR="${pkgdir}" cmake --build build -- -v install
	if check_option 'debug' n; then
		find "${pkgdir}/usr/bin" -type f -executable -exec strip $STRIP_BINARIES {} + || :
	fi
	install -D "$pkgname-$pkgver"/LICENSE "${pkgdir}/usr/share/licenses/rr/LICENSE"
	install -D "$pkgname-$pkgver"/scripts/zen_workaround.service "${pkgdir}/usr/lib/systemd/system/zen_workaround.service"
	install -D "$pkgname-$pkgver"/scripts/zen_workaround.py "${pkgdir}/usr/share/zen_workaround/zen_workaround.py"
}