%global shortname uranium-lulzbot Name: python-%{shortname} Version: 2.6.63 Release: 2%{?dist} Summary: A Python framework for building desktop applications (Lulzbot fork) # UM/SortedList.py is ASL 2.0 # Everything else is AGPLv3+ License: AGPLv3+ and ASL 2.0 URL: https://code.alephobjects.com/diffusion/U/repository/master/ # git clone https://code.alephobjects.com/diffusion/U/uranium.git # cd uranium # git checkout v2.6.63 # git archive --format=tar.gz --prefix=uranium-lulzbot-%%{version}/ v2.6.63 > ../uranium-lulzbot-%%{version}.tar.gz Source0: uranium-lulzbot-%{version}.tar.gz # Cannot conflict Patch1: uranium-lulzbot-2.6.19-system.patch # Fix tests Patch2: uranium-lulzbot-2.6.63-fix-test.patch BuildRequires: python3-devel BuildRequires: /usr/bin/doxygen BuildRequires: /usr/bin/msgmerge BuildRequires: cmake BuildRequires: git # Tests BuildRequires: python3-arcus >= 2.6 BuildRequires: python3-numpy BuildRequires: python3-scipy BuildRequires: python3-qt5 BuildRequires: python3-pytest BuildArch: noarch # There are Python plugins in /usr/lib/uranium # We need to byte-compile it with Python 3 %global __python %{__python3} %description Uranium is a Python framework for building 3D printing related applications. %package -n python3-uranium-lulzbot Summary: %{summary} %{?python_provide:%python_provide python3-uranium-lulzbot} Requires: python3-arcus >= 2.6 Requires: python3-numpy Requires: python3-scipy Requires: python3-qt5 Recommends: python3-numpy-stl %description -n python3-uranium-lulzbot Uranium is a Python framework for building 3D printing related applications. This is the Lulzbot fork. %package doc Summary: Documentation for %{name} package %description doc Documentation for Uranium, a Python framework for building 3D printing related applications. This is for the Lulzbot fork. %prep %setup -q -n uranium-lulzbot-%{version} %patch1 -p1 -b .system %patch2 -p1 -b .fixtest # Upstream installs to lib/python3/dist-packages # We want to install to %%{python3_sitelib} sed -i 's|lib/python${PYTHON_VERSION_MAJOR}/dist-packages|%(echo %{python3_sitelib} | sed -e s@%{_prefix}/@@)|g' CMakeLists.txt # Invalid locale name ptbr # https://github.com/Ultimaker/Uranium/issues/246 mv resources/i18n/{ptbr,pt_BR} sed -i 's/"Language: ptbr\n"/"Language: pt_BR\n"/' resources/i18n/pt_BR/*.po # empty file. appending to the end to make sure we are not overriding # a non empty file in the future echo '# empty' >> UM/Settings/ContainerRegistryInterface.py %build %{cmake} . make %{?_smp_mflags} make doc %install make install DESTDIR=%{buildroot} # Move the cmake files mv %{buildroot}%{_datadir}/cmake* %{buildroot}%{_datadir}/cmake # remove conflict mv %{buildroot}%{_datadir}/cmake/Modules/UraniumTranslationTools.cmake %{buildroot}%{_datadir}/cmake/Modules/LulzbotUraniumTranslationTools.cmake # Sanitize the location of locale files pushd %{buildroot}%{_datadir} mv %{shortname}/resources/i18n locale ln -s ../../locale %{shortname}/resources/i18n rm locale/uranium.pot rm locale/*/uranium.po for i in locale/*/LC_MESSAGES; do pushd $i mv uranium.mo uranium-lulzbot.mo popd done popd %find_lang uranium-lulzbot %check pip3 freeze # The failing tests are reported at: # https://github.com/Ultimaker/Uranium/issues/225 # Skipping %{__python3} -m pytest -v -k "not getMimeTypeForFile" %files -n python3-uranium-lulzbot -f uranium-lulzbot.lang %license LICENSE %doc README.md %dir %{python3_sitelib}/CuraLulzbot %{python3_sitelib}/CuraLulzbot/UM %{_datadir}/%{shortname} # Own the dir not to depend on cmake: %{_datadir}/cmake %{_prefix}/lib/%{shortname} %files doc %license LICENSE %doc html %changelog * Wed Jan 10 2018 Tom Callaway - 2.6.63-2 - add explicit text to summaries/descriptions to make clear this is a fork - own %%{python3_sitelib}/CuraLulzbot - correct license tag - rename translation files to avoid conflict * Wed Jan 3 2018 Tom Callaway - 2.6.63-1 - update to 2.6.63 * Fri Dec 8 2017 Tom Callaway - 2.6.52-1 - update to 2.6.52 * Fri Oct 27 2017 Tom Callaway - 2.6.43-1 - update to 2.6.43 * Fri Oct 27 2017 Tom Callaway - 2.6.29-1 - update to 2.6.29 * Wed Aug 23 2017 Tom Callaway - 2.6.23-1 - update to 2.6.23 * Wed Aug 16 2017 Tom Callaway - 2.6.22-2 - fix python 3 version hardcoding in patch * Mon Aug 14 2017 Tom Callaway - 2.6.22-1 - update to 2.6.22 * Tue Aug 8 2017 Tom Callaway - 2.6.21-2 - fix namespacing (thanks to Miro Hrončok) * Tue Aug 8 2017 Tom Callaway - 2.6.21-1 - update to 2.6.21 * Thu Jul 27 2017 Tom Callaway - 2.6.19-1 - make lulzbot specific package * Wed Jun 28 2017 Miro Hrončok - 2.6.1-2 - Fix the test_uniqueName test failure * Wed Jun 28 2017 Miro Hrončok - 2.6.1-1 - Update to 2.6.1 - Skip test_uniqueName test (reported) * Tue Jun 27 2017 Miro Hrončok - 2.6.0-1 - Update to 2.6.0 * Wed May 03 2017 Miro Hrončok - 2.5.0-2 - Actually include the cmake files (needed for cura) * Wed Apr 26 2017 Miro Hrončok - 2.5.0-1 - Initial package