2005-08-05 15:15:37 +00:00
|
|
|
Name: fpc
|
2008-06-30 21:55:00 +00:00
|
|
|
Version: 2.2.2
|
2008-10-26 19:23:32 +00:00
|
|
|
Release: 3%{?dist}
|
2005-08-05 15:15:37 +00:00
|
|
|
Summary: Free Pascal Compiler
|
|
|
|
|
|
|
|
Group: Development/Languages
|
2008-06-30 21:55:00 +00:00
|
|
|
License: GPLv2+ and LGPLv2+ with exceptions
|
2005-08-05 15:15:37 +00:00
|
|
|
URL: http://www.freepascal.org/
|
2008-08-13 20:43:10 +00:00
|
|
|
Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}build-%{version}.tar.gz
|
2007-10-16 22:07:40 +00:00
|
|
|
# This is only needed when useprebuiltcompiler is defined.
|
|
|
|
# But it's not in an 'if defined' block, since the file has to be included in the srpm
|
2008-06-30 21:55:00 +00:00
|
|
|
# Thus you should enable this line when useprebuildcompiler is defined for any target
|
|
|
|
# Source1: http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz
|
2007-10-15 20:08:16 +00:00
|
|
|
Patch0: %{name}-%{version}-samplecfg_32and64bit.patch
|
2007-10-16 13:48:53 +00:00
|
|
|
Patch1: %{name}-%{version}-build-id.patch
|
2007-10-16 21:35:29 +00:00
|
|
|
Patch2: %{name}-%{version}-fpcdocs.patch
|
2008-10-20 20:54:45 +00:00
|
|
|
Patch3: %{name}-%{version}-stackexecute.patch
|
|
|
|
Patch4: %{name}-%{version}-gtk2-r11651.patch
|
2005-08-05 15:15:37 +00:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
|
2007-10-15 20:08:16 +00:00
|
|
|
Requires: gpm, glibc, ncurses, binutils
|
2007-10-16 09:04:59 +00:00
|
|
|
%if ! %{defined useprebuiltcompiler}
|
|
|
|
BuildRequires: fpc
|
|
|
|
%endif
|
|
|
|
BuildRequires: tetex, tetex-latex, tetex-fonts, binutils, gpm-devel, glibc-devel
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
%description
|
|
|
|
|
|
|
|
Freepascal is a free 32/64bit Pascal Compiler. It comes with a run-time
|
2007-10-15 20:08:16 +00:00
|
|
|
library and is fully compatible with Turbo Pascal 7.0 and nearly Delphi
|
|
|
|
compatible. Some extensions are added to the language, like function
|
|
|
|
overloading and generics. Shared libraries can be linked. This package
|
|
|
|
contains commandline compiler and utils. Provided units are the runtime
|
|
|
|
library (RTL), free component library (FCL) and the base and extra packages.
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
%package doc
|
2007-10-15 20:08:16 +00:00
|
|
|
Summary: Freepascal Compiler - documentation and examples
|
|
|
|
Group: Documentation
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
%description doc
|
|
|
|
|
|
|
|
The fpc-doc package contains the documentation (in pdf format) and examples
|
|
|
|
of Freepascal.
|
|
|
|
|
|
|
|
%package src
|
2007-10-15 20:08:16 +00:00
|
|
|
Summary: Freepascal Compiler - sources
|
2005-08-05 15:15:37 +00:00
|
|
|
Group: Development/Languages
|
|
|
|
|
|
|
|
%description src
|
|
|
|
|
|
|
|
The fpc-src package contains the sources of Freepascal, for documentation or
|
|
|
|
automatical-code generation purposes.
|
|
|
|
|
2007-10-16 21:35:29 +00:00
|
|
|
%define smart _smart
|
|
|
|
|
2005-08-05 15:15:37 +00:00
|
|
|
%ifarch ppc
|
|
|
|
%define ppcname ppcppc
|
2008-10-26 19:23:32 +00:00
|
|
|
%define fpcdebugopt -gl
|
2005-08-05 15:15:37 +00:00
|
|
|
%else
|
|
|
|
%ifarch x86_64
|
|
|
|
%define ppcname ppcx64
|
2007-10-15 20:08:16 +00:00
|
|
|
%else
|
|
|
|
%ifarch ppc64
|
|
|
|
%define ppcname ppcppc64
|
2005-08-05 15:15:37 +00:00
|
|
|
%else
|
|
|
|
%define ppcname ppc386
|
2008-10-26 19:23:32 +00:00
|
|
|
%define fpcdebugopt -gl
|
2007-10-15 20:08:16 +00:00
|
|
|
%endif
|
2005-08-05 15:15:37 +00:00
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%prep
|
2007-10-16 09:04:59 +00:00
|
|
|
%if %{defined useprebuiltcompiler}
|
2007-10-15 20:08:16 +00:00
|
|
|
%setup -a1 -n fpcbuild-%{version} -q
|
|
|
|
%else
|
2008-08-13 20:43:10 +00:00
|
|
|
%setup -n fpcbuild-%{version} -q
|
2007-10-15 20:08:16 +00:00
|
|
|
%endif
|
|
|
|
%patch0
|
2007-10-16 13:48:53 +00:00
|
|
|
%patch1
|
2007-10-16 21:35:29 +00:00
|
|
|
%patch2
|
2008-10-20 20:54:45 +00:00
|
|
|
%patch3
|
|
|
|
%patch4
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
%build
|
2007-10-15 20:08:16 +00:00
|
|
|
# The source-files:
|
|
|
|
mkdir -p fpc_src
|
|
|
|
cp -a fpcsrc/rtl fpc_src
|
|
|
|
cp -a fpcsrc/packages fpc_src
|
|
|
|
rm -rf fpc_src/packages/extra/amunits
|
|
|
|
rm -rf fpc_src/packages/extra/winunits
|
|
|
|
|
2007-10-16 09:04:59 +00:00
|
|
|
%if %{defined useprebuiltcompiler}
|
2007-10-15 20:08:16 +00:00
|
|
|
STARTPP=`pwd`/startcompiler/%{ppcname}
|
|
|
|
%else
|
2005-12-21 11:07:45 +00:00
|
|
|
STARTPP=%{ppcname}
|
2007-10-15 20:08:16 +00:00
|
|
|
%endif
|
2008-10-26 19:23:32 +00:00
|
|
|
%define fpcopt -k"--build-id -z noexecstack"
|
2007-10-15 20:08:16 +00:00
|
|
|
cd fpcsrc
|
2005-08-05 15:15:37 +00:00
|
|
|
NEWPP=`pwd`/compiler/%{ppcname}
|
|
|
|
NEWFPDOC=`pwd`/utils/fpdoc/fpdoc
|
|
|
|
DATA2INC=`pwd`/utils/data2inc
|
2008-10-26 19:23:32 +00:00
|
|
|
make compiler_cycle FPC=${STARTPP} OPT='%{fpcopt} %{fpcdebugopt}'
|
|
|
|
make rtl_clean rtl%{smart} FPC=${NEWPP} OPT='%{fpcopt}'
|
|
|
|
make packages%{smart} FPC=${NEWPP} OPT='%{fpcopt}'
|
|
|
|
make ide_all FPC=${NEWPP} OPT='%{fpcopt} %{fpcdebugopt}'
|
|
|
|
make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC} OPT='%{fpcopt} %{fpcdebugopt}'
|
2006-09-15 17:24:10 +00:00
|
|
|
|
2005-12-21 11:07:45 +00:00
|
|
|
cd ..
|
2007-10-15 20:08:16 +00:00
|
|
|
make -C fpcdocs pdf FPC=${NEWPP} FPDOC=${NEWFPDOC}
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
%install
|
|
|
|
rm -rf %{buildroot}
|
2005-12-21 11:07:45 +00:00
|
|
|
cd fpcsrc
|
2005-08-05 15:15:37 +00:00
|
|
|
FPCMAKE=`pwd`/utils/fpcm/fpcmake
|
|
|
|
NEWPP=`pwd`/compiler/%{ppcname}
|
|
|
|
INSTALLOPTS="FPC=${NEWPP} FPCMAKE=${FPCMAKE} \
|
|
|
|
INSTALL_PREFIX=%{buildroot}%{_prefix} \
|
|
|
|
INSTALL_LIBDIR=%{buildroot}%{_libdir} \
|
2007-10-15 20:08:16 +00:00
|
|
|
INSTALL_BASEDIR=%{buildroot}%{_libdir}/%{name}/%{version} \
|
|
|
|
CODPATH=%{buildroot}%{_libdir}/%{name}/lexyacc \
|
2005-08-05 15:15:37 +00:00
|
|
|
INSTALL_DOCDIR=%{buildroot}%{_defaultdocdir}/%{name}-%{version} \
|
|
|
|
INSTALL_BINDIR=%{buildroot}%{_bindir}
|
2007-10-15 20:08:16 +00:00
|
|
|
INSTALL_EXAMPLEDIR=%{buildroot}%{_defaultdocdir}/%{name}-%{version}/examples"
|
2005-08-05 15:15:37 +00:00
|
|
|
make compiler_distinstall ${INSTALLOPTS}
|
|
|
|
make rtl_distinstall ${INSTALLOPTS}
|
|
|
|
make packages_distinstall ${INSTALLOPTS}
|
|
|
|
make ide_distinstall ${INSTALLOPTS}
|
|
|
|
make utils_distinstall ${INSTALLOPTS}
|
2005-12-21 11:07:45 +00:00
|
|
|
cd ../install
|
|
|
|
make -C doc ${INSTALLOPTS}
|
|
|
|
make -C man ${INSTALLOPTS} INSTALL_MANDIR=%{buildroot}%{_mandir}
|
|
|
|
cd ..
|
|
|
|
make -C fpcdocs pdfinstall ${INSTALLOPTS}
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
# create link
|
|
|
|
ln -sf ../%{_lib}/%{name}/%{version}/%{ppcname} %{buildroot}%{_bindir}/%{ppcname}
|
|
|
|
|
2007-10-15 20:08:16 +00:00
|
|
|
# Create a version independent config
|
|
|
|
%{buildroot}/%{_libdir}/%{name}/%{version}/samplecfg %{_exec_prefix}/. %{buildroot}%{_sysconfdir}
|
|
|
|
|
|
|
|
# Include the COPYING-information for the compiler/rtl/fcl in the documentation
|
2005-12-21 11:07:45 +00:00
|
|
|
cp -a fpcsrc/compiler/COPYING %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING
|
|
|
|
cp -a fpcsrc/rtl/COPYING %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.rtl
|
|
|
|
cp -a fpcsrc/rtl/COPYING.FPC %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.FPC
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
# The source-files:
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/fpcsrc
|
2007-10-15 20:08:16 +00:00
|
|
|
cp -a fpc_src/* %{buildroot}%{_datadir}/fpcsrc/
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
# Workaround:
|
|
|
|
# newer rpm versions do not allow garbage
|
|
|
|
# delete lexyacc
|
|
|
|
rm -rf %{buildroot}%{_libdir}/%{name}/lexyacc
|
|
|
|
|
|
|
|
%clean
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%{_bindir}/*
|
|
|
|
%{_libdir}/%{name}
|
2007-10-15 20:08:16 +00:00
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}.cfg
|
|
|
|
%dir %{_defaultdocdir}/%{name}-%{version}/
|
2005-08-05 15:15:37 +00:00
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/NEWS
|
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/README
|
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/readme.ide
|
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/faq*
|
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/COPYING*
|
|
|
|
%{_mandir}/*/*
|
|
|
|
|
|
|
|
%files doc
|
|
|
|
%defattr(-,root,root,-)
|
2007-10-15 20:08:16 +00:00
|
|
|
%dir %{_defaultdocdir}/%{name}-%{version}/
|
2005-08-05 15:15:37 +00:00
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/*.pdf
|
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/examples
|
|
|
|
|
|
|
|
%files src
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%{_datadir}/fpcsrc
|
|
|
|
|
|
|
|
%changelog
|
2008-10-26 19:23:32 +00:00
|
|
|
* Sat Oct 25 2008 Joost van der Sluis <joost@cnoc.nl> 2.2.2-3
|
|
|
|
- Do not distribute the RTL and packages with debug-info included
|
|
|
|
- Fix the location of the fpc-binary in the samplecfg script
|
|
|
|
|
2008-10-20 20:54:45 +00:00
|
|
|
* Sun Oct 19 2008 Joost van der Sluis <joost@cnoc.nl> 2.2.2-2
|
|
|
|
- Pass -z noexecstack to the linker from within the configuration file fpc.cfg (fpc-bug #11563)
|
|
|
|
- Added patch to fix fpc-bug #11837 for usage with newer gtk2-versions
|
|
|
|
|
2008-08-13 20:43:10 +00:00
|
|
|
* Wed Aug 13 2008 Joost van der Sluis <joost@cnoc.nl> 2.2.2-1
|
|
|
|
- Updated to version 2.2.2
|
|
|
|
- Disabled debuginfo for ppc64 again
|
|
|
|
- Detect 32 or 64 bit compilation in the configuration file fpc.cfg
|
|
|
|
|
2008-06-30 21:55:00 +00:00
|
|
|
* Sun Jun 22 2008 Joost van der Sluis <joost@cnoc.nl> 2.2.2rc1-1
|
|
|
|
- Updated to version 2.2.2rc1
|
|
|
|
- Enabled debuginfo for ppc64 again
|
|
|
|
- Do not strip the debugdata on x86_64 anymore
|
|
|
|
- Packages_base, packages_fcl and packages_extra are merged into packages
|
|
|
|
- Don't install packages_fv separately anymore
|
|
|
|
- Fix for incorrect path in official fpc 2.2.2rc1-sourcefile
|
|
|
|
- Updated licence-tag from "GPL and modified LGPL" to fedora-tag "GPLv2+ and LGPLv2+ with exceptions"
|
|
|
|
- Removed UsePrebuildcompiler define for ppc64
|
|
|
|
|
2008-04-17 16:43:26 +00:00
|
|
|
* Wed Apr 16 2008 Joost van der Sluis <joost@cnoc.nl> 2.2.0-12
|
|
|
|
- Fix for DWARF-debug generation - fixes some more build problems on x86_64 and F9, bugzilla 337051
|
|
|
|
|
2008-02-19 06:57:30 +00:00
|
|
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.2.0-11
|
|
|
|
- Autorebuild for GCC 4.3
|
|
|
|
|
2007-10-17 15:05:08 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-10
|
2007-10-17 15:00:18 +00:00
|
|
|
- Strip the debuginfo from grab_vcsa and ppudump, since debugedit chokes on it
|
|
|
|
- Only strip debugdata on x86_64
|
|
|
|
|
2007-10-17 14:02:33 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-9
|
|
|
|
- Strip the debuginfo from mkxmlrpc, since debugedit chokes on it
|
|
|
|
|
2007-10-17 13:30:28 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-8
|
|
|
|
- Strip the debuginfo from h2pas, since debugedit chokes on it
|
|
|
|
|
2007-10-16 22:07:40 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-7
|
|
|
|
- Include the startcompiler on all targets, for the srpm-building
|
|
|
|
|
2007-10-16 21:37:48 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-6
|
2007-10-16 21:35:29 +00:00
|
|
|
- Disabled debuginfo for ppc64 only
|
|
|
|
- Enabled smart-linking on ppc64
|
|
|
|
- Added a patch for building documentation without fpc already installed
|
|
|
|
|
2007-10-16 18:41:35 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-5
|
|
|
|
- Disabled debuginfo
|
|
|
|
|
2007-10-16 13:48:53 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-4
|
|
|
|
- Enabled BuildId, added it to fpc.cfg
|
|
|
|
|
2007-10-16 09:36:06 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-3
|
|
|
|
- Disabled smart-linking on ppc64
|
|
|
|
|
2007-10-16 09:04:59 +00:00
|
|
|
* Mon Oct 16 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-2
|
|
|
|
- Buildrequirement fpc is not needed when using a pre-built compiler binary
|
|
|
|
|
2007-10-15 20:08:16 +00:00
|
|
|
* Sun Oct 14 2007 Joost van der Sluis <joost@cnoc.nl> 2.2.0-1
|
|
|
|
- Updated to version 2.2.0
|
|
|
|
- Updated description
|
|
|
|
- Enabled smart-linking for ppc
|
|
|
|
- Do not include the built binary-files in fpc-src
|
|
|
|
- Added support for ppc64
|
|
|
|
- Added support to configuration file for dual 32/64 bit installations
|
|
|
|
- Fixed and enabled debug-package
|
|
|
|
|
2006-09-16 13:57:27 +00:00
|
|
|
* Sat Sep 16 2006 Joost van der Sluis <joost@cnoc.nl> 2.0.4-2
|
|
|
|
- Fixed documentation building on powerpc
|
|
|
|
|
|
|
|
* Fri Sep 15 2006 Joost van der Sluis <joost@cnoc.nl> 2.0.4-1
|
2006-09-15 17:24:10 +00:00
|
|
|
- Updated to version 2.0.4
|
|
|
|
|
2006-03-01 10:07:28 +00:00
|
|
|
* Wed Mar 1 2006 Joost van der Sluis <joost@cnoc.nl> 2.0.2-4
|
2006-03-01 10:05:07 +00:00
|
|
|
- Rebuild for Fedora Extras 5
|
|
|
|
|
2005-12-21 14:41:57 +00:00
|
|
|
* Tue Dec 20 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.2-3
|
|
|
|
- Disabled smart-linking for ppc
|
|
|
|
|
2005-12-21 11:16:51 +00:00
|
|
|
* Tue Dec 20 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.2-2
|
|
|
|
- Updated fpc-2.0.2-G5.patch
|
|
|
|
|
2005-12-21 11:07:45 +00:00
|
|
|
* Tue Dec 20 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.2-1
|
|
|
|
- Updated to version 2.0.2
|
|
|
|
|
2005-08-17 16:33:51 +00:00
|
|
|
* Wed Aug 17 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-4
|
|
|
|
- Added %%{?dist} to release.
|
|
|
|
|
2005-08-17 15:01:01 +00:00
|
|
|
* Wed Aug 17 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-3
|
|
|
|
- replaced the ppcpcc-2.1.1 startcompilercompiler for the
|
|
|
|
ppcppc-2.0.0 startcompiler
|
|
|
|
|
2005-08-17 14:17:59 +00:00
|
|
|
* Wed Aug 17 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-2
|
|
|
|
- Added a patch for compilation on POWER5, and provided
|
|
|
|
the new ppcppc binary/startcompiler
|
|
|
|
|
2005-08-05 15:15:37 +00:00
|
|
|
* Fri Aug 5 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-1
|
|
|
|
- Removed gpm-devel requirement
|
|
|
|
- Fixed a type in the -src description
|
|
|
|
|
|
|
|
* Tue Jul 28 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-1
|
|
|
|
- Added some requirements
|
|
|
|
- Added COPYING-info to %%doc
|
|
|
|
|
|
|
|
* Tue Jun 28 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-0.6
|
|
|
|
- Only rtl, fcl and packages are added to src-subpackage
|
|
|
|
- Silenced post-script
|
|
|
|
- disabled the debuginfo-package
|
|
|
|
|
|
|
|
* Sat Jun 5 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-0.5
|
|
|
|
- Added doc-subpackage
|
|
|
|
- Added src-subpackage
|
|
|
|
|
|
|
|
* Fri Jun 3 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-0.4
|
|
|
|
- New fix for lib64 on x86_64
|
|
|
|
- small patches from Jens Petersen <petersen@redhat.com>
|
|
|
|
|
|
|
|
* Thu May 26 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-0.3
|
|
|
|
- replaced 'lib' and 'lib64' by %%{_lib}
|
|
|
|
|
|
|
|
* Tue May 24 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-0.2
|
|
|
|
- Fixed for lib64 on x86_64
|
|
|
|
- Changed summary, description and license
|
|
|
|
- Removed examples from installation
|
|
|
|
- Make clean removed from clean-section
|
|
|
|
- Clean-up
|
|
|
|
- replaced $RPM_BUILD_ROOT by %%{buildroot}
|
|
|
|
|
|
|
|
* Mon May 23 2005 Joost van der Sluis <joost@cnoc.nl> 2.0.0-0.1
|
|
|
|
- Initial build.
|