raspberrypi-userland/raspberrypi-userland.spec

204 lines
6.0 KiB
RPMSpec

Name: raspberrypi-userland
Version: 20210423git
Release: 1mamba
Summary: Libraries for interfacing to Raspberry Pi GPU
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.raspberrypi.org/
Source: git://github.com/raspberrypi/userland.git/master/userland-%{version}.tar.bz2
Source1: raspberrypi-userland-ldconfig
Source2: tvservice-off
Source3: tvservice-on
Source4: tvservice-ison
Source5: raspberrypi-firmware-udev-vchiq-permissions
Patch0: %{name}-20121028git-disable_cmake_toolchain_check.patch
Patch1: raspberrypi-userland-20210317git-aarch64-brcmegl.patch
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
## AUTOBUILDREQ-END
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: git
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
ExclusiveArch: arm aarch64
%description
Libraries for interfacing to Raspberry Pi GPU.
%package -n raspberrypi-utils
Group: System/Tools
Summary: System tools for the Raspberry Pi
Requires: libraspberrypi = %{?epoch:%epoch:}%{version}-%{release}
%description -n raspberrypi-utils
This package contains some system tools for the Raspberry Pi.
%package -n libraspberrypi
Group: System/Libraries
Summary: Libraries for interfacing to Raspberry Pi GPU
Obsoletes: raspberrypi-libs < 20210317git
Provides: raspberrypi-libs = %{?epoch:%epoch:}%{version}-%{release}
%description -n libraspberrypi
This package contains shared libraries for the Raspberry Pi.
%package -n libraspberrypi-devel
Group: Development/Libraries
Summary: Development files for the Raspberry Pi GPU
Requires: libraspberrypi = %{?epoch:%epoch:}%{version}-%{release}
Obsoletes: raspberrypi-devel < 20210317git
Provides: raspberrypi-devel = %{?epoch:%epoch:}%{version}-%{release}
%description -n libraspberrypi-devel
This package contains libraries and header files for developing applications that use Raspberry Pi GPU.
%debug_package
%prep
%setup -q -n userland-%{version}
#:<< _EOF
#%patch0 -p1
%ifarch aarch64
%patch1 -p1
%endif
%build
# missing -lOpenVG
%cmake \
-DCMAKE_CXX_COMPILER=/usr/bin/g++ \
-DCMAKE_BUILD_TYPE=Release \
%ifarch aarch64
-DARM64=ON
%endif
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall
%ifarch arm
for lib in libfdt.so libmmal_core.so libmmal_util.so libvcilcs.so; do
install build/lib/$lib %{buildroot}/opt/vc/lib/$lib
done
%endif
%ifarch aarch64
for lib in libfdt.so; do
install build/lib/$lib %{buildroot}/opt/vc/lib/$lib
done
%endif
install -D -m0644 %{S:1} %{buildroot}%{_sysconfdir}/ld.so.conf.d/vmcs.conf
install -m0755 %{S:2} %{buildroot}/opt/vc/bin/tvservice-off
install -m0755 %{S:3} %{buildroot}/opt/vc/bin/tvservice-on
install -m0755 %{S:4} %{buildroot}/opt/vc/bin/tvservice-ison
# add /opt/vc/bin to systemd PATH
install -d %{buildroot}%{_sysconfdir}/profile.d/
cat > %{buildroot}%{_sysconfdir}/profile.d/vmcs.sh << _EOF
PATH=$PATH:/opt/vc/bin
_EOF
# udev rules
install -D -m 644 %{S:5} \
%{buildroot}%{_udevrulesdir}/10-vchiq-permissions.rules
# remove unpackaged files
rm -f %{buildroot}/opt/vc/share/install/vmcs.conf
rm -fr %{buildroot}/opt/vc/src/hello_pi
# FIXME: VideoCore file server daemon
rm -f %{buildroot}/opt/vc/sbin/vcfiled
rm -f %{buildroot}/opt/vc/share/install/vcfiled
rm -f %{buildroot}/etc/init.d/vcfiled
# move pkgconfig files to standard location
install -d -m0755 %{buildroot}%{_libdir}
mv %{buildroot}/opt/vc/lib/pkgconfig %{buildroot}%{_libdir}/
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n libraspberrypi -p /sbin/ldconfig
%postun -n libraspberrypi -p /sbin/ldconfig
%files -n raspberrypi-utils
%defattr(-,root,root)
%{_sysconfdir}/profile.d/vmcs.sh
#/opt/vc/bin/raspicam
/opt/vc/bin/*
%doc LICENCE
%files -n libraspberrypi
%defattr(-,root,root)
%{_sysconfdir}/ld.so.conf.d/vmcs.conf
%{_udevrulesdir}/10-vchiq-permissions.rules
%dir /opt/vc
%dir /opt/vc/lib
/opt/vc/lib/lib*.so
%ifarch arm
%dir /opt/vc/lib/plugins
/opt/vc/lib/plugins/*.so
%endif
%files -n libraspberrypi-devel
%defattr(-,root,root)
/opt/vc/lib/lib*.a
%dir /opt/vc/include
/opt/vc/include/EGL
/opt/vc/include/GLES
/opt/vc/include/GLES2
/opt/vc/include/IL
/opt/vc/include/KHR
/opt/vc/include/VG
/opt/vc/include/WF
/opt/vc/include/interface
/opt/vc/include/vcinclude
/opt/vc/include/*.h
%{_libdir}/pkgconfig/*.pc
%changelog
* Fri Apr 23 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 20210423git-1mamba
- update to 20210423git
* Wed Mar 17 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 20210317git-1mamba
- update to 20210317git
- libraspberrypi-userland-devel: move pkgconfig files to %_libdir
- aarch64: workaround for brcmegl.pc to fix SDL2 build but may not be working
* Mon Oct 12 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 20201012git-1mamba
- update to 20201012git
* Sun Jun 24 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 20180624git-1mamba
- update to 20180624git
* Sun Jul 10 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 20160710git-1mamba
- update to 20160710git
* Thu Jan 22 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 20150122git-1mamba
- update to 20150122git
* Fri Jan 17 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 20140117git-1mamba
- update to 20140117git
- added tvservice-ison script and fixed timings in tvservice-on
* Mon Nov 25 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 20131125git-1mamba
- update to 20131125git
- add convenience scripts tvservice-off and tvservice-on to allow workarounding missing power saving support (dpms)
* Mon Apr 01 2013 Automatic Build System <autodist@mambasoft.it> 20130401git-1mamba
- update to 20130401git
* Tue Feb 12 2013 Davide Madrisan <davide.madrisan@gmail.com> 20130207git-1mamba
- update to 20130207git
* Sun Dec 02 2012 Davide Madrisan <davide.madrisan@gmail.com> 20121202git-1mamba
- update to 20121202git
* Sun Oct 28 2012 Davide Madrisan <davide.madrisan@gmail.com> 20121028git-1mamba
- package created by autospec