From 688ad41013e2b80b69cfd25567c71f39fab71571 Mon Sep 17 00:00:00 2001 From: Artur Iwicki Date: Sun, 20 Oct 2019 11:09:12 +0200 Subject: [PATCH] Make Lazarus depend on qt5pas-devel instead of bundling the .so files --- lazarus.spec | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/lazarus.spec b/lazarus.spec index 67c2c14..bd30af4 100644 --- a/lazarus.spec +++ b/lazarus.spec @@ -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 - 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 - 2.0.4-3 - This time really fix the qt5pas and qt5pas-devel nvr mismatch