mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 22:09:29 +02:00
117 lines
3.1 KiB
RPMSpec
117 lines
3.1 KiB
RPMSpec
Name: fpc
|
|
Version: 1.9.2
|
|
Release: 0
|
|
ExclusiveArch: i386 i586 i686
|
|
Copyright: GPL
|
|
Group: Development/Languages
|
|
Source: %{name}-%{version}-src.tar.gz
|
|
Summary: Free Pascal Compiler
|
|
Packager: Peter Vreman (peter@freepascal.org)
|
|
URL: http://www.freepascal.org/
|
|
BuildRoot: %{_tmppath}/fpc-build
|
|
BuildRequires: fpc
|
|
|
|
%define fpcdir %{_libdir}/fpc/%{version}
|
|
%define docdir %{_docdir}/fpc-%{version}
|
|
%define exampledir %{docdir}/examples
|
|
|
|
%define builddocdir %{buildroot}%{docdir}
|
|
%define buildmandir %{buildroot}%{_mandir}
|
|
%define buildbindir %{buildroot}%{_bindir}
|
|
%define buildlibdir %{buildroot}%{_libdir}
|
|
%define buildexampledir %{buildroot}%{exampledir}
|
|
|
|
# The normal redhat rpm scripts does not recognize properly, what files to strip
|
|
# Hook our own strip command
|
|
%define __strip %{buildroot}/smart_strip.sh
|
|
|
|
|
|
%description
|
|
The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32bit
|
|
Pascal Compiler. It comes with fully TP 7.0 compatible run-time library.
|
|
Some extensions are added to the language, like function overloading. Shared
|
|
libraries can be linked. Basic Delphi support is already implemented (classes,
|
|
exceptions,ansistrings,RTTI). This package contains commandline compiler and
|
|
utils. Provided units are the runtime library (RTL), free component library
|
|
(FCL), gtk,ncurses,zlib, mysql,postgres,ibase bindings.
|
|
|
|
###############################################################################
|
|
# fpc.rpm
|
|
#
|
|
|
|
%prep
|
|
%setup -c
|
|
|
|
%build
|
|
NEWPP=`pwd`/compiler/ppc386
|
|
NEWFPDOC=`pwd`/utils/fpdoc/fpdoc
|
|
make compiler_cycle
|
|
make rtl_clean rtl_smart FPC=${NEWPP}
|
|
make packages_base_smart FPC=${NEWPP}
|
|
make fcl_smart FPC=${NEWPP}
|
|
make packages_extra_smart FPC=${NEWPP}
|
|
make utils_all FPC=${NEWPP}
|
|
if [ -z ${NODOCS} ]; then
|
|
make -C docs pdf FPDOC=${NEWFPDOC}
|
|
fi
|
|
|
|
%install
|
|
if [ %{buildroot} != "/" ]; then
|
|
rm -rf %{buildroot}
|
|
fi
|
|
|
|
NEWPP=`pwd`/compiler/ppc386
|
|
INSTALLOPTS="FPC=${NEWPP} INSTALL_PREFIX=%{buildroot}/usr INSTALL_LIBDIR=%{buildlibdir} \
|
|
INSTALL_DOCDIR=%{builddocdir} INSTALL_BINDIR=%{buildbindir} \
|
|
INSTALL_EXAMPLEDIR=%{buildexampledir}"
|
|
make compiler_distinstall ${INSTALLOPTS}
|
|
make rtl_distinstall ${INSTALLOPTS}
|
|
make packages_distinstall ${INSTALLOPTS}
|
|
make fcl_distinstall ${INSTALLOPTS}
|
|
make utils_distinstall ${INSTALLOPTS}
|
|
|
|
make demo_install ${INSTALLOPTS} INSTALL_SOURCEDIR=%{buildexampledir}
|
|
make doc_install ${INSTALLOPTS}
|
|
make man_install ${INSTALLOPTS} INSTALL_PREFIX=%{buildmandir}
|
|
|
|
if [ -z ${NODOCS} ]; then
|
|
make -C docs pdfinstall DOCINSTALLDIR=%{builddocdir}
|
|
fi
|
|
|
|
# create link
|
|
ln -sf %{fpcdir}/ppc386 %{buildroot}%{_bindir}/ppc386
|
|
|
|
# Workaround:
|
|
# newer rpm versions do not allow garbage
|
|
# delete lexyacc
|
|
rm -rf %{buildroot}/usr/lib/fpc/lexyacc
|
|
|
|
|
|
%clean
|
|
make compiler_clean
|
|
make rtl_clean
|
|
make packages_clean
|
|
make fcl_clean
|
|
make utils_clean
|
|
if [ -z ${NODOCS} ]; then
|
|
make -C docs clean
|
|
fi
|
|
|
|
if [ %{buildroot} != "/" ]; then
|
|
rm -rf %{buildroot}
|
|
fi
|
|
|
|
%post
|
|
# Create a version independent config
|
|
%{fpcdir}/samplecfg %{_libdir}/fpc/\$version
|
|
|
|
%files
|
|
%defattr(-, root, root)
|
|
%{_bindir}/*
|
|
%{fpcdir}
|
|
%doc %{docdir}/NEWS
|
|
%doc %{docdir}/README
|
|
%doc %{docdir}/faq*
|
|
%doc %{exampledir}/*
|
|
%{_mandir}/*/*
|