8c60c3e
%global abiver 2.54
092cb8f
Name:           librealsense
da35ae4
Version:        2.54.2
376ad00
Release:        %autorelease
092cb8f
Summary:        Cross-platform camera capture for Intel RealSense
092cb8f
ff46723
License:        Apache-2.0
092cb8f
URL:            https://github.com/IntelRealSense/librealsense
8eca90c
Source0:        https://github.com/IntelRealSense/librealsense/archive/v%{version}.tar.gz#/librealsense-%{version}.tar.gz
Till Hofmann 07ab6e2
# Remove custom CFLAGS that override ours.
Till Hofmann 07ab6e2
# This was discussed with upstream, but upstream wants to keep those flags.
d32278a
Patch0:         librealsense.remove-cflags.patch
311bb6b
Patch1:         librealsense.realsense-file-shared-library.patch
4131a4e
Patch2:         librealsense.use-system-pybind11.patch
bbe66f5
Patch3:         librealsense.remove-invalid-unused-code.patch
8c60c3e
Patch4:         librealsense-include-cstdint.patch
8c60c3e
Patch5:         librealsense.rsutils-shared-library.patch
092cb8f
963da6a
BuildRequires:  cmake
bdf9c08
BuildRequires:  cmake(glfw3)
4131a4e
BuildRequires:  libcurl-devel
092cb8f
BuildRequires:  doxygen
0029408
BuildRequires:  gcc-c++
6e1df23
BuildRequires:  gdb-headless
Till Hofmann 07ab6e2
BuildRequires:  glfw-devel
Till Hofmann 07ab6e2
BuildRequires:  libGL-devel
4131a4e
BuildRequires:  libusb1-devel
Till Hofmann 07ab6e2
BuildRequires:  mesa-libGLU-devel
Till Hofmann 07ab6e2
BuildRequires:  pkgconfig(gtk+-3.0)
1d6c385
BuildRequires:  pkgconfig(libudev)
4131a4e
BuildRequires:  pybind11-devel
c6e5c5d
BuildRequires:  python3-devel
1d9457e
BuildRequires:  python3-setuptools
092cb8f
9d93085
Provides:       librealsense2 = %{version}-%{release}
9d93085
092cb8f
%description
e002043
The Intel RealSense SDK is a cross-platform library (Linux, OSX, Windows) for
e002043
capturing data from the Intel RealSense D400 and SR 300 depth cameras.
092cb8f
e002043
For older devices (F200, R200, LR200, ZR300), please use librealsense1.
092cb8f
092cb8f
%package        devel
092cb8f
Summary:        Development files for %{name}
092cb8f
Requires:       %{name}%{?_isa} = %{version}-%{release}
9d93085
Provides:       librealsense2-devel = %{version}-%{release}
092cb8f
092cb8f
%description    devel
092cb8f
The %{name}-devel package contains libraries and header files for
092cb8f
developing applications that use %{name}.
092cb8f
092cb8f
c6e5c5d
%package -n     python3-%{name}
c6e5c5d
Summary:        Python bindings for %{name}
320ac3e
%{?python_provide:%python_provide python3-%{name}}
9d93085
Provides:       python3-librealsense2 = %{version}-%{release}
c6e5c5d
c6e5c5d
%description -n python3-%{name}
c6e5c5d
The python3-%{name} package contains python bindings for %{name}.
c6e5c5d
c6e5c5d
c6e5c5d
%package -n     python3-%{name}-devel
c6e5c5d
Summary:        Python development files for %{name}
c6e5c5d
Requires:       python3-%{name}%{?_isa} = %{version}-%{release}
9d93085
Provides:       python3-librealsense2-devel = %{version}-%{release}
c6e5c5d
c6e5c5d
%description -n python3-%{name}-devel
c6e5c5d
The python3-%{name}-devel package contains libraries and header files for
c6e5c5d
developing python applications that use %{name}.
c6e5c5d
c6e5c5d
092cb8f
%package        doc
baacb9f
BuildArch:      noarch
092cb8f
Summary:        Documentation for %{name}
9d93085
Provides:       librealsense2-doc = %{version}-%{release}
092cb8f
092cb8f
%description    doc
963da6a
The %{name}-doc package contains documentation for developing applications
963da6a
with %{name}.
092cb8f
Till Hofmann 07ab6e2
# enable PIE, we need -fPIC anyway
Till Hofmann 07ab6e2
%global _hardened_build 1
092cb8f
092cb8f
%prep
3b64f39
%autosetup -p1
092cb8f
092cb8f
092cb8f
%build
963da6a
%cmake \
963da6a
  -DBUILD_UNIT_TESTS=NO \
4131a4e
  -DCHECK_FOR_UPDATES=NO \
963da6a
  -DCMAKE_INSTALL_BINDIR=%{_bindir} \
963da6a
  -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
963da6a
  -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
c6e5c5d
  -DBUILD_PYTHON_BINDINGS:bool=true \
85586f2
  -DPYTHON_EXECUTABLE=%{python3}
