mirror of https://github.com/mosra/magnum.git
Browse Source
Co-authored-by: 1b00 <1b00@pm.me> Co-authored-by: Vladimír Vondruš <mosra@centrum.cz>pull/419/merge
3 changed files with 158 additions and 0 deletions
@ -0,0 +1,28 @@
|
||||
#!/bin/sh |
||||
|
||||
set -e |
||||
|
||||
# Get version slug |
||||
version_hash=$(git describe --match "v*" | sed 's/^v//' | sed 's/-/./g') |
||||
echo "** repository hash: ${version_hash} ..." |
||||
|
||||
# Create dir tree for rpmbuild in user dir |
||||
rpmdev-setuptree |
||||
|
||||
# Archive repository |
||||
(cd ../.. && git archive --format=tar.gz --prefix=magnum-${version_hash}/ -o ~/rpmbuild/SOURCES/magnum-${version_hash}.tar.gz HEAD) |
||||
echo "** created archive: ~/rpmbuild/SOURCES/magnum-${version_hash}.tar.gz" |
||||
sleep 2 |
||||
|
||||
# Replace spec version |
||||
sed -i "s/Version:.\+/Version: ${version_hash}/g" magnum.spec |
||||
echo "** building package version: ${version_hash}" |
||||
|
||||
# Check dependencies |
||||
sudo dnf builddep -y magnum.spec |
||||
|
||||
# Build package |
||||
rpmbuild --define "debug_package %{nil}" --clean -ba magnum.spec |
||||
|
||||
echo "** packages for magnum-${version_hash} complete:" |
||||
ls ~/rpmbuild/RPMS/$(uname -m)/magnum-${version_hash}*.rpm | cat |
||||
@ -0,0 +1,104 @@
|
||||
Name: magnum |
||||
URL: http://magnum.graphics |
||||
Version: 2020.06.2972.g8b832382a |
||||
Release: 1 |
||||
Summary: C++11/C++14 graphics middleware for games and data visualization |
||||
License: MIT |
||||
Source: %{name}-%{version}.tar.gz |
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
||||
Requires: corrade, openal-soft, mesa-libGL, mesa-libEGL, SDL2, glfw, vulkan-loader, glslang |
||||
BuildRequires: cmake, git, gcc-c++, openal-soft-devel, mesa-libGL-devel, mesa-libEGL-devel, SDL2-devel, glfw-devel, vulkan-loader-devel |
||||
# Fedora 35 also seems to need the mesa-vulkan-devel package |
||||
|
||||
%description |
||||
Looking for an open-source library that gives you graphics abstraction |
||||
and platform independence on major desktop, mobile and web platforms? |
||||
Do you want it to have all the convenience utilities around yet stay small, |
||||
powerful and not give up on flexibility? |
||||
|
||||
%package devel |
||||
Summary: Magnum development files |
||||
Requires: %{name} = %{version} |
||||
|
||||
%description devel |
||||
Headers and tools needed for developing with Magnum engine. |
||||
|
||||
%prep |
||||
%setup -c -n %{name}-%{version} |
||||
|
||||
%build |
||||
mkdir build && cd build |
||||
|
||||
# Configure CMake |
||||
cmake ../%{name}-%{version} \ |
||||
-DCMAKE_BUILD_TYPE=Release \ |
||||
-DCMAKE_INSTALL_PREFIX=%{_prefix} \ |
||||
-DMAGNUM_WITH_AUDIO=ON \ |
||||
-DMAGNUM_WITH_VK=ON \ |
||||
-DMAGNUM_WITH_GLFWAPPLICATION=ON \ |
||||
-DMAGNUM_WITH_GLXAPPLICATION=ON \ |
||||
-DMAGNUM_WITH_SDL2APPLICATION=ON \ |
||||
-DMAGNUM_WITH_XEGLAPPLICATION=ON \ |
||||
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON \ |
||||
-DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON \ |
||||
-DMAGNUM_WITH_EGLCONTEXT=ON \ |
||||
-DMAGNUM_WITH_GLXCONTEXT=ON \ |
||||
-DMAGNUM_WITH_OPENGLTESTER=ON \ |
||||
-DMAGNUM_WITH_ANYAUDIOIMPORTER=ON \ |
||||
-DMAGNUM_WITH_ANYIMAGECONVERTER=ON \ |
||||
-DMAGNUM_WITH_ANYIMAGEIMPORTER=ON \ |
||||
-DMAGNUM_WITH_ANYSCENECONVERTER=ON \ |
||||
-DMAGNUM_WITH_ANYSCENEIMPORTER=ON \ |
||||
-DMAGNUM_WITH_ANYSHADERCONVERTER=ON \ |
||||
-DMAGNUM_WITH_MAGNUMFONT=ON \ |
||||
-DMAGNUM_WITH_MAGNUMFONTCONVERTER=ON \ |
||||
-DMAGNUM_WITH_OBJIMPORTER=ON \ |
||||
-DMAGNUM_WITH_TGAIMAGECONVERTER=ON \ |
||||
-DMAGNUM_WITH_TGAIMPORTER=ON \ |
||||
-DMAGNUM_WITH_WAVAUDIOIMPORTER=ON \ |
||||
-DMAGNUM_WITH_DISTANCEFIELDCONVERTER=ON \ |
||||
-DMAGNUM_WITH_FONTCONVERTER=ON \ |
||||
-DMAGNUM_WITH_IMAGECONVERTER=ON \ |
||||
-DMAGNUM_WITH_SCENECONVERTER=ON \ |
||||
-DMAGNUM_WITH_SHADERCONVERTER=ON \ |
||||
-DMAGNUM_WITH_GL_INFO=ON \ |
||||
-DMAGNUM_WITH_VK_INFO=ON \ |
||||
-DMAGNUM_WITH_AL_INFO=ON |
||||
|
||||
make %{?_smp_mflags} |
||||
|
||||
%install |
||||
rm -rf $RPM_BUILD_ROOT |
||||
cd build |
||||
make DESTDIR=$RPM_BUILD_ROOT install |
||||
strip $RPM_BUILD_ROOT/%{_libdir}/*.so* |
||||
strip $RPM_BUILD_ROOT/%{_libdir}/magnum/*/*.so* |
||||
strip $RPM_BUILD_ROOT/%{_bindir}/* |
||||
|
||||
%post -p /sbin/ldconfig |
||||
|
||||
%postun -p /sbin/ldconfig |
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
%files |
||||
%defattr(-,root,root,-) |
||||
%{_bindir}/* |
||||
%{_libdir}/*.a |
||||
%{_libdir}/*.so* |
||||
%{_libdir}/magnum/*/*.so* |
||||
%{_libdir}/magnum/*/*.conf |
||||
|
||||
%doc %{name}-%{version}/COPYING |
||||
|
||||
%files devel |
||||
%defattr(-,root,root,-) |
||||
%{_includedir}/Magnum |
||||
%{_includedir}/MagnumExternal |
||||
%{_includedir}/MagnumPlugins |
||||
%{_datadir}/cmake/Magnum |
||||
%{_datadir}/gdb/python/magnum/ |
||||
|
||||
%changelog |
||||
* Initial release. |
||||
Loading…
Reference in new issue