lazarus/lazarus.spec

111 lines
3.5 KiB
RPMSpec

%define majver %(echo %version | cut -d. -f1-2)
Name: lazarus
Version: 3.8
Release: 1mamba
Summary: A Delphi compatible cross-platform IDE for Rapid Application Development
Group: Graphical Desktop/Applications/Development
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.lazarus-ide.org/
Source: http://downloads.sourceforge.net/project/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20%{majver}/lazarus-%{version}-0.tar.gz
License: GPL, LGPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libX11-devel
BuildRequires: libperl
BuildRequires: libqt6pas-devel
BuildRequires: perl-devel
## AUTOBUILDREQ-END
BuildRequires: fpc
BuildRequires: fpc-src
Requires: fpc
%description
Lazarus is a Delphi compatible cross-platform IDE for Rapid Application Development. It has variety of components ready for use and a graphical form designer to easily create complex graphical user interfaces.
# Instruct fpmake to build in parallel
%global fpmakeopt %{?_smp_build_ncpus:FPMAKEOPT='-T %{_smp_build_ncpus}'}
# Preferred compilation options - enable GDB debuginfo in DWARF format, plus some optimisations
%global fpcopt -g -gl -gw -O3
%prep
%setup -q -n %{name}
%build
# Remove the files for building other packages
rm -rf debian
pushd tools
find install -depth -type d ! \( -path "install/linux/*" -o -path "install/linux" -o -path "install" \) -exec rm -rf '{}' \;
popd
# Compile some basic targets required by everything else
make registration %{fpmakeopt} OPT='%{fpcopt}'
# Compile lazbuild - required to build other targets
make lazbuild %{fpmakeopt} OPT='%{fpcopt}'
# Compile LCL base (Lazarus Component Library) for the "nogui" widgetset
make lcl %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM=nogui
# Compile extra tools
make tools %{fpmakeopt} OPT='%{fpcopt}'
export LD_LIBRARY_PATH="$PWD/lcl/interfaces/qt6/cbindings/"
# Compile the LCL base + extra components for GUI widgetsets
for WIDGETSET in gtk3 qt qt6; do
make lcl basecomponents bigidecomponents %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM="${WIDGETSET}"
done
# build Qt6 IDE
make bigide %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM=qt6
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall INSTALL_PREFIX=%{buildroot}%{_prefix} _LIB=%{_lib}
#%find_lang %{name} || touch %{name}.lang
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files
#-f %{name}.lang
%defattr(-,root,root)
%{_bindir}/lazarus-ide
%{_bindir}/lazbuild
%{_bindir}/lazres
%{_bindir}/lrstolfm
%{_bindir}/startlazarus
%{_bindir}/updatepofiles
%{_datadir}/applications/lazarus.desktop
%{_datadir}/icons/hicolor/48x48/mimetypes/*.png
%dir %{_datadir}/lazarus
%{_datadir}/lazarus/*
%{_mandir}/man1/lazarus-ide.1*
%{_mandir}/man1/lazbuild.1*
%{_mandir}/man1/lazres.1*
%{_mandir}/man1/lrstolfm.1*
%{_mandir}/man1/startlazarus.1*
%{_mandir}/man1/svn2revisioninc.1*
%{_mandir}/man1/updatepofiles.1*
%{_datadir}/mime/packages/lazarus.xml
%{_datadir}/pixmaps/lazarus.png
%doc COPYING.GPL.txt COPYING.LGPL.txt COPYING.modifiedLGPL.txt COPYING.txt
%changelog
* Sun Jan 19 2025 Automatic Build System <autodist@openmamba.org> 3.8-1mamba
- automatic version update by autodist
* Wed Nov 27 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 3.6-1mamba
- update to 3.6
* Sat Feb 27 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.0-1mamba
- update to 1.6.0
* Sun Oct 25 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 1.4.4-1mamba
- package created using the webbuild interface