2011-04-08 18:38:33 +00:00
#
# spec file for package lazarus
#
2009-11-25 09:21:51 +00:00
# Copyright (c) 2008-2009 oc2pus
2012-10-05 14:59:18 +00:00
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
2009-11-25 09:21:51 +00:00
#
2011-04-08 18:38:33 +00:00
2012-10-05 14:59:18 +00:00
Name : lazarus
2012-10-17 01:15:37 +00:00
Version : 1.0.2
2012-10-05 14:59:18 +00:00
Release : 0
License : GPL and modified LGPL
Summary : Lazarus Component Library and IDE
Url : http://www.lazarus.freepascal.org/
Group : Development/Languages/Other
2012-10-17 01:15:37 +00:00
Source0 : http://downloads.sourceforge.net/%{name} /%{name} -%{version} -0.tar.gz
2012-10-05 14:59:18 +00:00
Source1 : %{name} .desktop
Source90 : %{name} -rpmlintrc
# PATCH-FIX-OPENSUSE lazarus-Makefile_patch.diff -- Change installation path from /usr/share/lazarus to /usr/lib(64)/lazarus
Patch0 : %{name} -Makefile_patch.diff
2011-04-08 18:38:33 +00:00
BuildRequires : ImageMagick
2009-11-25 09:21:51 +00:00
BuildRequires : dos2unix
2011-04-08 18:38:33 +00:00
BuildRequires : fdupes
2012-10-05 14:59:18 +00:00
BuildRequires : fpc >= 2.6.0
BuildRequires : fpc-src >= 2.6.0
BuildRequires : update-desktop-files
2012-10-31 21:53:43 +00:00
%if %sles_version >= 11
BuildRequires : glib2-devel
BuildRequires : gtk2-devel
Requires : glib2
Requires : gtk2
%else
BuildRequires : pkgconfig(glib-2.0)
BuildRequires : pkgconfig(gtk+-2.0)
Requires : pkgconfig(glib-2.0)
Requires : pkgconfig(gtk+-2.0)
%endif
2011-04-08 18:38:33 +00:00
Requires : fpc
2012-12-11 05:29:29 +00:00
Requires : fpc-src
2012-10-05 14:59:18 +00:00
Requires : gdb
Requires(post) : shared-mime-info
Requires(postun) : shared-mime-info
BuildRoot : %{_tmppath} /%{name} -%{version} -build
2007-10-12 11:28:26 +00:00
%description
2009-11-25 09:21:51 +00:00
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.
2007-10-12 11:28:26 +00:00
%prep
2009-11-25 09:21:51 +00:00
%setup -q -n %{name}
2012-10-05 14:59:18 +00:00
%patch0 -p1
# remove unneeded files
rm -rf debian
rm -rf tools/install/cross_unix/debian_crosswin32/
rm -f tools/install/cross_unix/*deb.*
rm -rf tools/install/debian_*
rm -rf tools/install/freebsd_*
rm -rf tools/install/macosx/
rm -rf tools/install/slacktgz/
rm -rf tools/install/win/
rm -f tools/install/*slacktgz.*
2011-04-08 18:38:33 +00:00
2009-11-25 09:21:51 +00:00
# remove scripts vulnerable to symlink-attacks (bug 460642)
2012-10-05 14:59:18 +00:00
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
2009-11-25 09:21:51 +00:00
# fix lineencodings
dos2unix examples/gridexamples/grid_semaphor/example/table0*.stb
dos2unix examples/trayicon/frmtest.*
dos2unix examples/trayicon/wndtray.*
2007-10-12 11:28:26 +00:00
2012-10-05 14:59:18 +00:00
# fix rpmlint error "spurious-executable-perm"
chmod 644 docs/booth/ProdProgEntwMitOpenSourceSystems2007.odp
2012-09-29 19:08:42 +00:00
2012-10-05 14:59:18 +00:00
%build
2012-10-17 01:15:37 +00:00
# Don't use -gs (use explicitly "stabs" debuginfo) for compiling lhelp but -g (use the default debuginfo type "dwarf") as in the rest of package's Makefiles
# Fixes the "Stabs debuginfo not supported" error when extracting debug info from the package
sed -i " s / \ - g s / \ - g / " components/chmhelp/lhelp/Makefile
2009-11-25 09:21:51 +00:00
export FPCDIR=%{_datadir} /fpcsrc/
fpcmake -Tall
MAKEOPTS=" - g l - F l / u s r / % { _ l i b } "
2007-10-12 11:28:26 +00:00
if [ -n " $ F P C C f g " ]; then
2012-09-29 19:08:42 +00:00
MAKEOPTS=" $ M A K E O P T S - n @ $ F P C C f g "
fi
#CHMHELP:MAKEOPTS="$MAKEOPTS -dUseCHMHelp"
make bigide OPT=" $ M A K E O P T S " USESVN2REVISIONINC=0
2012-10-17 01:15:37 +00:00
2012-09-29 19:08:42 +00:00
export LCL_PLATFORM=
2009-11-25 09:21:51 +00:00
2011-04-08 18:38:33 +00:00
# build Qt4 interface
2012-09-29 19:08:42 +00:00
make -C lcl/interfaces/qt all LCL_PLATFORM=qt OPT=" - d Q T _ N A T I V E _ D I A L O G S "
2007-10-12 11:28:26 +00:00
%install
2012-09-29 19:08:42 +00:00
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} \
2009-11-25 09:21:51 +00:00
# convenience links
2012-09-29 19:08:42 +00:00
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
2011-04-08 18:38:33 +00:00
2009-11-25 09:21:51 +00:00
# collect docs and samples
2012-09-29 19:08:42 +00:00
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}
2009-11-25 09:21:51 +00:00
# icon
2012-09-29 19:08:42 +00:00
install -dm 755 %{buildroot} %{_datadir} /pixmaps
install -m 644 images/icons/lazarus128x128.png %{buildroot} %{_datadir} /pixmaps/%{name} .png
2009-11-25 09:21:51 +00:00
# menu-entry
2012-09-29 19:08:42 +00:00
install -dm 755 %{buildroot} %{_datadir} /applications
install -m 644 %{SOURCE1} %{buildroot} %{_datadir} /applications/%{name} .desktop
2011-04-08 18:38:33 +00:00
%if 0%{?suse_version}
2009-11-25 09:21:51 +00:00
%suse_update_desktop_file -n %{name} Development IDE
2011-04-08 18:38:33 +00:00
%endif
2009-11-25 09:21:51 +00:00
# mime info
2012-09-29 19:08:42 +00:00
install -dm 755 %{buildroot} %{_datadir} /mime/packages
install -m 644 install/%{name} -mime.xml %{buildroot} %{_datadir} /mime/packages/%{name} .xml
2009-11-25 09:21:51 +00:00
# configs
2012-09-29 19:08:42 +00:00
install -dm 755 %{buildroot} %{_sysconfdir} /%{name}
2012-10-05 14:59:18 +00:00
install -m 644 tools/install/linux/editoroptions.xml %{buildroot} %{_sysconfdir} /%{name} /editoroptions.xml
cat tools/install/linux/environmentoptions.xml | sed -e " s # _ _ L A Z A R U S D I R _ _ # %{_libdir} / %{name} / # " -e " s # _ _ F P C S R C D I R _ _ # %{_datadir} / f p c s r c / # " > %{buildroot} %{_sysconfdir} /%{name} /environmentoptions.xml
2009-11-25 09:21:51 +00:00
2011-04-08 18:38:33 +00:00
# cleanup
2012-09-29 19:08:42 +00:00
rm -rf %{buildroot} %{_libdir} /%{name} /install/man
2011-04-08 18:38:33 +00:00
%if 0%{?suse_version}
2009-11-25 09:21:51 +00:00
%fdupes -s %{buildroot}
2011-04-08 18:38:33 +00:00
%endif
2007-10-12 11:28:26 +00:00
%post
2012-10-05 14:59:18 +00:00
/usr/bin/update-mime-database %{_datadir} /mime &> /dev/null || :
2007-10-12 11:28:26 +00:00
%postun
2012-10-05 14:59:18 +00:00
/usr/bin/update-mime-database %{_datadir} /mime &> /dev/null || :
2007-10-12 11:28:26 +00:00
%files
%defattr (-,root,root,-)
2009-11-25 09:21:51 +00:00
%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
2012-09-29 19:08:42 +00:00
%{_bindir} /lazres
%{_bindir} /lrstolfm
%{_bindir} /updatepofiles
2012-10-05 14:59:18 +00:00
%{_libdir} /%{name} /
2009-11-25 09:21:51 +00:00
%{_datadir} /pixmaps/%{name} .png
%{_datadir} /applications/%{name} .desktop
%{_datadir} /mime/packages/%{name} .xml
2007-10-12 11:28:26 +00:00
%changelog