mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 19:29:34 +02:00
added template rpm specs for snapshot rpm building, adapted from examples from Joost
git-svn-id: trunk@7558 -
This commit is contained in:
parent
87292a147f
commit
a3472dac78
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -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
|
||||
|
188
tools/install/rpm/fpc.spec.template
Normal file
188
tools/install/rpm/fpc.spec.template
Normal 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.
|
65
tools/install/rpm/lazarus.spec.template
Normal file
65
tools/install/rpm/lazarus.spec.template
Normal 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.
|
||||
|
Loading…
Reference in New Issue
Block a user