summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 00991c791553e1d8b90044fcf59f0a91f43c5ddb (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Maintainer:  dreieck (https://aur.archlinux.org/account/dreieck)
# Contributor: Eric Engestrom (https://aur.archlinux.org/account/1ace)

_pkgname=igt-gpu-tools
pkgname="$_pkgname-git"
pkgver=1.28+606.g17a41dcf1e
pkgrel=4
pkgdesc="Collection of tools for development and testing of the DRM drivers."
url="https://gitlab.freedesktop.org/drm/igt-gpu-tools"
arch=(
  "x86_64"
  'i686'
  "aarch64"
)
license=("LicenseRef-several_in_onefile")
makedepends=(
  'bison'
  'flex'
  git
  meson
  ninja
  peg # For executable `leg`, needed to build with `-Doverlay=enabled`.
  'python>=3'
  'python-docutils'
  'python-sphinx'
  'rst2pdf'
  valgrind
)
depends=(
  alsa-lib
  bash
  cairo
  glib2
  glibc
  gsl
  gtk-doc
  json-c
  kmod
  libdrm
  libelf
  liboping
  libpciaccess
  libunwind
  libx11
  libxext
  libxmlrpc
  libxrandr
  libxv
  openblas
  perl
  pixman
  procps-ng
  python-docutils
  systemd-libs
  # valgrind
  zlib
)
optdepends=(
  "python>=3:              To use /usr/bin/code_cov_gather_on_test and /usr/bin/intel-gfx-fw-info"
  "python-dissect.cstruct: To use /usr/bin/intel-gfx-fw-info"
)
provides=(
  "${_pkgname}=${pkgver}"
  "gputop=${pkgver}"
  "lsgpu=${pkgver}"
  "dpcd_reg=${pkgver}"
)
conflicts=(
  "${_pkgname}"
  gputop
  lsgpu
  dpcd_reg
)

source=("${_pkgname}::git+${url}.git")
sha256sums=('SKIP')

prepare() {
  cd "${srcdir}/${_pkgname}"

  git log > git.log

  cd "${srcdir}"

  MESON_OPTS=(
    "-Doverlay=enabled"
    "-Doverlay_backends=['x','xv']"
    "-Dchamelium=enabled"
    "-Dvalgrind=enabled"
    "-Dman=enabled"
    "-Dtestplan=enabled"
    "-Dsphinx=enabled"
    "-Ddocs=disabled" # If enabled, `meson install` fails with `ERROR: Error in gtkdoc helper script:`.
    "-Dtests=enabled"
    "-Dxe_driver=enabled"
    "-Dlibdrm_drivers=['intel','nouveau','amdgpu']"
    "-Dlibunwind=enabled"
    "-Drunner=enabled"
    "-Doping=enabled"
  )
  meson setup --prefix /usr --libexecdir lib --sbindir bin --buildtype plain --auto-features enabled --wrap-mode nodownload "${_pkgname}" build "${MESON_OPTS[@]}"
}

build() {
  cd "${srcdir}"
  ninja -C build
}

# Some tests time out after 30s and are killed by the test running system, making `check()` failing. So we disable them here.
#check() {
#  cd "${srcdir}"
#  ninja -C build test
#}

package() {
  cd "${srcdir}"
  DESTDIR="${pkgdir}" ninja -C build install
  install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgname}/docs/testplan/pdf" "build/docs/testplan/pdf/tests.pdf"

  cd "${srcdir}/${_pkgname}"
  install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgname}" git.log CONTRIBUTING.md MAINTAINERS NEWS README.md
  install -Dvm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" "COPYING"
  ln -svr "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" "${pkgdir}/usr/share/doc/${_pkgname}/COPYING"
}