SHA256
1
0
forked from pool/lazarus
lazarus/lazarus.spec

202 lines
6.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package lazarus
#
# Copyright (c) 2008-2009 oc2pus
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# norootforbuild
Name: lazarus
Version: 1.0.0
Release: 0
Summary: Lazarus Component Library and IDE
Group: Development/Languages/Other
License: GPL and modified LGPL
Url: http://www.lazarus.freepascal.org/
Source0: %{name}-%{version}.tar.bz2
Source1: %{name}.desktop
Source90: %{name}-rpmlintrc
Patch: %{name}-Makefile_patch.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ImageMagick
BuildRequires: dos2unix
BuildRequires: fpc >= 2.6.0
BuildRequires: fpc-src >= 2.6.0
BuildRequires: gtk2
BuildRequires: gtk2-devel
%if 0%{?suse_version}
PreReq: shared-mime-info
BuildRequires: fdupes
BuildRequires: glib2-devel
BuildRequires: update-desktop-files
BuildRequires: libdb-4_5-devel
Requires: glib2-devel
Requires: gtk2-devel
%endif
Requires: gdb
Requires: fpc
%if 0%{?fedora_version}
Requires: fpc-src
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
%endif
%description
Lazarus is a free and open source Rapid Application Development
tool for the FreePascal compiler using the Lazarus component
library - LCL. The LCL is included in this package.
%debug_package
%prep
%setup -q -n %{name}
%patch -p1
# remove the files for building debian-repositories
%__rm -rf debian
%__rm -rf tools/install/cross_unix/debian_crosswin32
%__rm tools/install/cross_unix/create_linux_cross_win32_deb.sh
%__rm tools/install/cross_unix/HowToCreate_fpc_crosswin32_deb.txt
# remove the files for installing on macosx
%__rm -rf tools/install/macosx/
# remove scripts vulnerable to symlink-attacks (bug 460642)
%__rm tools/install/build_fpc_snaphot_rpm.sh
%__rm tools/install/check_fpc_dependencies.sh
%__rm tools/install/create_fpc_deb.sh
%__rm tools/install/create_fpc_export_tgz.sh
%__rm tools/install/create_fpc_rpm.sh
%__rm tools/install/create_fpc-src_rpm.sh
%__rm tools/install/create_fpc_tgz_from_local_dir.sh
%__rm tools/install/create_lazarus_export_tgz.sh
# fix lineencodings
dos2unix examples/gridexamples/grid_semaphor/example/table0*.stb
dos2unix examples/trayicon/frmtest.*
dos2unix examples/trayicon/wndtray.*
%build
export FPCDIR=%{_datadir}/fpcsrc/
fpcmake -Tall
MAKEOPTS="-gl -Fl/usr/%{_lib}"
if [ -n "$FPCCfg" ]; then
MAKEOPTS="$MAKEOPTS -n @$FPCCfg"
fi
#CHMHELP:MAKEOPTS="$MAKEOPTS -dUseCHMHelp"
make bigide OPT="$MAKEOPTS" USESVN2REVISIONINC=0
export LCL_PLATFORM=
strip lazarus
strip startlazarus
strip lazbuild
strip tools/lazres
strip tools/updatepofiles
strip tools/lrstolfm
strip tools/svn2revisioninc
if [ -f components/chmhelp/lhelp/lhelp ]; then
strip components/chmhelp/lhelp/lhelp
fi
# build Qt4 interface
make -C lcl/interfaces/qt all LCL_PLATFORM=qt OPT="-dQT_NATIVE_DIALOGS"
%install
install -dm 755 %{buildroot}%{_libdir}/%{name}
make install \
INSTALL_PREFIX=%{buildroot}%{_prefix} \
INSTALL_LIBDIR=%{buildroot}%{_libdir} INSTALL_BINDIR=%{buildroot}%{_bindir} \
LAZARUS_INSTALL_DIR=%{buildroot}%{_libdir}/%{name} \
# convenience links
for f in lazarus lazbuild startlazarus; do
rm -f %{buildroot}%{_bindir}/$f
ln -sf ../%{_lib}/%{name}/$f %{buildroot}%{_bindir}/$f
done
rm -f %{buildroot}%{_bindir}/lazarus-ide
ln -sf ../%{_lib}/%{name}/lazarus %{buildroot}%{_bindir}/lazarus-ide
for f in lazres lrstolfm updatepofiles; do
ln -sf ../%{_lib}/%{name}/tools/$f %{buildroot}%{_bindir}/$f
cat %{buildroot}%{_libdir}/%{name}/install/man/man1/${f}.1 | gzip > %{buildroot}%{_mandir}/man1/${f}.1.gz
done
# collect docs and samples
install -dm 755 %{buildroot}%{_defaultdocdir}/%{name}
mv %{buildroot}%{_libdir}/%{name}/examples %{buildroot}%{_defaultdocdir}/%{name}
ln -s %{_defaultdocdir}/%{name}/examples %{buildroot}%{_libdir}/%{name}/examples
mv %{buildroot}%{_libdir}/%{name}/docs %{buildroot}%{_defaultdocdir}/%{name}
ln -s %{_defaultdocdir}/%{name}/docs %{buildroot}%{_libdir}/%{name}/docs
mv %{buildroot}%{_libdir}/%{name}/COPYING* %{buildroot}%{_libdir}/%{name}/README* %{buildroot}%{_defaultdocdir}/%{name}
# icon
install -dm 755 %{buildroot}%{_datadir}/pixmaps
install -m 644 images/icons/lazarus128x128.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
# menu-entry
install -dm 755 %{buildroot}%{_datadir}/applications
install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/applications/%{name}.desktop
%if 0%{?suse_version}
%suse_update_desktop_file -n %{name} Development IDE
%endif
# mime info
install -dm 755 %{buildroot}%{_datadir}/mime/packages
install -m 644 install/%{name}-mime.xml %{buildroot}%{_datadir}/mime/packages/%{name}.xml
# configs
install -dm 755 %{buildroot}%{_sysconfdir}/%{name}
install -m 644 tools/install/linux/editoroptions.xml \
%{buildroot}%{_sysconfdir}/%{name}/editoroptions.xml
cat tools/install/linux/environmentoptions.xml | sed -e "s#__LAZARUSDIR__#$LAZARUSDIR/#" -e "s#__FPCSRCDIR__#%{_datadir}/fpcsrc/#" > %{buildroot}%{_sysconfdir}/%{name}/environmentoptions.xml
# cleanup
rm -rf %{buildroot}%{_libdir}/%{name}/install/man
%if 0%{?suse_version}
%fdupes -s %{buildroot}
%endif
%clean
[ -d "%{buildroot}" -a "%{buildroot}" != "" ] && rm -rf "%{buildroot}"
%post
if [ -x %{_bindir}/update-mime-database ]; then
%{_bindir}/update-mime-database %{_datadir}/mime &> /dev/null || :
fi
%postun
if [ -x %{_bindir}/update-mime-database ]; then
%{_bindir}/update-mime-database %{_datadir}/mime &> /dev/null || :
fi
%if 0%{?fedora_version}
update-desktop-database &> /dev/null ||:
%endif
%files
%defattr(-,root,root,-)
%doc %{_mandir}/*/*
%doc %{_defaultdocdir}/%{name}
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/editoroptions.xml
%config(noreplace) %{_sysconfdir}/%{name}/environmentoptions.xml
%{_bindir}/%{name}
%{_bindir}/%{name}-ide
%{_bindir}/lazbuild
%{_bindir}/startlazarus
%{_bindir}/lazres
%{_bindir}/lrstolfm
%{_bindir}/updatepofiles
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/*
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/applications/%{name}.desktop
%{_datadir}/mime/packages/%{name}.xml
%changelog