summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 2fec05430004aa23952afb5eb0ccec9a10028c56 (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
125
126
# Maintainer: Gustavo Alvarez <sl1pkn07@gmail.com>
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>

pkgname=('libplacebo-git'
         'lib32-libplacebo-git'
         )
pkgver=v4.157.0.5.g51b0e24
pkgrel=1
url='https://code.videolan.org/videolan/libplacebo'
arch=('x86_64')
license=('LGPL2.1')
makedepends=('git'
             'meson'
             'ninja'
             'vulkan-headers'
             'python-mako'
             'ffmpeg'
             'lib32-ffmpeg'
             'shaderc'
#              'lib32-shaderc'
             'glslang'
             'lib32-glslang'
             'lcms2'
             'lib32-lcms2'
             'vulkan-icd-loader'
             'lib32-vulkan-icd-loader'
             'libepoxy'
             'lib32-libepoxy'
             'glfw'
             'lib32-glfw'
             )
conflicts=('libplacebo')
source=('git+https://code.videolan.org/videolan/libplacebo.git')
sha256sums=('SKIP')

pkgver() {
  cd libplacebo
  echo "$(git describe --long --tags | tr - .)"
}

prepare() {
  mkdir -p build{32,64}
}

build() {
  cd "${srcdir}/build64"
  arch-meson ../libplacebo \
    -D vulkan=enabled \
    -D glslang=enabled \
    -D shaderc=enabled \
    -D lcms=enabled \
    -D d3d11=disabled \
    -D tests=true

  ninja

  export CC="gcc -m32"
  export CXX="g++ -m32"
  export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"

  cd "${srcdir}/build32"
  arch-meson ../libplacebo \
    --libdir=/usr/lib32 \
    -D vulkan=enabled \
    -D glslang=enabled \
    -D shaderc=disabled \
    -D lcms=enabled \
    -D d3d11=disabled \
    -D tests=true \
    -D demos=false

  ninja
}

check() {
  ninja -C build64 test
  ninja -C build32 test
}

package_libplacebo-git() {
  pkgdesc='Reusable library for GPU-accelerated video/image rendering primitives. (GIT version)'
  depends=('libvulkan.so'
           'liblcms2.so'
           'glslang'
           'libepoxy'
           'glfw'
           'libshaderc_shared.so'
           'libavcodec.so'
           'libavutil.so'
           'libavformat.so'
           )
  provides=('libplacebo'
            "libplacebo=${pkgver}"
            'libplacebo.so'
          )

  DESTDIR="${pkgdir}" ninja -C build64 install

  install -Dm644 libplacebo/README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
}

package_lib32-libplacebo-git() {
  pkgdesc='Reusable library for GPU-accelerated video/image rendering primitives. (GIT version) (32-bits)'
  depends=("libplacebo=${pkgver}"
           'libvulkan.so'
           'liblcms2.so'
           'lib32-glslang'
           'lib32-libepoxy'
           'lib32-glfw'
#            'libshaderc_shared.so'
           'libavcodec.so'
           'libavutil.so'
           'libavformat.so'
           )
  provides=('lib32-libplacebo'
            'libplacebo.so'
          )
  conflicts=('lib32-libplacebo')

  DESTDIR="${pkgdir}" ninja -C build32 install

#   mv "${pkgdir}/usr/bin/plplay" "${pkgdir}/usr/bin/plplay-32"
  rm -fr "${pkgdir}/usr/include"

  install -Dm644 libplacebo/README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
}