diff --git a/lazarus-0.9.28.2-src.tar.bz2 b/lazarus-0.9.28.2-src.tar.bz2 new file mode 100644 index 0000000..db7901c --- /dev/null +++ b/lazarus-0.9.28.2-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5711372c6724d19624be6cb8f6c397d789f3ac6fd7f70f825817ee47bd0e4dfd +size 12933724 diff --git a/lazarus-Makefile_patch.diff b/lazarus-Makefile_patch.diff new file mode 100644 index 0000000..4194e51 --- /dev/null +++ b/lazarus-Makefile_patch.diff @@ -0,0 +1,33 @@ +Index: lazarus/Makefile.fpc +=================================================================== +--- lazarus/Makefile.fpc (version 0.9.26) ++++ lazarus/Makefile.fpc (working copy) +@@ -21,7 +21,7 @@ + + [install] + fpcpackage=n +-basedir=share/lazarus ++basedir=lib/lazarus + + [dist] + destdir=$(BASEDIR)/dist +@@ -29,7 +29,7 @@ + [prerules] + RCPP?=$(strip $(firstword cpp$(SRCEXEEXT))) + # +-LAZARUS_INSTALL_DIR=$(INSTALL_PREFIX)/share/lazarus ++LAZARUS_INSTALL_DIR=$(INSTALL_PREFIX)/$(_LIB)/lazarus + INSTALL_MAN_DIR=$(INSTALL_PREFIX)/share/man + ifneq ($(findstring $(OS_TARGET),win32 win64),) + LAZARUS_INSTALL_DIR=C:\lazarus +@@ -110,8 +110,8 @@ + ifeq ($(OS_TARGET),win32) + + else +- $(MKDIR) $(INSTALL_PREFIX)/share +- $(MKDIR) $(INSTALL_PREFIX)/share/lazarus ++ $(MKDIR) $(INSTALL_PREFIX)/$(_LIB) ++ $(MKDIR) $(INSTALL_PREFIX)/$(_LIB)/lazarus + $(MKDIR) $(INSTALL_BINDIR) + $(MKDIR) $(INSTALL_MAN_DIR) + $(MKDIR) $(INSTALL_MAN_DIR)/man1 diff --git a/lazarus-rpmlintrc b/lazarus-rpmlintrc new file mode 100644 index 0000000..915e937 --- /dev/null +++ b/lazarus-rpmlintrc @@ -0,0 +1,13 @@ +# This line is mandatory to access the configuration functions +from Config import * + +addFilter("source-or-patch-not-bzipped") + +# lazarus is a IDE +addFilter("devel-dependency gdk-pixbuf-devel") +addFilter("devel-file-in-non-devel-package .*/lazarus/components/codetools/examples/scanexamples/.*.h") + +addFilter("zero-length .*/lazarus/lcl/interfaces/carbon/carbonimages.lrs") +addFilter("zero-length .*b/lazarus/components/codetools/examples/scanexamples/empty.inc") + +addFilter("untranslated-desktop-file .*/lazarus/install/lazarus.desktop") \ No newline at end of file diff --git a/lazarus.desktop b/lazarus.desktop new file mode 100644 index 0000000..52e54f4 --- /dev/null +++ b/lazarus.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Lazarus +GenericName=Integrated development environment +GenericName[ru]=Интегрированная среда программирования +GenericName[de]=IDE für FreePascal +Comment=Develop applications using Pascal language +Comment[ru]=Разработка приложений на языке Pascal +Comment[de]=Anwendungen entwickeln mit Pascal +Exec=startlazarus %f +Terminal=false +Type=Application +Icon=lazarus +Categories=IDE;Development +StartupWMClass=Lazarus +MimeType=text/x-pascal;text/lazarus-project-source;text/lazarus-project-information;text/lazarus-form;text/lazarus-resource;text/lazarus-package;text/lazarus-package-link;text/lazarus-code-inlay; diff --git a/lazarus.spec b/lazarus.spec index e1d94dd..07f3cf8 100644 --- a/lazarus.spec +++ b/lazarus.spec @@ -1,92 +1,228 @@ -Name: lazarus -Version: 0.9.24 -Release: 0 -Summary: Lazarus Component Library and IDE +# 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. +# +# Please submit bugfixes or comments to toni@links2linux.de -Group: Development/Languages -License: GPL and modified LGPL -URL: http://www.lazarus.freepascal.org/ -Source: %{name}-%{version}-0.tar.gz -Packager: Alexander Schaber (web@alexnderschaber.de) -BuildRoot: %{_tmppath}/build-%{name}-%{version} +# norootforbuild -BuildRequires: fpc, texlive-latex, glib2, glib2-devel, gtk-devel -BuildRequires: gdk-pixbuf, gdk-pixbuf-devel -Requires: fpc-src, fpc, gdk-pixbuf, gtk+, glibc, gdb, glib, glib-devel -Requires: gtk-devel, gdk-pixbuf-devel -# NOTE: without the symlink trick for gtk1, it requires the devel packages. +Name: lazarus +Version: 0.9.28.2 +Release: 1.pm.1 +Summary: Lazarus Component Library and IDE +Group: Development/Languages/Other +License: GPL and modified LGPL +Url: http://www.lazarus.freepascal.org/ +# snapshot build: +#Source0: http://snapshots.lazarus.shikami.org/lazarus/downloads/%{name}-%{version}-17149-20081029-src.tar.bz2 +# svn co https://lazarus.svn.sourceforge.net/svnroot/lazarus/tags/lazarus_0_9_26_2 lazarus +#Source0: http://download.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 +# release build: +Source0: http://download.sourceforge.net/%{name}/%{name}-%{version}-src.tar.bz2 +Source1: %{name}.desktop +Source90: %{name}-rpmlintrc +Patch: %{name}-Makefile_patch.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +PreReq: shared-mime-info +BuildRequires: dos2unix +BuildRequires: fdupes +BuildRequires: fpc >= 2.2.4 +BuildRequires: fpc-src >= 2.2.4 +BuildRequires: gdk-pixbuf-devel +BuildRequires: glib2-devel +BuildRequires: gtk2-devel gtk2 +BuildRequires: gtk-devel +BuildRequires: update-desktop-files +Requires: fpc >= 2.2.4 +Requires: fpc-src >= 2.2.4 +Requires: gdb +Requires: gdk-pixbuf-devel +Requires: glib2-devel +Requires: gtk2-devel -Requires(post): desktop-file-utils -Requires(postun): desktop-file-utils +%if %suse_version >= 1120 +BuildRequires: libdb-4_5-devel +%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. +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 -c +%setup -q -n %{name} +%patch -p1 +%__rm Makefile.fpc.orig + +# 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 scripts vulnerable to symlink-attacks (bug 460642) +%__rm tools/convert_po_file_to_utf-8.sh +%__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 -cd lazarus -MAKEOPTS="-Fl/opt/gnome/lib" +export FPCDIR=%{_datadir}/fpcsrc/ +fpcmake -Tall + +MAKEOPTS="-gl -Fl/usr/%{_lib}" if [ -n "$FPCCfg" ]; then - MAKEOPTS="$MAKEOPTS -n @$FPCCfg" + MAKEOPTS="$MAKEOPTS -n @$FPCCfg" fi -make bigide OPT="$MAKEOPTS" USESVN2REVISIONINC=0 -make tools OPT="$MAKEOPTS" -make lazbuilder OPT="$MAKEOPTS" -make lcl ideintf packager/registration bigidecomponents OPT="$MAKEOPTS" +%__cat > ide/revision.inc << EOF +// Created by Svn2RevisionInc +const RevisionStr = 'Unknown'; +EOF -strip lazarus -strip startlazarus -strip lazbuild +%__make tools OPT="$MAKEOPTS" +%__make bigide OPT="$MAKEOPTS" USESVN2REVISIONINC=0 +%__make lazbuilder OPT="$MAKEOPTS" + +# add the ability to create gtk2-applications build gtk2.ppu +export LCL_PLATFORM=gtk2 +%__make lcl ideintf packager/registration bigidecomponents OPT="$MAKEOPTS" +export LCL_PLATFORM= %install -[ %{buildroot} != "/" ] && ( 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 -mkdir -p %{buildroot}%{_mandir}/man1 -cp -a lazarus/* %{buildroot}%{_libdir}/%{name}/ - install -m 644 lazarus/images/ide_icon48x48.png %{buildroot}%{_datadir}/pixmaps/lazarus.png - install -m 644 lazarus/install/lazarus.desktop %{buildroot}%{_datadir}/applications/lazarus.desktop -ln -sf ../%{_lib}/%{name}/lazarus %{buildroot}%{_bindir}/lazarus -ln -sf ../%{_lib}/%{name}/startlazarus %{buildroot}%{_bindir}/startlazarus -ln -sf ../%{_lib}/%{name}/lazbuild %{buildroot}%{_bindir}/lazbuild -cat lazarus/docs/lazbuild.1 | gzip > %{buildroot}%{_mandir}/man1/lazbuild.1.gz +%makeinstall \ + INSTALL_PREFIX=%{buildroot}%{_prefix} \ + _LIB=%{_lib} + +# man-page +%__make -C install/man \ + INSTALL_MANDIR=%{buildroot}%{_mandir} + +# convenience links +%__install -dm 755 %{buildroot}%{_bindir} +ln -sf ../%{_lib}/%{name}/%{name} \ + %{buildroot}%{_bindir}/%{name}-ide +ln -sf ../%{_lib}/%{name}/%{name} \ + %{buildroot}%{_bindir}/%{name} +ln -sf ../%{_lib}/%{name}/startlazarus \ + %{buildroot}%{_bindir}/startlazarus +ln -sf ../%{_lib}/%{name}/lazbuild \ + %{buildroot}%{_bindir}/lazbuild + +# 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}/COPYING* %{buildroot}%{_libdir}/%{name}/README* \ + %{buildroot}%{_defaultdocdir}/%{name} + +# icon +%__install -dm 755 %{buildroot}%{_datadir}/pixmaps +%__install -m 644 images/ide_icon48x48.png \ + %{buildroot}%{_datadir}/pixmaps/%{name}.png + +# menu-entry +%__install -dm 755 %{buildroot}%{_datadir}/applications +%__install -m 644 %{SOURCE1} \ + %{buildroot}%{_datadir}/applications/%{name}.desktop +%suse_update_desktop_file -n %{name} Development IDE + +# 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 +%__sed 's#/usr/lib/lazarus/#%{_libdir}/%{name}#;s#/\$(FPCVER)##;s#%LazarusVersion%##' \ + tools/install/linux/environmentoptions.xml > %{buildroot}%{_sysconfdir}/%{name}/environmentoptions.xml +#%__install -m 644 tools/install/linux/environmentoptions.xml \ +# %{buildroot}%{_sysconfdir}/%{name}/environmentoptions.xml +%__cp %{buildroot}%{_sysconfdir}/%{name}/environmentoptions.xml \ + %{buildroot}%{_libdir}/%{name}/tools/install/linux + +# fix rights +%__chmod 755 %{buildroot}%{_libdir}/%{name}/components/lazreport/tools/localize.sh +%__chmod 755 %{buildroot}%{_libdir}/%{name}/tools/install/macosx/uninstall.sh + +%__rm -rf %{buildroot}%{_libdir}/%{name}/install/man +%fdupes -s %{buildroot} + +%__chmod 644 %{buildroot}%{_libdir}/%{name}/tools/chmmaker/chmwriter.lpi +%__chmod 644 %{buildroot}%{_libdir}/%{name}/tools/chmmaker/unit1.lfm +%__chmod 644 %{buildroot}%{_libdir}/%{name}/tools/chmmaker/unit1.lrs +%__chmod 644 %{buildroot}%{_libdir}/%{name}/tools/chmmaker/unit1.pas +%__chmod 755 %{buildroot}%{_libdir}/%{name}/components/lazsvnpkg/lazsvnpkg_images.sh %clean -[ %{buildroot} != "/" ] && ( rm -rf %{buildroot} ) +[ -d "%{buildroot}" -a "%{buildroot}" != "" ] && %__rm -rf "%{buildroot}" %post -%{_libdir}/%{name}/tools/install/rpm/create_gtk1_links.sh -#update-desktop-database &> /dev/null ||: +/usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || : %postun -update-desktop-database &> /dev/null ||: +/usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || : %files %defattr(-,root,root,-) -%{_libdir}/%{name} -%{_bindir}/* - %{_datadir}/pixmaps/lazarus.png - %{_datadir}/applications/lazarus.desktop -%{_mandir}/*/* +%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 +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/* +%{_datadir}/pixmaps/%{name}.png +%{_datadir}/applications/%{name}.desktop +%{_datadir}/mime/packages/%{name}.xml %changelog -* Fri Jan 18 2998 Alexander Schaber 0.9.24 -- Updated to version 0.9.24 -* Sat Nov 24 2007 Alexander Schaber 0.9.22 -- Switched back to gtk(1) interface -* Thu Oct 11 2007 Alexander Schaber 0.9.22 -- Ported to openSUSE Build Service -- Updated to version 0.9.22 -* Sat Sep 9 2006 Mattias Gaertner 0.9.18-0 -- Initial build. -* Wed Jul 20 2005 Joost van der Sluis 0.9.8-0.1 -- Initial build. - +* Tue Nov 03 2009 Toni Graffy - 0.9.28.2-1.pm.1 +- fixed configfile environmentoptions.xml +* Sun Nov 01 2009 Toni Graffy - 0.9.28.2-0.pm.1 +- update to 0.9.28.2 +- This release fixes compiling a test application without saving (missing + project1.lrs). The Lazarus directory is now set correctly by the deb package. + Some other small fixes are also included. +* Tue Oct 27 2009 Toni Graffy - 0.9.28-0.pm.1 +- update to 0.9.28 +- In this major release, the IDE has many source editor improvements like display + of "double width" fonts (such as Eastern, Japanese, Chinese, and Arabic), better + code folding, highlighting, syncro editing, and persistent blocks. The debugger + has assembler windows, easier exception handling, and breakpoint properties. The + LCL now uses GTK2 as the default widgetset on Linux and BSD and includes the + TMonitor class for multi-monitor support. Refactoring of LCL reduced the minimum + size of executables by about 15%. The support of TFrame support has improved, so + you can visually nest designers in the IDE. +* Mon May 04 2009 Toni Graffy - 0.9.26.2-0.pm.3 +- rebuild against fpc-2.2.4 +* Mon Mar 23 2009 Toni Graffy - 0.9.26.2-0.pm.2 +- update to 0.9.26.2 (release-tarball) +* Sat Feb 28 2009 Toni Graffy - 0.9.26.2-0.pm.1 +- update to 0.9.26.2 + svn co https://lazarus.svn.sourceforge.net/svnroot/lazarus/tags/lazarus_0_9_26_2 lazarus +* Sat Nov 01 2008 Toni Graffy - 0.9.26-0.pm.2 +- rebuild against fpc-2.2.2-0.pm.2 +* Thu Oct 30 2008 Toni Graffy - 0.9.26-0.pm.1 +- initial build for packman (fpc-2.2.2 is working with this version) +- based on fedora spec-file from Lubomir Rintel