public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/lazarus] multiple-IDE-widgetsets: Make Lazarus depend on qt5pas-devel instead of bundling the .so files
@ 2026-07-23 8:17 Artur Iwicki
0 siblings, 0 replies; only message in thread
From: Artur Iwicki @ 2026-07-23 8:17 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/lazarus
Branch : multiple-IDE-widgetsets
Commit : 688ad41013e2b80b69cfd25567c71f39fab71571
Author : Artur Iwicki <fedora@svgames.pl>
Date : 2019-10-20T11:09:12+02:00
Stats : +32/-7 in 1 file(s)
URL : https://src.fedoraproject.org/rpms/lazarus/c/688ad41013e2b80b69cfd25567c71f39fab71571?branch=multiple-IDE-widgetsets
Log:
Make Lazarus depend on qt5pas-devel instead of bundling the .so files
---
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 <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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-23 8:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-23 8:17 [rpms/lazarus] multiple-IDE-widgetsets: Make Lazarus depend on qt5pas-devel instead of bundling the .so files Artur Iwicki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox