145 lines
4.1 KiB
RPMSpec
145 lines
4.1 KiB
RPMSpec
Name: python-uranium
|
|
Version: 5.6.0
|
|
Release: %autorelease
|
|
Summary: A Python framework for building desktop applications
|
|
License: LGPL-3.0-or-later
|
|
URL: https://github.com/Ultimaker/Uranium
|
|
Source: %{url}/archive/%{version}.tar.gz#/Uranium-%{version}.tar.gz
|
|
Patch: Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch
|
|
# Fix asserts for called once in Python 3.12:
|
|
Patch: https://github.com/Ultimaker/Uranium/pull/885.patch#/Uranium-5.3.0-python3.12.patch
|
|
# Force test order to fix FTBFS with pytest 8
|
|
# From https://github.com/Ultimaker/Uranium/pull/941
|
|
Patch: Uranium-5.6.0-pytest8.patch
|
|
# Fix for Python 3.14
|
|
Patch: https://github.com/Ultimaker/Uranium/pull/997.patch
|
|
|
|
# Cmake bits taken from 4.13.1, before upstream went nuts with conan
|
|
Source2: mod_bundled_packages_json.py
|
|
Source3: UraniumPluginInstall.cmake
|
|
Source4: UraniumTests.cmake
|
|
Source5: UraniumTranslationTools.cmake
|
|
Source6: CMakeLists.txt
|
|
Source7: CPackConfig.cmake
|
|
Source8: Doxyfile
|
|
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-pip
|
|
BuildRequires: /usr/bin/doxygen
|
|
BuildRequires: /usr/bin/msgmerge
|
|
BuildRequires: cmake
|
|
BuildRequires: git-core
|
|
|
|
# UM/PluginRegistry.py imports from imp
|
|
# https://github.com/Ultimaker/Uranium/issues/765
|
|
# https://github.com/Ultimaker/Uranium/pull/915
|
|
BuildRequires: (python3-zombie-imp if python3 >= 3.12)
|
|
|
|
# Tests
|
|
BuildRequires: python3-arcus >= 5.3.0
|
|
BuildRequires: python3-cryptography
|
|
BuildRequires: python3-numpy
|
|
BuildRequires: python3-scipy
|
|
BuildRequires: python3-shapely
|
|
BuildRequires: python3-pyclipper
|
|
BuildRequires: python3-pyqt6-devel
|
|
BuildRequires: python3-pytest
|
|
BuildRequires: python3-pytest-benchmark
|
|
BuildRequires: python3-twisted
|
|
|
|
BuildArch: noarch
|
|
|
|
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
|
ExcludeArch: %{ix86}
|
|
|
|
%description
|
|
Uranium is a Python framework for building 3D printing related applications.
|
|
|
|
%package -n python3-uranium
|
|
Summary: %{summary}
|
|
Provides: uranium = %{version}-%{release}
|
|
|
|
Requires: python3-arcus >= 5.3.0
|
|
Requires: python3-cryptography
|
|
Requires: python3-numpy
|
|
Requires: python3-scipy
|
|
Requires: python3-shapely
|
|
Requires: python3-pyclipper
|
|
Requires: python3-pyqt6
|
|
Requires: (python3-zombie-imp if python3 >= 3.12)
|
|
Recommends: python3-numpy-stl
|
|
|
|
%description -n python3-uranium
|
|
Uranium is a Python framework for building 3D printing related applications.
|
|
|
|
%package doc
|
|
Summary: Documentation for %{name} package
|
|
|
|
%description doc
|
|
Documentation for Uranium, a Python framework for building 3D printing
|
|
related applications.
|
|
|
|
%prep
|
|
%autosetup -n Uranium-%{version} -p1 -S git
|
|
|
|
mkdir cmake
|
|
cp -a %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} cmake/
|
|
rm -rf CMakeLists.txt
|
|
cp -a %{SOURCE6} %{SOURCE7} %{SOURCE8} .
|
|
|
|
# fix compile-shaders
|
|
sed -i 's|qsb |qsb-qt6 |g' scripts/compile-shaders
|
|
|
|
%build
|
|
# there is no arch specific content, so we set LIB_SUFFIX to nothing
|
|
# see https://github.com/Ultimaker/Uranium/commit/862a246bdfd7e25541b04a35406957612c6f4bb7
|
|
%cmake -DLIB_SUFFIX:STR=
|
|
%cmake_build
|
|
%cmake_build -- doc
|
|
|
|
%check
|
|
%{python3} -m pip freeze
|
|
|
|
# skipping failing tests, see:
|
|
# * https://github.com/Ultimaker/Uranium/issues/594
|
|
# * https://github.com/Ultimaker/Uranium/issues/603
|
|
%{python3} -m pytest -v -k "not (TestSettingFunction and test_init_bad) and not TestHttpRequestManager"
|
|
|
|
|
|
%install
|
|
%cmake_install
|
|
|
|
# Move the cmake files
|
|
mv %{buildroot}%{_datadir}/cmake* %{buildroot}%{_datadir}/cmake
|
|
|
|
# Sanitize the location of locale files
|
|
pushd %{buildroot}%{_datadir}
|
|
mv uranium/resources/i18n locale
|
|
ln -s ../../locale uranium/resources/i18n
|
|
rm locale/uranium.pot
|
|
rm locale/*/uranium.po
|
|
popd
|
|
|
|
# Bytecompile the plugins
|
|
%py_byte_compile %{python3} %{buildroot}%{_prefix}/lib/uranium
|
|
|
|
%find_lang uranium
|
|
|
|
|
|
%files -n python3-uranium -f uranium.lang
|
|
%license LICENSE
|
|
%doc README.md
|
|
%{python3_sitelib}/UM
|
|
%{_datadir}/uranium
|
|
# Own the dir not to depend on cmake:
|
|
%{_datadir}/cmake
|
|
%{_prefix}/lib/uranium
|
|
|
|
|
|
%files doc
|
|
%license LICENSE
|
|
%doc html
|
|
|
|
|
|
%changelog
|
|
%autochangelog
|