26f2338a3b58769fbbe3c52505d25d568f205e03
[platform/adaptation/broadcom/libomxil-vc4.git] / packaging / libomxil-vc4.spec
1 Name:          libomxil-vc4
2 Version:       0.0.1
3 Release:       2
4 Summary:       Libraries for interfacing to Raspberry Pi GPU
5 Group:         System/Libraries
6 URL:           https://github.com/raspberrypi/userland
7 Source:         %{name}-%{version}.tar.gz
8 License:       BSD
9 BuildRequires: glibc-devel
10 BuildRequires: cmake
11 BuildRequires: gcc-c++
12 BuildRequires: pkgconfig(libtbm)
13 ExclusiveArch: %{arm}
14
15 %description
16 Libraries for interfacing to Raspberry Pi GPU.
17
18 %package -n     libomxil-vc4-utils
19 Group:         System/Tools
20 Summary:       System tools for the Raspberry Pi
21
22 %description -n libomxil-vc4-utils
23 This package contains some system tools for the Raspberry Pi.
24 Source: https://github.com/libomxil-vc4/userland.git
25
26 %package -n libomxil-vc4-devel
27 Group:         Development/Libraries
28 Summary:       Development files for the Raspberry Pi GPU
29
30 %description -n libomxil-vc4-devel
31 This package contains libraries and header files for developing applications that use Raspberry Pi GPU.
32
33 %prep
34 %setup -q
35
36 %build
37 BUILDTYPE=Release
38 BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
39 mkdir -p build/armv7l-linux/$BUILDSUBDIR
40 pushd build/armv7l-linux/$BUILDSUBDIR
41 cmake -DCMAKE_BUILD_TYPE=Release ../../../
42 make
43 popd
44
45 %install
46 mkdir -p %{buildroot}/opt/vc/lib/plugins
47 mkdir %{buildroot}/opt/vc/lib/pkgconfig
48 mkdir %{buildroot}/opt/vc/bin
49 mkdir -p %{buildroot}/opt/vc/include/interface
50 pushd %{buildroot}/opt/vc/lib
51 cp %{_builddir}/%{name}-%{version}/build/lib/lib*.so ./
52 cp %{_builddir}/%{name}-%{version}/build/armv7l-linux/release/bcm_host.pc ./pkgconfig
53 cp %{_builddir}/%{name}-%{version}/build/armv7l-linux/release/brcmegl.pc ./pkgconfig
54 cp %{_builddir}/%{name}-%{version}/build/armv7l-linux/release/brcmglesv2.pc ./pkgconfig
55 cp %{_builddir}/%{name}-%{version}/build/armv7l-linux/release/brcmvg.pc ./pkgconfig
56 cp %{_builddir}/%{name}-%{version}/build/armv7l-linux/release/mmal.pc ./pkgconfig
57 cp %{_builddir}/%{name}-%{version}/build/armv7l-linux/release/vcsm.pc ./pkgconfig
58 cd ./plugins
59 cp %{_builddir}/%{name}-%{version}/build/lib/reader_*.so ./
60 cp %{_builddir}/%{name}-%{version}/build/lib/writer_*.so ./
61 cd ../../bin
62 cp %{_builddir}/%{name}-%{version}/build/bin/* ./
63
64 cd ../lib
65 cp %{_builddir}/%{name}-%{version}/build/lib/lib*.a ./
66 cd ../include
67 cp -a %{_builddir}/%{name}-%{version}/interface/khronos/include/EGL ./
68 cp -a %{_builddir}/%{name}-%{version}/interface/khronos/include/GLES ./
69 cp -a %{_builddir}/%{name}-%{version}/interface/khronos/include/GLES2 ./
70 cp -a %{_builddir}/%{name}-%{version}/interface/khronos/include/KHR ./
71 cp -a %{_builddir}/%{name}-%{version}/interface/khronos/include/VG ./
72 cp -a %{_builddir}/%{name}-%{version}/interface/khronos/include/WF ./
73 cp -a %{_builddir}/%{name}-%{version}/interface/vmcs_host/khronos/IL ./
74 cp -a %{_builddir}/%{name}-%{version}/interface/mmal ./interface/
75 cp -a %{_builddir}/%{name}-%{version}/interface/vchi ./interface/
76 cp -a %{_builddir}/%{name}-%{version}/interface/vchiq_arm ./interface/
77 cp -a %{_builddir}/%{name}-%{version}/interface/vcos ./interface/
78 cp -a %{_builddir}/%{name}-%{version}/interface/vctypes ./interface/
79 cp -a %{_builddir}/%{name}-%{version}/interface/vmcs_host ./interface/
80 cp -a %{_builddir}/%{name}-%{version}/vcinclude ./
81 cp %{_builddir}/%{name}-%{version}/host_applications/linux/libs/bcm_host/include/bcm_host.h ./
82 popd
83
84 %clean
85 [ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
86
87 %files -n libomxil-vc4-utils
88 /opt/vc/bin/*
89 %doc LICENCE COPYING
90
91 %files -n libomxil-vc4
92 %manifest packaging/%{name}.manifest
93 %defattr(-,root,root)
94 %license LICENCE COPYING
95 /opt/vc/lib/lib*.so
96 /opt/vc/lib/plugins/*.so
97
98 %files -n libomxil-vc4-devel
99 /opt/vc/lib/lib*.a
100 /opt/vc/include/EGL
101 /opt/vc/include/GLES
102 /opt/vc/include/GLES2
103 /opt/vc/include/IL
104 /opt/vc/include/KHR
105 /opt/vc/include/VG
106 /opt/vc/include/WF
107 /opt/vc/include/interface
108 /opt/vc/include/vcinclude
109 /opt/vc/include/*.h
110 /opt/vc/lib/pkgconfig/*.pc