Name:     panda3d
Version:  1.10.14
Release:  alt1

Summary:  An utility to test and create a wide range of checksum verification files
License:  BSD-3-Clause
Group:    System/Libraries
Url:      https://github.com/panda3d/panda3d

Packager: Alexander Lubyagin <dfpl@altlinux.org>

Source:   %name-%version.tar

Patch1: alt-catch-exc.patch
Patch2: alt-python3-samples.patch

BuildRequires(pre): rpm-macros-cmake cmake

Requires: python3-module-mysqlclient python3-module-wx python3-module-pmw2
BuildRequires: python3 gcc-c++ bison libopencv-devel zlib-devel libfftw3-devel libfft-devel libpng-devel libssl-devel libopus-devel libopusenc-devel libopusfile-devel libopusurl-devel libvorbis-devel libtiff-devel openexr-devel libjpeg-devel libopenal-devel libsquish-devel libfreetype-devel libswscale-devel libswresample-devel libharfbuzz-devel libassimp-devel libgtk+2-devel libbullet3-devel python3-dev libode-devel rpm-build-python3 vrpn

%description
Panda3D is a game engine, a framework for 3D rendering and game development
for Python and C++ programs.
This package contains panda3d run-time libraries and binaries.

%set_verify_elf_method skip
%add_debuginfo_skiplist %_bindir

%package -n %name-devel
Group: Development/C++
Summary: a software library that lets you quickly design and implement a 3d applications
Requires: %name = %version-%release

%description -n %name-devel
Panda3D is a game engine, a framework for 3D rendering and game development
for Python and C++ programs.
This package contains panda3d headers, python modules and static libraries.

%prep
%setup
%patch1 -p0
%patch2 -p0

%build
RPM_OPT_FLAGS="-Iparser-inc -I/usr/include/bullet" /usr/bin/python3 makepanda/makepanda.py --verbose --everything --no-opencv --threads 2 --no-eigen --no-artoolkit --no-fcollada --no-ffmpeg --no-rocket --no-fftw --no-fmodex --no-nvidiacg --no-gles --no-fcollada

%add_python3_path %{buildroot}%{_datadir}/%name/pandac
%add_python3_path %{buildroot}%{_datadir}/%name/models
%add_python3_path %{buildroot}%{_datadir}/%name/samples
%add_python3_path %{buildroot}%{_datadir}/%name/direct
%add_python3_path %{buildroot}%{_datadir}/%name/plugins

%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}/%name
mkdir -p %{buildroot}%{_includedir}
mkdir -p %{buildroot}%{_datadir}/%name
install -m755 built/bin/* %{buildroot}%{_bindir}/
install -m644 built/lib/* %{buildroot}%{_libdir}/%name/
cp -R built/include %{buildroot}%{_includedir}/%name
cp -R built/models  %{buildroot}%{_datadir}/%name/
cp -R samples       %{buildroot}%{_datadir}/%name/
cp -R built/plugins %{buildroot}%{_datadir}/%name/

mkdir -p %{buildroot}%{python3_sitelibdir}/%name
cp -f built/panda3d/__init__.py            %{buildroot}%{python3_sitelibdir}/%name/
cp -f built/panda3d/*.cpython-*.so     %{buildroot}%{python3_sitelibdir}/%name/
cp -R built/direct %{buildroot}%{python3_sitelibdir}/
cp -R built/pandac %{buildroot}%{python3_sitelibdir}/

mkdir -p %{buildroot}%{_desktopdir}
cp makepanda/pview.desktop %{buildroot}%{_desktopdir}/pview.desktop
cp doc/ReleaseNotes %{buildroot}%{_datadir}/%name/ReleaseNotes

mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo '/usr/share/panda3d' > %{buildroot}%{python3_sitelibdir}/panda3d.pth
cp -R built/panda3d.dist-info %{buildroot}%{python3_sitelibdir}
echo '/usr/lib64/panda3d' > %{buildroot}%{_sysconfdir}/ld.so.conf.d/panda3d.conf

%files -n %name
%_bindir/*
%_libdir/%name/*.so*
%_datadir/%name/
%_sysconfdir/ld.so.conf.d/panda3d.conf
%_desktopdir/*
%python3_sitelibdir/*

%files -n %name-devel
%_libdir/%name/*.a*
%_includedir/*

%changelog
* Fri Mar 15 2024 Alexander Lubyagin <dfpl@altlinux.org> 1.10.14-alt1
- 1.10.14
