blob: 0ff7b3f1ebe0281aa414e8415b4607ccd479ee64 (
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
127
128
129
130
131
132
133
134
135
136
137
|
# Maintainer: Daniel Bermond < yahoo-com: danielbermond >
pkgname=intel-media-sdk-git
pkgver=1.2a.r8.ge2b2f3d
pkgrel=1
pkgdesc='API to access hardware-accelerated video decode, encode and filtering on Intel platforms with integrated graphics (git version)'
arch=('i686' 'x86_64')
url='https://github.com/Intel-Media-SDK/MediaSDK/'
license=('MIT')
depends=(
# AUR:
'libva-git' 'intel-media-driver-git'
)
makedepends=(
# official repositories:
'git' 'perl' 'cmake'
# AUR:
'git-lfs' 'gcc5'
)
provides=('intel-media-sdk' 'libmfx')
conflicts=('intel-media-sdk' 'libmfx' 'libmfx-git')
source=('intel-media-sdk-gcc5-fix.patch'
'intel-media-sdk-change-gcc-version.patch'
'intel-media-sdk-detect-intel-opencl.patch'
'intel-media-sdk-add-runtime-libraries.patch')
sha256sums=('e8687d509fcdefe0b9d01f12c7437425aa12791795046506fb13483dcca924ab'
'1e87af43f125b37b1ed12f5fd9f87a0260fe05204d12ac29567eeb389284de31'
'689ebc270532c0e1e5132d39898ff2a93fe3483a5a2673aea396a24fc07ad24c'
'a4e02e01fbb289503be58006a3ddfdf4a1e4a1e127bcb64c5b539b94c53700cf')
prepare() {
# makepkg does not support cloning git-lfs repositories
if [ -d "$pkgname" ]
then
msg2 "Updating '${pkgname}' git repo..."
cd "$pkgname"
git pull origin
else
msg2 "Cloning '${pkgname}' git repo..."
git lfs install
git clone https://github.com/Intel-Media-SDK/MediaSDK.git "$pkgname"
cd "$pkgname"
fi
for _patch in intel-media-sdk-gcc5-fix.patch \
intel-media-sdk-change-gcc-version.patch \
intel-media-sdk-detect-intel-opencl.patch \
intel-media-sdk-add-runtime-libraries.patch
do
if patch -Nsp1 --dry-run -i "${srcdir}/${_patch}" >/dev/null
then
patch -Np1 -i "${srcdir}/${_patch}"
fi
done
}
pkgver() {
cd "$pkgname"
# git, tags available
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//;s/,//'
}
build() {
cd "$pkgname"
export MFX_HOME="$(pwd)"
export CFLAGS="$( printf '%s' "$CFLAGS" | sed 's/-fno-plt//')"
export CXXFLAGS="$(printf '%s' "$CXXFLAGS" | sed 's/-fno-plt//')"
perl tools/builder/build_mfx.pl \
--cmake='intel64.make.release' \
--prefix='/usr' \
make -C __cmake/intel64.make.release
}
package() {
cd "$pkgname"
make \
-C __cmake/intel64.make.release \
DESTDIR="$pkgdir" \
install
[ "$CARCH" = 'x86_64' ] && _arch='x64' && _libarch='64'
[ "$CARCH" = 'i686' ] && _arch='x86' && _libarch='32'
mkdir -p "${pkgdir}/usr/"{include/mfx,lib/pkgconfig,share/"$pkgname"}
# remove unneeded directory '/usb/lib64' (or '/usr/lib32')
mv -f "${pkgdir}/usr/lib${_libarch}"/* "${pkgdir}/usr/lib"
rm -rf "${pkgdir}/usr/lib${_libarch}"
# move samples to a better place
mv -f "${pkgdir}/usr/samples" "${pkgdir}/usr/share/${pkgname}"
# bellow are fixes for building ffmpeg
# (use symlinks to preserve compatibility with binary-only Intel products)
# includes
cd "${pkgdir}/usr/include"
for _header in *.h
do
cd mfx
ln -sf ../"$_header" "$_header"
cd ..
done
# libraries
cd "${pkgdir}/usr/lib/lin_${_arch}"
for _lib in *.a
do
cd ..
ln -sf "lin_${_arch}/$_lib" "$_lib"
cd "lin_${_arch}"
done
# pkgconfig files
cd "${pkgdir}/usr/lib/lin_${_arch}/pkgconfig"
ln -sf mfx.pc libmfx.pc
cd "${pkgdir}/usr/lib/pkgconfig"
ln -sf ../"lin_${_arch}/pkgconfig/mfx.pc" mfx.pc
ln -sf ../"lin_${_arch}/pkgconfig/libmfx.pc" libmfx.pc
# plugins
cd "${pkgdir}/usr/plugins"
for _plugin in *
do
ln -sf ../plugins/"$_plugin" ../lib/"$_plugin"
done
# license
cd "${srcdir}/${pkgname}"
install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
|