Compare commits

..

107 Commits
epel9 ... f39

Author SHA1 Message Date
Fedora Release Engineering 56d46a48b3 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
2 years ago
Artur Frenszek-Iwicki 234f449dc9 Add missing run-time dependencies
2 years ago
Artur Frenszek-Iwicki 9ed292cc64 Edit dependencies
2 years ago
Artur Frenszek-Iwicki cc41a61374 Add "Obsoletes:" for upgrades from F37/F38
2 years ago
Artur Frenszek-Iwicki 839ee2eae5 F39 Change: Lazarus repackaging
2 years ago
Artur Frenszek-Iwicki 68b1c5436c Update to v2.2.6
2 years ago
Fedora Release Engineering ea27e099ec Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
2 years ago
Artur Frenszek-Iwicki c11edb4db0 Update to v2.2.4
2 years ago
Fedora Release Engineering b7e3a070b3 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
3 years ago
Artur Frenszek-Iwicki e9ee0250c3 Update to v2.2.2
3 years ago
Artur Frenszek-Iwicki df10bff0a3 Update the sources file for v2.2.0
3 years ago
Artur Frenszek-Iwicki 71fe63c874 Update to v2.2.0
3 years ago
Fedora Release Engineering 3255e2c744 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
3 years ago
Fedora Release Engineering 28f7fb0c14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
4 years ago
Artur Frenszek-Iwicki a82dcf8ee7 Rebuilt for FPC 3.2.2
4 years ago
Artur Frenszek-Iwicki 0a5134bf1a Update to 2.0.12
4 years ago
Artur Frenszek-Iwicki 46c98517ac Fix FailsToInstall
4 years ago
Fedora Release Engineering 35b03c4b5d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
4 years ago
Artur Frenszek-Iwicki 0e7fca86d1 Add an appdata file
4 years ago
Tom Stellard a9cb3ea6fb Add BuildRequires: make
4 years ago
Artur Iwicki 64f893b3dd Make the package explicitly require "make"
5 years ago
Artur Iwicki 69b8825075 Fix FailsToInstall
5 years ago
Fedora Release Engineering ca5833cbcd - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
5 years ago
Artur Iwicki 1d964fad96 Update to v2.0.10
5 years ago
Artur Iwicki fdd9ab8c02 Rebuilt for FPC 3.2.0
5 years ago
Artur Iwicki 7a9d5627e4 Rebuilt for FPC 3.2.0-beta-svn45533
5 years ago
Artur Iwicki 00dcc93526 Rebuilt for FPC 3.2.0-beta-svn45235
5 years ago
Artur Iwicki 04e889b4bb Update to v.2.0.8
5 years ago
Artur Iwicki edfef6aa1b Rebuilt for FPC 3.2.0-beta-svn44680
5 years ago
Artur Iwicki 22f6cf4e68 Rebuild for FPC-3.2.0-beta-svn44375
5 years ago
Artur Iwicki 81f3484942 Rebuild for FPC-3.2.0-beta-svn44301
5 years ago
Artur Iwicki 12a846f46f Rebuild for FPC-3.2.0-beta-svn44232
5 years ago
Artur Iwicki ebf6595a29 Rebuild for FPC-3.2.0-beta-svn44160
5 years ago
Artur Iwicki 835ccadd9e Add a patch to address build failures in Rawhide
5 years ago
Artur Iwicki cb1a646bfd Rebuild Lazarus for FPC 3.2.0-beta-r44109
5 years ago
Artur Iwicki a210b3913d Rebuild Lazarus for FPC 3.2.0-beta-r44092
5 years ago
Artur Iwicki eb03132047 Disable PascalScript on ppc64le
5 years ago
Fedora Release Engineering 9472aafedb - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
5 years ago
Artur Iwicki d23a6b0712 Update to upstream release v.2.0.6
5 years ago
Artur Iwicki 688ad41013 Make Lazarus depend on qt5pas-devel instead of bundling the .so files
5 years ago
Artur Iwicki 7259073004 One more fix for the qt5pas/qt5pas-devel nvr mismatch
5 years ago
Artur Iwicki 368ca95760 Fix qt5pas and qt5pas-devel nvr mismatch
6 years ago
Artur Iwicki 5e6f373600 Update to upstream version 2.0.4
6 years ago
Fedora Release Engineering 322ae37353 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
6 years ago
Artur Iwicki 1a9b987b3f Update to upstream release 2.0.2
6 years ago
Artur Iwicki c0fef87fbc Update to upstream release 2.0.0
6 years ago
Fedora Release Engineering e3d9ea63c9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
6 years ago
Igor Gnatenko 2ec6e9a962 Remove obsolete scriptlets
6 years ago
Artur Iwicki 0114e83d7a Auto-calculate qt5pas release number from Lazarus version.release number
6 years ago
Artur Iwicki d89b9f94b6 Update to upstream version 1.8.4
7 years ago
Artur Iwicki f21946b7f9 Minor adjustments to the qt5pas package in spec
7 years ago
Vasiliy Glazov cf9b2b7da9 Added qt5pas subpackage
7 years ago
Fedora Release Engineering f13d8c5f0e - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
7 years ago
Jason Tibbitts 1e076c3e15 Remove needless use of %defattr
7 years ago
Joost van der Sluis 4513642c1e Update to upstream version 1.8.2
7 years ago
Artur Iwicki 9399a13247 Update to upstream version 1.8.0
7 years ago
Igor Gnatenko bea959b100
Remove %clean section
7 years ago
Fedora Release Engineering 5e18695e3a - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
7 years ago
Fedora Release Engineering eb8627e58e - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
8 years ago
Fedora Release Engineering ac93b03499 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
8 years ago
Joost van der Sluis 5e00d468d3 Updated to version 1.6.4
8 years ago
Joost van der Sluis 8c2f1ef69a Disable PascalScript on Powerpc64
8 years ago
Björn Esser f911132b1d Rebuilt for changes in 'ExclusiveArch: %%{fpc_arches}'
8 years ago
Joost van der Sluis d70836180c Compile exclusively on platforms supported by fpc (rhbz#1247925)
8 years ago
Joost van der Sluis 176af00a04 Added proper Lazarus source-file
8 years ago
Joost van der Sluis 0f0bac2090 Updated to version 1.6.2
8 years ago
Petr Písař 949b8137a4 Mandatory Perl build-requires added <https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl>
9 years ago
Dennis Gilmore 2e5545869d - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
9 years ago
Joost van der Sluis 2720be1f7a Updated to version 1.6RC1
9 years ago
Joost van der Sluis bcc16fe936 Updated to version 1.4.4
9 years ago
Joost van der Sluis db6a803bd8 Updated to version 1.4.2
10 years ago
Dennis Gilmore 966429bd14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
10 years ago
Joost van der Sluis d34dfde616 Updated to version 1.4
10 years ago
Joost van der Sluis 5bacab52f1 Updated to version 1.4RC2
10 years ago
Rex Dieter b372b54491 update scriptlets
11 years ago
Peter Robinson 5c4dbc1449 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
11 years ago
Dennis Gilmore 89f205c28a - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
11 years ago
Joost van der Sluis b87807f6bb Updated to version 1.2
11 years ago
Joost van der Sluis 1b87ac53a3 Updated to version 1.0.14
11 years ago
Joost van der Sluis da8b64ef6b Rebuilt for arm
12 years ago
Dennis Gilmore 7fa2cb4cce - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
12 years ago
Petr Písař 2704e58221 Perl 5.18 rebuild
12 years ago
Joost van der Sluis 5a0b5dc473 Updated to version 1.0.8
12 years ago
Jon Ciesla 20d0ccb8f5 Drop vendor tag.
12 years ago
Dennis Gilmore 651e87de85 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
12 years ago
Tom Callaway 1d5364f963 update to 1.0.4
12 years ago
Dennis Gilmore 128751736a - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
13 years ago
Joost van der Sluis 62991ab24b Updated to version 0.9.30.4
13 years ago
Joost van der Sluis 3dd17a6cc5 Updated to version 0.9.30.2
13 years ago
Dennis Gilmore b39109d35c - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
13 years ago
Joost van der Sluis 68068e9750 - Updated to version 0.9.30
14 years ago
Dennis Gilmore 5777983850 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
14 years ago
Lubomir Rintel ea1ec02839 Remove manpages compression patch
14 years ago
Lubomir Rintel 769c9866d2 Fix LazarusVersion substitution in configuration (#650622)
14 years ago
Fedora Release Engineering 958bae4f14 dist-git conversion
15 years ago
Joost van der Sluis 649029f6ab - Updated to version 0.9.28.2
15 years ago
Bill Nottingham c7c2f066ca Fix typo that causes a failure to update the common directory. (releng
15 years ago
Joost van der Sluis 766a0082bb - Updated to version 0.9.28
16 years ago
Jesse Keating 2fe7056fed - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
16 years ago
Dan Horák 5b46fb1f7f - Exclude s390/s390x architectures, FPC doesn't exist there
16 years ago
Joost van der Sluis 809b9b5e44 - Adapted Makefile patch for version 0.9.26.2
16 years ago
Joost van der Sluis 32b32adc9e - Updated to version 0.9.26.2
16 years ago
Jesse Keating ec4552bf0f - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
16 years ago
Michael Schwendt c7c78a41fc - Include /etc/lazarus directory.
16 years ago
Lubomir Rintel a410922438 - Fix path to the source tree
17 years ago
Joost van der Sluis 8e0217ce42 - Updated to version 0.9.26
17 years ago
Joost van der Sluis c1d624ff0e tue Jun 19 2008 Joost van der Sluis <joost@cnoc.nl> 0.9.24-4
17 years ago

@ -0,0 +1,38 @@
--- lazarus/components/Makefile 2023-04-21 11:01:56.498437134 +0200
+++ lazarus/components/Makefile.patched 2023-04-23 10:42:38.023110927 +0200
@@ -1684,10 +1684,10 @@
$(MAKE) -C sqldb
$(MAKE) -C PascalScript/Source
$(MAKE) -C macroscript
$(MAKE) -C lclextensions
- $(MAKE) -C virtualtreeview
- $(MAKE) -C onlinepackagemanager
+# $(MAKE) -C virtualtreeview
+# $(MAKE) -C onlinepackagemanager
$(MAKE) -C pas2js
all: base
clean:
$(MAKE) -C lazutils clean
@@ -1729,10 +1729,10 @@
$(MAKE) -C sqldb clean
$(MAKE) -C PascalScript/Source clean
$(MAKE) -C macroscript clean
$(MAKE) -C lclextensions clean
- $(MAKE) -C virtualtreeview clean
- $(MAKE) -C onlinepackagemanager clean
+# $(MAKE) -C virtualtreeview clean
+# $(MAKE) -C onlinepackagemanager clean
$(MAKE) -C pas2js clean
cleanall: clean
distclean:
$(MAKE) -C lazutils distclean
@@ -1774,7 +1774,7 @@
$(MAKE) -C sqldb distclean
$(MAKE) -C PascalScript/Source distclean
$(MAKE) -C macroscript distclean
$(MAKE) -C lclextensions distclean
- $(MAKE) -C virtualtreeview distclean
- $(MAKE) -C onlinepackagemanager distclean
+# $(MAKE) -C virtualtreeview distclean
+# $(MAKE) -C onlinepackagemanager distclean
$(MAKE) -C pas2js distclean

@ -1,21 +0,0 @@
# Makefile for source rpm: lazarus
# $Id$
NAME := lazarus
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

@ -1,33 +1,46 @@
Name: lazarus Name: lazarus
Summary: Lazarus Component Library and IDE for Freepascal Summary: Lazarus Component Library and IDE for Free Pascal
Version: 2.2.6 Version: 2.2.6
%global baserelease 1 %global baserelease 5
Release: %{baserelease}%{?dist} Release: %{baserelease}%{?dist}
# The qt5pas version is taken from lcl/interfaces/qt5/cbindings/Qt5Pas.pro # The qt5pas version is taken from lcl/interfaces/qt5/cbindings/Qt5Pas.pro
%global qt5pas_version 2.6 %global qt5pas_version 2.6
%global qt5pas_release %(relstr="%{version}.%{baserelease}"; relstr=(${relstr//./ }); ((relno=${relstr[0]}*1000000 + ${relstr[1]}*10000 + ${relstr[2]}*100 + ${relstr[3]})); echo "${relno}%{?dist}";) %global qt5pas_release %(relstr="%{version}.%{baserelease}"; relstr=(${relstr//./ }); ((relno=${relstr[0]}*1000000 + ${relstr[1]}*10000 + ${relstr[2]}*100 + ${relstr[3]})); echo "${relno}%{?dist}";)
# The IDE itself is licensed under GPLv2+, with minor parts under the modified LGPL.
# The Lazarus Component Library has parts licensed under all the licenses mentioned in the tag.
#
# GNU Classpath style exception, see COPYING.modifiedLGPL # GNU Classpath style exception, see COPYING.modifiedLGPL
License: GPL-2.0-or-later AND LGPL-2.0 WITH Classpath-exception-2.0 AND MPL-1.1 %global license_doc GPL-2.0-or-later
%global license_tools GPL-2.0-or-later
%global license_ide GPL-2.0-or-later AND LGPL-2.0 WITH Classpath-exception-2.0
%global license_lcl GPL-2.0-or-later AND LGPL-2.0 WITH Classpath-exception-2.0 AND MPL-1.1 AND Apache-2.0
License: %{license_lcl}
URL: http://www.lazarus-ide.org/ URL: http://www.lazarus-ide.org/
Source0: https://downloads.sourceforge.net/project/%{name}/Lazarus%20Zip%20_%20GZip/Lazarus%20%{version}/%{name}-%{version}-0.tar.gz Source0: https://downloads.sourceforge.net/project/%{name}/Lazarus%20Zip%20_%20GZip/Lazarus%20%{version}/%{name}-%{version}-0.tar.gz
Source100: lazarus.appdata.xml Source100: lazarus.appdata.xml
# Some components fail to build with the "qt" widget set.
# This file is listed as Source, not Patch, as we will manually apply and revert it during the build process.
Source9999: 9999-qt-disable-broken-components.patch
# Lazarus wants to put arch-specific stuff in /usr/share - make it go in /usr/lib istead # Lazarus wants to put arch-specific stuff in /usr/share - make it go in /usr/lib istead
Patch0: 0000-Makefile_patch.diff Patch0: 0000-Makefile_patch.diff
# Fix build errors for GTK3 widgetset # Fix build errors for GTK3 widgetset
Patch2: 0002-fix-GTK3-build-error.patch Patch2: 0002-fix-GTK3-build-error.patch
# -- Build-time dependencies
BuildRequires: binutils BuildRequires: binutils
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: fpc BuildRequires: fpc
BuildRequires: fpc-src BuildRequires: fpc-src
BuildRequires: fpc-srpm-macros
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: glibc-devel BuildRequires: glibc-devel
BuildRequires: gtk2-devel BuildRequires: gtk2-devel
@ -37,21 +50,159 @@ BuildRequires: perl-generators
BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtx11extras-devel BuildRequires: qt5-qtx11extras-devel
Requires: binutils # -- Run-time dependencies.
Requires: fpc%{?_isa} # Since "lazarus" is a metapackage, it puts strong requirements on the
# default set of sub-packages. Users not interested in the default set
# can omit the metapackage and install individual sub-packages
# as they see fit.
Requires: %{name}-ide%{?_isa} = %{version}-%{release}
Requires: %{name}-lcl%{?_isa} = %{version}-%{release}
Requires: %{name}-lcl-nogui%{?_isa} = %{version}-%{release}
Requires: %{name}-lcl-gtk2%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
# For smooth upgrade from F38 or older. Can be removed in F41.
Obsoletes: lazarus < 2.2.6-2
ExclusiveArch: %{fpc_arches}
%description
Lazarus is an IDE to create (graphical and console) applications with
Free Pascal, the (L)GPLed Pascal and Object Pascal compiler that runs on
Windows, Linux, Mac OS X, FreeBSD and more.
Lazarus is the missing part of the puzzle that will allow you to develop
programs for all of the above platforms in a Delphi-like environment.
The IDE is a RAD tool that includes a form designer.
Unlike Java's "write once, run anywhere" motto, Lazarus and Free Pascal
strive for "write once, compile anywhere". Since the exact same compiler
is available on all of the above platforms you don't need to do any recoding
to produce identical products for different platforms.
In short, Lazarus is a free RAD tool for Free Pascal using its
Lazarus Component Library (LCL).
%package ide
Summary: Lazarus RAD IDE for Free Pascal
License: %{license_ide}
Requires: %{name}-lcl%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
Recommends: %{name}-doc = %{version}-%{release}
Requires: fpc-src Requires: fpc-src
Requires: gdb Requires: gdb
Requires: hicolor-icon-theme
Requires: make Requires: make
%description ide
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package provides the Lazarus RAD IDE.
%package tools
Summary: Lazarus IDE helper programs
License: %{license_tools}
Requires: binutils
Requires: fpc%{?_isa}
Requires: glibc-devel%{?_isa} Requires: glibc-devel%{?_isa}
%description tools
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package provides helper programs used for building Lazarus projects.
%package doc
Summary: Lazarus IDE documentation
License: %{license_doc}
# For smooth upgrade from F38 or older. Can be removed in F41.
Obsoletes: lazarus < 2.2.6-2
%description doc
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package contains documentation and example programs for the Lazarus IDE.
%package lcl
Summary: Lazarus Component Library
Recommends: %{name}-lcl-nogui%{?_isa} = %{version}-%{release}
Recommends: %{name}-lcl-gtk2%{?_isa} = %{version}-%{release}
%description lcl
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package contains the common parts of the Lazarus Component Library.
%package lcl-nogui
Summary: Lazarus Component Library - non-graphical components
Requires: %{name}-lcl%{?_isa} = %{version}-%{release}
%description lcl-nogui
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package contains LCL components for developing non-graphical applications
and command-line tools.
%package lcl-gtk2
Summary: Lazarus Component Library - GTK2 widgetset support
Requires: %{name}-lcl%{?_isa} = %{version}-%{release}
Requires: gtk2-devel%{?_isa} Requires: gtk2-devel%{?_isa}
%description lcl-gtk2
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package contains LCL components for developing applications
using the GTK2 widgetset.
%package lcl-gtk3
Summary: Lazarus Component Library - GTK2 widgetset support
Requires: %{name}-lcl%{?_isa} = %{version}-%{release}
Requires: gtk3-devel%{?_isa}
%description lcl-gtk3
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package contains LCL components for developing applications
using the GTK3 widgetset.
%package lcl-qt
Summary: Lazarus Component Library - Qt widgetset support
Requires: %{name}-lcl%{?_isa} = %{version}-%{release}
Requires: qt-devel%{?_isa}
Requires: qt4pas-devel%{?_isa}
%description lcl-qt
Lazarus is a cross-platform IDE and component library for Free Pascal.
This package contains LCL components for developing applications
using the Qt widgetset.
%package lcl-qt5
Summary: Lazarus Component Library - Qt5 widgetset support
Requires: %{name}-lcl%{?_isa} = %{version}-%{release}
Requires: qt5pas-devel%{?_isa} = %{qt5pas_version}-%{qt5pas_release} Requires: qt5pas-devel%{?_isa} = %{qt5pas_version}-%{qt5pas_release}
ExclusiveArch: %{fpc_arches} %description lcl-qt5
Lazarus is a cross-platform IDE and component library for Free Pascal.
%description This package contains LCL components for developing applications
A free and open-source RAD tool for Free Pascal using the Lazarus using the Qt5 widgetset.
Component Library - LCL, which is also included in this package.
# Qt5pas start # Qt5pas start
@ -67,6 +218,9 @@ Qt5 bindings for Pascal from Lazarus.
Version: %{qt5pas_version} Version: %{qt5pas_version}
Release: %{qt5pas_release} Release: %{qt5pas_release}
Summary: Development files for qt5pas Summary: Development files for qt5pas
Requires: qt5-qtbase-devel%{?_isa}
Requires: qt5-qtx11extras-devel%{?_isa}
Requires: qt5pas%{?_isa} = %{qt5pas_version}-%{qt5pas_release} Requires: qt5pas%{?_isa} = %{qt5pas_version}-%{qt5pas_release}
%description -n qt5pas-devel %description -n qt5pas-devel
@ -75,28 +229,71 @@ developing applications that use qt5pas.
# Qt5pas end # Qt5pas end
# 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 %prep
%setup -c -q %autosetup -c -p1
%patch0 -p1
%patch2 -p1
%build %build
cd lazarus cd lazarus
# Remove the files for building other packages # Remove the files for building other packages
rm -rf debian rm -rf debian
cd tools pushd tools
find install -depth -type d ! \( -path "install/linux/*" -o -path "install/linux" -o -path "install" \) -exec rm -rf '{}' \; find install -depth -type d ! \( -path "install/linux/*" -o -path "install/linux" -o -path "install" \) -exec rm -rf '{}' \;
cd .. popd
# Re-create the Makefiles
export FPCDIR=%{_datadir}/fpcsrc/ export FPCDIR=%{_datadir}/fpcsrc/
fpcmake -Tall fpcmake -Tall
cd components pushd components
fpcmake -Tall fpcmake -Tall
cd .. popd
make bigide OPT='-gl -gw'
make tools OPT='-gl -gw' # Compile some basic targets required by everything else
make registration lazutils codetools %{fpmakeopt}
# Compile LCL base (Lazarus Component Library) for the "nogui" widgetset
make lcl basecomponents %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM=nogui
# Compile tools (lazbuild, etc.)
make tools %{fpmakeopt} OPT='%{fpcopt}'
# Compile the LCL base + extra components for GUI widgetsets
for WIDGETSET in gtk2 gtk3 qt5; do
make lcl basecomponents bigidecomponents %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM="${WIDGETSET}"
done
# The qt widgetset is, unfortunately, a special case.
for WIDGETSET in qt; do
make lcl basecomponents %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM="${WIDGETSET}"
# bigidecomponents: the "virtualtreeview" component contains some in-line assembly.
# Each widgetset has its own bit of assembly. Unfortunately, for the "qt" widgetset,
# only x86 assembly is provided. We use this patch to disable the offending components.
%ifnarch %{ix86} x86_64
patch -p1 < %{SOURCE9999}
%endif
make bigidecomponents %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM="${WIDGETSET}"
# Revert the patch before proceeding.
%ifnarch %{ix86} x86_64
patch -R -p1 < %{SOURCE9999}
%endif
done
# Compile the IDE itself
# TODO: Could try building the IDE with multiple widgetsets, as well!
make bigide %{fpmakeopt} OPT='%{fpcopt}' LCL_PLATFORM=gtk2
# Build Qt5Pas
pushd lcl/interfaces/qt5/cbindings/ pushd lcl/interfaces/qt5/cbindings/
%{qmake_qt5} %{qmake_qt5}
%make_build %make_build
@ -106,6 +303,9 @@ popd
%install %install
make -C lazarus install INSTALL_PREFIX=%{buildroot}%{_prefix} _LIB=%{_lib} make -C lazarus install INSTALL_PREFIX=%{buildroot}%{_prefix} _LIB=%{_lib}
# Remove man page for an executable that is not actually installed.
rm %{buildroot}%{_mandir}/man1/svn2revisioninc.1* || true
desktop-file-install \ desktop-file-install \
--dir %{buildroot}%{_datadir}/applications \ --dir %{buildroot}%{_datadir}/applications \
lazarus/install/%{name}.desktop lazarus/install/%{name}.desktop
@ -128,8 +328,8 @@ popd
# Since we provide Qt5Pas as a standalone package, remove the .so files bundled in Lazarus dir # 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. # and replace them with symlinks to the standalone .so.
for FILEPATH in $(ls %{buildroot}%{_libdir}/%{name}/lcl/interfaces/qt5/cbindings/libQt5Pas.so*); do for FILEPATH in %{buildroot}%{_libdir}/%{name}/lcl/interfaces/qt5/cbindings/libQt5Pas.so* ; do
FILENAME=$(basename "$FILEPATH") FILENAME="$(basename "${FILEPATH}")"
ln -sf "%{_libdir}/${FILENAME}" "${FILEPATH}" ln -sf "%{_libdir}/${FILENAME}" "${FILEPATH}"
done done
@ -142,23 +342,138 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdat
%files %files
%doc lazarus/README.md # No files, but we want to build the "lazarus" metapackage
%license lazarus/COPYING*
%{_libdir}/%{name}
%{_bindir}/%{name}-ide %files doc
%{_bindir}/startlazarus %dir %{_libdir}/%{name}
%{_libdir}/%{name}/docs
%{_libdir}/%{name}/examples
%license lazarus/COPYING.GPL.txt
%files tools
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/lazbuild
%{_libdir}/%{name}/packager/
%{_libdir}/%{name}/tools/
%{_bindir}/lazbuild %{_bindir}/lazbuild
%{_bindir}/lazres %{_bindir}/lazres
%{_bindir}/lrstolfm %{_bindir}/lrstolfm
%{_bindir}/updatepofiles %{_bindir}/updatepofiles
%dir %{_sysconfdir}/lazarus
%config(noreplace) %{_sysconfdir}/lazarus/environmentoptions.xml
%license lazarus/COPYING.GPL.txt
%{_mandir}/man1/lazbuild.1*
%{_mandir}/man1/lazres.1*
%{_mandir}/man1/lrstolfm.1*
%{_mandir}/man1/updatepofiles.1*
# -- IDE files
%files ide
%{_libdir}/%{name}
# Exclude -docs files
%exclude %{_libdir}/%{name}/docs
%exclude %{_libdir}/%{name}/examples
# Exclude -lcl files
%exclude %{_libdir}/%{name}/components
%exclude %{_libdir}/%{name}/lcl
# Exclude -tools files
%exclude %{_libdir}/%{name}/lazbuild
%exclude %{_libdir}/%{name}/packager
%exclude %{_libdir}/%{name}/tools
%{_bindir}/lazarus-ide
%{_bindir}/startlazarus
%{_datadir}/pixmaps/lazarus.png %{_datadir}/pixmaps/lazarus.png
%{_datadir}/applications/*%{name}.desktop %{_datadir}/applications/*%{name}.desktop
%{_datadir}/mime/packages/lazarus.xml %{_datadir}/mime/packages/lazarus.xml
%{_datadir}/icons/hicolor/48x48/mimetypes/* %{_datadir}/icons/hicolor/48x48/mimetypes/*
%{_metainfodir}/%{name}.appdata.xml %{_metainfodir}/%{name}.appdata.xml
%dir %{_sysconfdir}/lazarus
%config(noreplace) %{_sysconfdir}/lazarus/environmentoptions.xml %doc lazarus/README.md
%{_mandir}/*/* %license lazarus/COPYING.txt
%license lazarus/COPYING.LGPL.txt
%license lazarus/COPYING.modifiedLGPL.txt
%{_mandir}/man1/lazarus-ide.1*
%{_mandir}/man1/startlazarus.1*
# -- LCL files
# Helper macro to reduce repetitions (lcl, basecomponents)
%define lcl_base_files(n:) %{expand:
%{*} %{_libdir}/%{name}/components/*/design/lib/*-linux/%{-n*}/
%{*} %{_libdir}/%{name}/components/*/lib/*-linux/%{-n*}/
%{*} %{_libdir}/%{name}/components/*/units/*-linux/%{-n*}/
%{*} %{_libdir}/%{name}/lcl/interfaces/%{-n*}/
%{*} %{_libdir}/%{name}/lcl/units/*/%{-n*}/
}
# Some files are not present for nogui (bigidecomponents)
%define lcl_extra_files(n:) %{expand:
%{*} %{_libdir}/%{name}/components/*/design/units/*-linux/%{-n*}/
%{*} %{_libdir}/%{name}/components/*/include/%{-n*}/
%{*} %{_libdir}/%{name}/components/*/include/intf/%{-n*}/
%{*} %{_libdir}/%{name}/components/*/lib/*-linux-%{-n*}/
%{*} %{_libdir}/%{name}/components/*/units/%{-n*}/
%{*} %{_libdir}/%{name}/components/chmhelp/packages/help/lib/*-linux/%{-n*}/
%{*} %{_libdir}/%{name}/components/chmhelp/packages/idehelp/lib/*-linux/%{-n*}/
%{*} %{_libdir}/%{name}/components/fpcunit/ide/lib/*-linux/%{-n*}/
%{*} %{_libdir}/%{name}/components/jcf2/IdePlugin/lazarus/lib/*-linux/%{-n*}/
}
# -- LCL base
%files lcl
%license lazarus/COPYING.txt
%license lazarus/COPYING.LGPL.txt
%license lazarus/COPYING.modifiedLGPL.txt
%license %{_libdir}/%{name}/lcl/interfaces/customdrawn/android/ApacheLicense2.0.txt
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/components/
%{_libdir}/%{name}/lcl/
%lcl_base_files -n nogui %exclude
%lcl_base_files -n gtk2 %exclude
%lcl_extra_files -n gtk2 %exclude
%lcl_base_files -n gtk3 %exclude
%lcl_extra_files -n gtk3 %exclude
%lcl_base_files -n qt %exclude
%lcl_extra_files -n qt %exclude
%lcl_base_files -n qt5 %exclude
%lcl_extra_files -n qt5 %exclude
# -- LCL widgetsets
%files lcl-nogui
%lcl_base_files -n nogui
%files lcl-gtk2
%lcl_base_files -n gtk2
%lcl_extra_files -n gtk2
%files lcl-gtk3
%lcl_base_files -n gtk3
%lcl_extra_files -n gtk3
%files lcl-qt
%lcl_base_files -n qt
%lcl_extra_files -n qt
%files lcl-qt5
%lcl_base_files -n qt5
%lcl_extra_files -n qt5
# -- Qt5pas
%files -n qt5pas %files -n qt5pas
%license lazarus/lcl/interfaces/qt5/cbindings/COPYING.TXT %license lazarus/lcl/interfaces/qt5/cbindings/COPYING.TXT
@ -170,14 +485,31 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdat
%changelog %changelog
* Wed Mar 22 2023 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.6-1 * Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 04 2023 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.6-4
- Add missing dependencies to lcl-qt and lcl-qt5 packages
* Sat Jul 01 2023 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.6-3
- Move /etc/lazarus from lazarus-ide to lazarus-tools (files required by lazbuild)
- Edit dependencies - make the lazarus metapackage strongly require the default set of sub-packages
* Thu Jun 08 2023 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.6-2
- Put the IDE, LCL and documentation in separate packages
- Move lazbuild and other tools to a separate sub-package
- Apart from the default GTK2, build the LCL with GTK3, Qt and Qt5
- Use multiple jobs during the build
- Add Obsoletes: for smooth upgrade from F37/F38
* Wed Mar 08 2023 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.6-1
- Update to v2.2.6 - Update to v2.2.6
- Add a patch to fix build errors when using the GTK3 widgetset - Add a patch to fix build errors when using the GTK3 widgetset
- Convert License tag to SPDX - Convert License tag to SPDX
- Drop Patch1 (fix components explicitly requesting STABS debuginfo - fixed upstream) - Drop Patch1 (fix components explicitly requesting STABS debuginfo - fixed upstream)
* Tue Oct 04 2022 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.4-2 * Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.4-2
- Add an explicit dependency on fpc-srpm-macros - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Sep 27 2022 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.4-1 * Tue Sep 27 2022 Artur Frenszek-Iwicki <fedora@svgames.pl> - 2.2.4-1
- Update to v2.2.4 - Update to v2.2.4

Loading…
Cancel
Save