added template rpm specs for snapshot rpm building, adapted from examples from Joost

git-svn-id: trunk@7558 -
This commit is contained in:
vincents 2005-08-23 13:49:03 +00:00
parent 87292a147f
commit a3472dac78
3 changed files with 255 additions and 0 deletions

2
.gitattributes vendored
View File

@ -1927,6 +1927,8 @@ tools/install/file_filter.sh -text svneol=native#application/x-sh
tools/install/get_lazarus_version.sh -text svneol=native#application/x-sh
tools/install/macosx/fpc_installer_info.zip -text svneol=unset#application/zip
tools/install/replace_in_files.pl -text svneol=native#application/x-perl
tools/install/rpm/fpc.spec.template svneol=native#text/plain
tools/install/rpm/lazarus.spec.template svneol=native#text/plain
tools/install/setup.sh -text svneol=native#application/x-sh
tools/install/smart_strip.sh -text svneol=native#application/x-sh
tools/install/win32/build-fpc.bat svneol=native#text/x-msdos-program

View File

@ -0,0 +1,188 @@
Name: fpc
Version: 2.0.0
Release: 1
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}-%{release}.source.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#Requires: gpm, gpm-devel, glibc, ncurses, binutils
Requires: glibc, binutils
#BuildRequires: tetex, tetex-latex, tetex-fonts, binutils, gpm-devel, glibc-devel
BuildRequires: binutils, 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-doc 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 -a0 -n %{name}
%setup -q -n %{name}
%build
# The source-files:
mkdir -p fpcsrc
cp -a rtl fpcsrc
cp -a fcl fpcsrc
cp -a packages fpcsrc
rm -rf packages/extra/amunits
rm -rf packages/extra/winunits
STARTPP=`which %{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}
# 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_install ${INSTALLOPTS}
make rtl_install ${INSTALLOPTS}
make packages_install ${INSTALLOPTS}
make fcl_install ${INSTALLOPTS}
#make fv_install ${INSTALLOPTS}
#make ide_install ${INSTALLOPTS}
make utils_install ${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
#cd fpcsrc
#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
#cd -
# 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
* 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.

View File

@ -0,0 +1,65 @@
Name: lazarus
Version: LAZVERSION
Release: LAZRELEASE
Summary: Lazarus Component Library and IDE
Group: Development/Languages
License: GPL and modified LGPL
URL: http://www.lazarus.freepascal.org/
Source0: http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}-%{release}.source.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires:
Requires: fpc-src = FPCVERSION, fpc = FPCVERSION, gdk-pixbuf-devel, gtk+, gtk+-devel, gdb, glibc-devel, gdk-pixbuf
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
%description
Lazarus is a free and opensource RAD tool for freepascal using the lazarus
component library - LCL, which is also included in this package.
%prep
%setup -c
%build
cd lazarus
make OPT="-n @$FPCCfg"
# -Fl/opt/gnome/lib
strip lazarus
strip startlazarus
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_libdir}/%{name}
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/pixmaps
# mkdir -p %{buildroot}%{_datadir}/gnome/apps/Development
mkdir -p %{buildroot}%{_datadir}/applications
cp -a lazarus/* %{buildroot}%{_libdir}/%{name}/
install -m 644 lazarus/images/ide_icon48x48.png %{buildroot}%{_datadir}/pixmaps/lazarus.png
# install -m 644 lazarus/gnome.ide.desktop %{buildroot}%{_datadir}/gnome/apps/Development/lazarus.desktop
install -m 644 lazarus/install/gnome.ide.desktop %{buildroot}%{_datadir}/applications/lazarus.desktop
ln -sf ../%{_lib}/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
%clean
rm -rf %{buildroot}
#%post
#update-desktop-database &> /dev/null ||:
%postun
update-desktop-database &> /dev/null ||:
%files
%defattr(-,root,root,-)
%{_libdir}/%{name}
%{_bindir}/%{name}
%{_datadir}/pixmaps/lazarus.png
# %{_datadir}/gnome/apps/Development/lazarus.desktop
%{_datadir}/applications/lazarus.desktop
%changelog
* Wed Jul 20 2005 Joost van der Sluis <joost@cnoc.nl> 0.9.8-0.1
- Initial build.