2005-08-05 15:15:37 +00:00
|
|
|
Name: fpc
|
|
|
|
Version: 2.0.0
|
2005-08-17 14:17:59 +00:00
|
|
|
Release: 2
|
2005-08-05 15:15:37 +00:00
|
|
|
Summary: Free Pascal Compiler
|
|
|
|
|
|
|
|
Group: Development/Languages
|
|
|
|
License: GPL and modified LGPL
|
|
|
|
URL: http://www.freepascal.org/
|
|
|
|
Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}-%{version}.source.tar.gz
|
|
|
|
Source1: http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz
|
2005-08-17 14:17:59 +00:00
|
|
|
Patch0: %{name}-%{version}-G5.patch
|
2005-08-05 15:15:37 +00:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
|
|
|
|
Requires: gpm, glibc, ncurses, binutils
|
|
|
|
BuildRequires: tetex, tetex-latex, tetex-fonts, binutils, gpm-devel, glibc-devel
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
|
|
|
Freepascal is a free 32/64bit Pascal Compiler. It comes with a run-time
|
|
|
|
library fully compatible with Turbo Pascal 7.0 and nearly Delphi compatible.
|
|
|
|
Some extensions are added to the language, like function overloading. Shared
|
|
|
|
libraries can be linked. This package contains commandline compiler and
|
|
|
|
utils. Provided units are the runtime library (RTL), free component library
|
|
|
|
(FCL) and bindings for among others gtk1, gtk2, ncurses, zlib, mysql, postgres
|
|
|
|
and ibase.
|
|
|
|
|
|
|
|
%package doc
|
|
|
|
Summary: Free Pascal Compiler - documentation and examples
|
|
|
|
Group: Development/Languages
|
|
|
|
|
|
|
|
%description doc
|
|
|
|
|
|
|
|
The fpc-doc package contains the documentation (in pdf format) and examples
|
|
|
|
of Freepascal.
|
|
|
|
|
|
|
|
%package src
|
|
|
|
Summary: Free Pascal Compiler - sources
|
|
|
|
Group: Development/Languages
|
|
|
|
|
|
|
|
%description src
|
|
|
|
|
|
|
|
The fpc-src package contains the sources of Freepascal, for documentation or
|
|
|
|
automatical-code generation purposes.
|
|
|
|
|
|
|
|
|
|
|
|
%ifarch ppc
|
|
|
|
%define ppcname ppcppc
|
|
|
|
%else
|
|
|
|
%ifarch x86_64
|
|
|
|
%define ppcname ppcx64
|
|
|
|
%else
|
|
|
|
%define ppcname ppc386
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q -a1 -n %{name}
|
2005-08-17 14:17:59 +00:00
|
|
|
%patch0
|
2005-08-05 15:15:37 +00:00
|
|
|
|
|
|
|
%build
|
|
|
|
# The source-files:
|
|
|
|
mkdir -p fpcsrc
|
|
|
|
cp -a rtl fpcsrc
|
|
|
|
cp -a fcl fpcsrc
|
|
|
|
cp -a packages fpcsrc
|
|
|
|
rm -rf fpcsrc/packages/extra/amunits
|
|
|
|
rm -rf fpcsrc/packages/extra/winunits
|
|
|
|
find fpcsrc -name .cvsignore -exec rm '{}' ';'
|
|
|
|
|
|
|
|
STARTPP=`pwd`/startcompiler/%{ppcname}
|
|
|
|
NEWPP=`pwd`/compiler/%{ppcname}
|
|
|
|
NEWFPDOC=`pwd`/utils/fpdoc/fpdoc
|
|
|
|
DATA2INC=`pwd`/utils/data2inc
|
|
|
|
make compiler_cycle FPC=${STARTPP}
|
|
|
|
make rtl_clean rtl_smart FPC=${NEWPP}
|
|
|
|
make packages_base_smart FPC=${NEWPP}
|
|
|
|
make fcl_smart FPC=${NEWPP}
|
|
|
|
make fv_smart FPC=${NEWPP}
|
|
|
|
make packages_extra_smart FPC=${NEWPP}
|
|
|
|
make ide_all FPC=${NEWPP}
|
|
|
|
make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC}
|
|
|
|
export save_size=40000
|
|
|
|
export pool_size=1250000
|
|
|
|
make -C docs pdf FPC=${NEWPP} FPDOC=${NEWFPDOC}
|
|
|
|
|
|
|
|
# disable the debuginfo package
|
|
|
|
%define debug_package %{nil}
|
|
|
|
%define __spec_install_post /usr/lib/rpm/brp-compress
|
|
|
|
|
|
|
|
%install
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
FPCMAKE=`pwd`/utils/fpcm/fpcmake
|
|
|
|
NEWPP=`pwd`/compiler/%{ppcname}
|
|
|
|
INSTALLOPTS="FPC=${NEWPP} FPCMAKE=${FPCMAKE} \
|
|
|
|
INSTALL_PREFIX=%{buildroot}%{_prefix} \
|
|
|
|
INSTALL_LIBDIR=%{buildroot}%{_libdir} \
|
|
|
|
INSTALL_BASEDIR=%{buildroot}%{_libdir}/%{name}/%{version} \
|
|
|
|
CODPATH=%{buildroot}%{_libdir}/%{name}/lexyacc \
|
|
|
|
INSTALL_DOCDIR=%{buildroot}%{_defaultdocdir}/%{name}-%{version} \
|
|
|
|
INSTALL_BINDIR=%{buildroot}%{_bindir}
|
|
|
|
INSTALL_EXAMPLEDIR=%{buildroot}%{_defaultdocdir}/%{name}-%{version}/examples"
|
|
|
|
make compiler_distinstall ${INSTALLOPTS}
|
|
|
|
make rtl_distinstall ${INSTALLOPTS}
|
|
|
|
make packages_distinstall ${INSTALLOPTS}
|
|
|
|
make fcl_distinstall ${INSTALLOPTS}
|
|
|
|
make fv_distinstall ${INSTALLOPTS}
|
|
|
|
make ide_distinstall ${INSTALLOPTS}
|
|
|
|
make utils_distinstall ${INSTALLOPTS}
|
|
|
|
|
|
|
|
make doc_install ${INSTALLOPTS}
|
|
|
|
make -C docs pdfinstall ${INSTALLOPTS}
|
|
|
|
make man_install ${INSTALLOPTS} INSTALL_MANDIR=%{buildroot}%{_mandir}
|
|
|
|
|
|
|
|
# create link
|
|
|
|
ln -sf ../%{_lib}/%{name}/%{version}/%{ppcname} %{buildroot}%{_bindir}/%{ppcname}
|
|
|
|
|
|
|
|
# Include the COPYING-information in the documentation
|
|
|
|
cp -a compiler/COPYING %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING
|
|
|
|
cp -a rtl/COPYING %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.rtl
|
|
|
|
cp -a fcl/COPYING %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.fcl
|
|
|
|
cp -a rtl/COPYING.FPC %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING.FPC
|
|
|
|
|
|
|
|
# The source-files:
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/fpcsrc
|
|
|
|
cp -a fpcsrc/* %{buildroot}%{_datadir}/fpcsrc/
|
|
|
|
|
|
|
|
# Workaround:
|
|
|
|
# newer rpm versions do not allow garbage
|
|
|
|
# delete lexyacc
|
|
|
|
rm -rf %{buildroot}%{_libdir}/%{name}/lexyacc
|
|
|
|
|
|
|
|
%clean
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
|
|
|
|
%post
|
|
|
|
# Create a version independent config
|
|
|
|
%{_libdir}/%{name}/%{version}/samplecfg %{_libdir}/%{name}/%{version} > /dev/null
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%{_bindir}/*
|
|
|
|
%{_libdir}/%{name}
|
|
|
|
%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,-)
|
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/*.pdf
|
|
|
|
%doc %{_defaultdocdir}/%{name}-%{version}/examples
|
|
|
|
|
|
|
|
%files src
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%{_datadir}/fpcsrc
|
|
|
|
|
|
|
|
%changelog
|
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.
|