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