Make Lazarus depend on qt5pas-devel instead of bundling the .so files

f39
Artur Iwicki 5 years ago
parent 7259073004
commit 688ad41013

@ -1,8 +1,13 @@
Name: lazarus
Version: 2.0.4
Release: 3%{?dist}
Summary: Lazarus Component Library and IDE for Freepascal
Version: 2.0.4
Release: 4%{?dist}
# The qt5pas version is taken from lcl/interfaces/qt5/cbindings/Qt5Pas.pro
%global qt5pas_version 2.6
%global qt5pas_release %(relstr="%{version}.%{release}"; relstr=(${relstr//./ }); ((relno=${relstr[0]}*1000000 + ${relstr[1]}*10000 + ${relstr[2]}*100 + ${relstr[3]})); echo "${relno}%{?dist}";)
# GNU Classpath style exception, see COPYING.modifiedLGPL
License: GPLv2+ and MPLv1.1 and LGPLv2+ with exceptions
URL: http://www.lazarus-ide.org/
@ -19,7 +24,14 @@ BuildRequires: gtk2-devel
BuildRequires: perl-generators
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtx11extras-devel
Requires: fpc-src, fpc, binutils, glibc-devel, gdb, gtk2-devel
Requires: binutils
Requires: fpc%{?_isa}
Requires: fpc-src
Requires: gdb
Requires: glibc-devel%{?_isa}
Requires: gtk2-devel%{?_isa}
Requires: qt5pas-devel%{?_isa} = %{qt5pas_version}-%{qt5pas_release}
ExclusiveArch: %{fpc_arches}
@ -27,11 +39,8 @@ ExclusiveArch: %{fpc_arches}
A free and open-source RAD tool for Free Pascal using the Lazarus
Component Library - LCL, which is also included in this package.
# Qt5pas start
# The version is taken from lcl/interfaces/qt5/cbindings/Qt5Pas.pro
%global qt5pas_version 2.6
%global qt5pas_release %(relstr="%{version}.%{release}"; relstr=(${relstr//./ }); ((relno=${relstr[0]}*1000000 + ${relstr[1]}*10000 + ${relstr[2]}*100 + ${relstr[3]})); echo "${relno}%{?dist}";)
# Qt5pas start
%package -n qt5pas
Version: %{qt5pas_version}
Release: %{qt5pas_release}
@ -78,6 +87,7 @@ pushd lcl/interfaces/qt5/cbindings/
%make_build
popd
%install
rm -rf %{buildroot}
@ -98,6 +108,17 @@ pushd lazarus/lcl/interfaces/qt5/cbindings/
%make_install INSTALL_ROOT=%{buildroot}
popd
# Since we provide Qt5Pas as a standalone package, remove the .so files bundled in Lazarus dir
# and replace them with symlinks to the standalone .so.
for FILEPATH in $(ls %{buildroot}%{_libdir}/%{name}/lcl/interfaces/qt5/cbindings/libQt5Pas.so*); do
FILENAME=$(basename "$FILEPATH")
ln -sf "%{_libdir}/${FILENAME}" "${FILEPATH}"
done
# Cannot be done earlier since "make install" expects the tmp/ directory to be present. Sigh.
rm -rf %{buildroot}%{_libdir}/%{name}/lcl/interfaces/qt5/cbindings/tmp/
%files
%{_libdir}/%{name}
%{_bindir}/%{name}-ide
@ -126,6 +147,10 @@ popd
%changelog
* Sun Oct 20 2019 Artur Iwicki <fedora@svgames.pl> - 2.0.4-4
- Make Lazarus depend on qt5pas-devel instead of bundling the .so files
- Do not install the tmp/ folder left over after building qt5pas
* Fri Oct 11 2019 Artur Iwicki <fedora@svgames.pl> - 2.0.4-3
- This time really fix the qt5pas and qt5pas-devel nvr mismatch

Loading…
Cancel
Save