85586f2
%cmake_build
963da6a
018164b
sed -i "s:/usr/local/bin:%{_datadir}/realsense:" config/*
092cb8f
sed -i "s/plugdev/users/g" config/*rules
092cb8f
Till Hofmann 07ab6e2
pushd doc/doxygen
963da6a
# Do not generate Windows help files
963da6a
sed -i \
963da6a
  -e "s/GENERATE_HTMLHELP[[:space:]]*=[[:space:]]*YES/GENERATE_HTMLHELP = NO/" \
Till Hofmann 07ab6e2
  doxyfile
092cb8f
doxygen
85586f2
popd
092cb8f
092cb8f
092cb8f
%install
85586f2
%cmake_install
092cb8f
092cb8f
mkdir -p %{buildroot}/%{_udevrulesdir}
092cb8f
install -p -m644 config/99-realsense-libusb.rules %{buildroot}/%{_udevrulesdir}
018164b
mkdir -p %{buildroot}/%{_datadir}/realsense
018164b
install -p -m755 config/usb-R200-in{,_udev} %{buildroot}/%{_datadir}/realsense
4131a4e
mv %{buildroot}/builddir/Documents/librealsense2/presets %{buildroot}/%{_datadir}/realsense
092cb8f
092cb8f
%files
092cb8f
%license LICENSE
092cb8f
%doc readme.md
128118d
%{_libdir}/librealsense-file.so.%{abiver}*
128118d
%{_libdir}/librealsense2-gl.so.%{abiver}*
128118d
%{_libdir}/librealsense2.so.%{abiver}*
8c60c3e
%{_libdir}/librsutils.so.%{abiver}*
018164b
%{_datadir}/realsense
e5ec1f0
%{_bindir}/realsense-viewer
e5ec1f0
%{_bindir}/rs-align
10def4d
%{_bindir}/rs-align-advanced
bdf9c08
%{_bindir}/rs-benchmark
0297c1b
%{_bindir}/rs-callback
e5ec1f0
%{_bindir}/rs-capture
e5ec1f0
%{_bindir}/rs-color
03b0fc5
%{_bindir}/rs-convert
e5ec1f0
%{_bindir}/rs-data-collect
e5ec1f0
%{_bindir}/rs-depth
e5ec1f0
%{_bindir}/rs-depth-quality
e5ec1f0
%{_bindir}/rs-distance
4131a4e
%{_bindir}/rs-embed
e5ec1f0
%{_bindir}/rs-enumerate-devices
e5ec1f0
%{_bindir}/rs-fw-logger
214fcf3
%{_bindir}/rs-fw-update
bdf9c08
%{_bindir}/rs-gl
a52bee1
%{_bindir}/rs-hdr
10def4d
%{_bindir}/rs-hello-realsense
e5ec1f0
%{_bindir}/rs-measure
40349f3
%{_bindir}/rs-motion
e5ec1f0
%{_bindir}/rs-multicam
e5ec1f0
%{_bindir}/rs-pointcloud
e5ec1f0
%{_bindir}/rs-post-processing
c7361b6
%{_bindir}/rs-record
7775ded
%{_bindir}/rs-record-playback
e5ec1f0
%{_bindir}/rs-rosbag-inspector
e5ec1f0
%{_bindir}/rs-save-to-disk
e5ec1f0
%{_bindir}/rs-sensor-control
e5ec1f0
%{_bindir}/rs-software-device
e5ec1f0
%{_bindir}/rs-terminal
e5ec1f0
%{_udevrulesdir}/99-realsense-libusb.rules
092cb8f
092cb8f
%files devel
e5ec1f0
%{_includedir}/librealsense2
6e1df23
%{_includedir}/librealsense2-gl
8c60c3e
%{_libdir}/librsutils.so
6e1df23
%{_libdir}/cmake/realsense2
6e1df23
%{_libdir}/cmake/realsense2-gl
311bb6b
%{_libdir}/librealsense-file.so
bdf9c08
%{_libdir}/librealsense2-gl.so
Till Hofmann 07ab6e2
%{_libdir}/librealsense2.so
bdf9c08
%{_libdir}/pkgconfig/realsense2-gl.pc
4d7dbee
%{_libdir}/pkgconfig/realsense2.pc
092cb8f
c6e5c5d
%files -n python3-%{name}
320ac3e
%dir %{python3_sitearch}/pyrealsense2
128118d
%{python3_sitearch}/pyrealsense2/pyrealsense2*.so.%{abiver}*
320ac3e
%{python3_sitearch}/pyrealsense2/pybackend2*.so.2*
8c60c3e
%{python3_sitearch}/pyrealsense2/pyrsutils*.so.%{abiver}*
c6e5c5d
c6e5c5d
%files -n python3-%{name}-devel
320ac3e
%{_libdir}/cmake/pyrealsense2
320ac3e
%{python3_sitearch}/pyrealsense2/pyrealsense2*.so
320ac3e
%{python3_sitearch}/pyrealsense2/pybackend2*.so
8c60c3e
%{python3_sitearch}/pyrealsense2/pyrsutils*.so
c6e5c5d
092cb8f
%files doc
1d6c385
%license LICENSE
Till Hofmann 07ab6e2
%doc doc/doxygen/html/*
092cb8f
092cb8f
092cb8f
%changelog
376ad00
%autochangelog