From 5f91b5a391058f44c8bb5074cda207a85ec6f018 Mon Sep 17 00:00:00 2001 From: Joost van der Sluis Date: Jun 30 2008 21:55:00 +0000 Subject: - Updated to version 2.2.2rc1 - Enabled debuginfo for ppc64 again - Do not strip the debugdata on x86_64 anymore - Packages_base, packages_fcl and packages_extra are merged into packages - Don't install packages_fv separately anymore - Fix for incorrect path in official fpc 2.2.2rc1-sourcefile - Updated licence-tag from "GPL and modified LGPL" to fedora-tag "GPLv2+ and LGPLv2+ with exceptions" - Removed UsePrebuildcompiler define for ppc64 --- diff --git a/.cvsignore b/.cvsignore index c5376c5..781bde6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,5 +1 @@ -fpcbuild-2.2.0.tar.gz -fpc-2.2.0-samplecfg_32and64bit.patch -fpc-2.2.0.compiler.bin.tar.gz -fpc-2.2.0-build-id.patch -fpc-2.2.0-fpcdocs.patch +fpcbuild-2.2.2rc1.tar.gz diff --git a/fpc-2.2.0-DWARF_Patch_r8847.diff b/fpc-2.2.0-DWARF_Patch_r8847.diff deleted file mode 100644 index 5dc08cb..0000000 --- a/fpc-2.2.0-DWARF_Patch_r8847.diff +++ /dev/null @@ -1,67 +0,0 @@ ---- fpcsrc/compiler/dbgdwarf.pas.org 2008-04-17 17:32:10.000000000 +0200 -+++ fpcsrc/compiler/dbgdwarf.pas 2008-04-17 17:32:23.000000000 +0200 -@@ -37,7 +37,7 @@ - interface - - uses -- cclasses, -+ cclasses,globtype, - aasmbase,aasmtai,aasmdata, - symbase,symtype,symdef,symsym, - finput, -@@ -221,6 +221,7 @@ - function def_dwarf_class_struct_lab(def:tobjectdef) : tasmsymbol; - function get_file_index(afile: tinputfile): Integer; - procedure write_symtable_syms(st:TSymtable); -+ function clean_dwarf_path(const s:tcmdstr):tcmdstr; - protected - // set if we should use 64bit headers (dwarf3 and up) - _use_64bit_headers: Boolean; -@@ -331,8 +332,8 @@ - implementation - - uses -- cutils,cfileutils, -- version,globtype,globals,verbose,systems, -+ sysutils,cutils,cfileutils, -+ version,globals,verbose,systems, - cpubase,cgbase,paramgr, - fmodule, - defutil,symconst,symtable -@@ -622,6 +623,14 @@ - TDebugInfoDwarf - ****************************************************************************} - -+ function TDebugInfoDwarf.clean_dwarf_path(const s:tcmdstr):tcmdstr; -+ begin -+ { Make a clean path for gdb. Remove trailing / and ./ prefixes and -+ use always a / } -+ result:=BsToSlash(ExcludeTrailingPathDelimiter(ExtractRelativePath('.',s))); -+ end; -+ -+ - procedure TDebugInfoDwarf.set_use_64bit_headers(state: boolean); - begin - _use_64bit_headers:=state; -@@ -2233,7 +2242,8 @@ - ditem := TDirIndexItem(dirlist[n]); - if ditem.Name = '.' then - Continue; -- linelist.concat(tai_string.create(ditem.Name+#0)); -+ { Write without trailing path delimiter and also don't prefix with ./ for current dir } -+ linelist.concat(tai_string.create(clean_dwarf_path(ditem.Name)+#0)); - end; - linelist.concat(tai_const.create_8bit(0)); - -@@ -2356,9 +2366,9 @@ - - { first manadatory compilation unit TAG } - append_entry(DW_TAG_compile_unit,true,[ -- DW_AT_name,DW_FORM_string,FixFileName(current_module.sourcefiles.get_file(1).name^)+#0, -+ DW_AT_name,DW_FORM_string,clean_dwarf_path(FixFileName(current_module.sourcefiles.get_file(1).path^+current_module.sourcefiles.get_file(1).name^))+#0, - DW_AT_producer,DW_FORM_string,'Free Pascal '+full_version_string+' '+date_string+#0, -- DW_AT_comp_dir,DW_FORM_string,BsToSlash(FixPath(current_module.sourcefiles.get_file(1).path^,false))+#0, -+ DW_AT_comp_dir,DW_FORM_string,clean_dwarf_path(FixPath(GetCurrentDir,false))+#0, - DW_AT_language,DW_FORM_data1,DW_LANG_Pascal83, - DW_AT_identifier_case,DW_FORM_data1,DW_ID_case_insensitive]); - diff --git a/fpc-2.2.2-build-id.patch b/fpc-2.2.2-build-id.patch new file mode 100644 index 0000000..44dda59 --- /dev/null +++ b/fpc-2.2.2-build-id.patch @@ -0,0 +1,16 @@ +Index: fpcsrc/compiler/utils/samplecfg +=================================================================== +--- fpcsrc/compiler/utils/samplecfg (revision 8809) ++++ fpcsrc/compiler/utils/samplecfg (working copy) +@@ -290,6 +290,11 @@ + # to perform + + # ----------------------- ++# Use BuildId by default ++# ----------------------- ++-k--build-id ++ ++# ----------------------- + # Set Filenames and Paths + # ----------------------- + diff --git a/fpc-2.2.2-fpcdocs.patch b/fpc-2.2.2-fpcdocs.patch new file mode 100644 index 0000000..f917a4d --- /dev/null +++ b/fpc-2.2.2-fpcdocs.patch @@ -0,0 +1,26 @@ +Index: fpcdocs/Makefile.fpc +=================================================================== +--- fpcdocs/Makefile.fpc ++++ fpcdocs/Makefile.fpc +@@ -258,7 +258,7 @@ + comphelp.inc: + echo "% Automatically generated. Do not edit" > comphelp.inc + echo "\begin{verbatim}" >> comphelp.inc +- fpc -h >>comphelp.inc ++ $(FPC) -h >>comphelp.inc + echo "\end{verbatim}" >> comphelp.inc + + # Local copy of the required styles +Index: fpcdocs/Makefile +=================================================================== +--- fpcdocs/Makefile ++++ fpcdocs/Makefile +@@ -1867,7 +1882,7 @@ + comphelp.inc: + echo "% Automatically generated. Do not edit" > comphelp.inc + echo "\begin{verbatim}" >> comphelp.inc +- fpc -h >>comphelp.inc ++ $(FPC) -h >>comphelp.inc + echo "\end{verbatim}" >> comphelp.inc + syntax.sty: styles/syntax.sty + cp $(wildcard styles/*.sty) . diff --git a/fpc-2.2.2-samplecfg_32and64bit.patch b/fpc-2.2.2-samplecfg_32and64bit.patch new file mode 100644 index 0000000..d7479aa --- /dev/null +++ b/fpc-2.2.2-samplecfg_32and64bit.patch @@ -0,0 +1,68 @@ +Index: fpcsrc/compiler/utils/samplecfg +=================================================================== +--- fpcsrc/compiler/utils/samplecfg (revision 11245) ++++ fpcsrc/compiler/utils/samplecfg (working copy) +@@ -35,7 +35,7 @@ + if [ $# = 0 ]; then + echo 'Usage :' + echo 'samplecfg fpcdir confdir' +- echo 'fpcdir = Path where FPC is installed' ++ echo 'fpcdir = Prefix where FPC is installed (/usr, /usr/local)' + echo 'confdir = Path to /etc' + exit 1 + fi +@@ -155,7 +155,8 @@ + + + # set right path to FPC with $fpcversion +-FPCPATH=`dirname "$1"`/\$fpcversion ++FPCPATH32=`dirname "$1"`/lib/fpc/\$fpcversion ++FPCPATH64=`dirname "$1"`/lib64/fpc/\$fpcversion + + # Write the file + echo Writing sample configuration file to $thefile +@@ -291,26 +297,36 @@ + + # path to the messagefile, not necessary anymore but can be used to override + # the default language +-#-Fr$FPCPATH/msg/errore.msg +-#-Fr$FPCPATH/msg/errorn.msg ++#-Fr$FPCPATH32/msg/errore.msg ++#-Fr$FPCPATH32/msg/errorn.msg ++#-Fr$FPCPATH64/msg/errore.msg ++#-Fr$FPCPATH64/msg/errorn.msg + + # searchpath for includefiles + #-Fi/pp/inc;/pp/rtl/inc + + #IFDEF FPCAPACHE_1_3 +--Fu$FPCPATH/units/\$fpctarget/httpd-1.3/ ++-Fu$FPCPATH32/units/\$fpctarget/httpd-1.3/ ++-Fu$FPCPATH64/units/\$fpctarget/httpd-1.3/ + #ELSE + #IFDEF FPCAPACHE_2_0 +--Fu$FPCPATH/units/\$fpctarget/httpd-2.0 ++-Fu$FPCPATH32/units/\$fpctarget/httpd-2.0 ++-Fu$FPCPATH64/units/\$fpctarget/httpd-2.0 + #ELSE +--Fu$FPCPATH/units/\$fpctarget/httpd-2.2 ++-Fu$FPCPATH32/units/\$fpctarget/httpd-2.2 ++-Fu$FPCPATH64/units/\$fpctarget/httpd-2.2 + #ENDIF + #ENDIF + + # searchpath for units and other system dependent things +--Fu$FPCPATH/units/\$fpctarget +--Fu$FPCPATH/units/\$fpctarget/* +--Fu$FPCPATH/units/\$fpctarget/rtl ++# 32-bits ++-Fu$FPCPATH32/units/\$fpctarget ++-Fu$FPCPATH32/units/\$fpctarget/* ++-Fu$FPCPATH32/units/\$fpctarget/rtl ++# 64-bits ++-Fu$FPCPATH64/units/\$fpctarget ++-Fu$FPCPATH64/units/\$fpctarget/* ++-Fu$FPCPATH64/units/\$fpctarget/rtl + #-Fu~/fpc/packages/base/*/units/$fpctarget;~/fpc/fcl/units/$fpctarget;~/fpc/rtl/units/$fpctarget + + # searchpath for libraries diff --git a/fpc.spec b/fpc.spec index 0685aa0..0f4150d 100644 --- a/fpc.spec +++ b/fpc.spec @@ -1,23 +1,21 @@ -%ifarch ppc64 -%define useprebuiltcompiler 1 -%endif - Name: fpc -Version: 2.2.0 -Release: 12%{?dist} +Version: 2.2.2 +Release: 0.1.rc1%{?dist} Summary: Free Pascal Compiler Group: Development/Languages -License: GPL and modified LGPL +License: GPLv2+ and LGPLv2+ with exceptions URL: http://www.freepascal.org/ -Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}build-%{version}.tar.gz +# Source0: ftp://ftp.freepascal.org/pub/fpc/dist/source-%{version}/%{name}build-%{version}.tar.gz +# The rc-download has a different path: +Source0: ftp://ftp.freepascal.org/pub/fpc/beta/%{version}rc1/source/%{name}build-%{version}rc1.tar.gz # This is only needed when useprebuiltcompiler is defined. # But it's not in an 'if defined' block, since the file has to be included in the srpm -Source1: http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz +# Thus you should enable this line when useprebuildcompiler is defined for any target +# Source1: http://www.cnoc.nl/fpc/%{name}-%{version}.compiler.bin.tar.gz Patch0: %{name}-%{version}-samplecfg_32and64bit.patch Patch1: %{name}-%{version}-build-id.patch Patch2: %{name}-%{version}-fpcdocs.patch -Patch3: %{name}-%{version}-DWARF_Patch_r8847.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: gpm, glibc, ncurses, binutils @@ -54,21 +52,18 @@ The fpc-src package contains the sources of Freepascal, for documentation or automatical-code generation purposes. %define smart _smart +%define fpcopt '-k--build-id -gl' %ifarch ppc %define ppcname ppcppc -%define fpcopt '-k--build-id -gl' %else %ifarch x86_64 %define ppcname ppcx64 -%define fpcopt '-k--build-id -gl' %else %ifarch ppc64 %define ppcname ppcppc64 -%define fpcopt '-k--build-id' %else %define ppcname ppc386 -%define fpcopt '-k--build-id -gl' %endif %endif %endif @@ -77,12 +72,12 @@ automatical-code generation purposes. %if %{defined useprebuiltcompiler} %setup -a1 -n fpcbuild-%{version} -q %else -%setup -n fpcbuild-%{version} -q +# %setup -n fpcbuild-%{version} -q +%setup -n release_2_2_2_rc1 -q %endif %patch0 %patch1 %patch2 -%patch3 %build # The source-files: @@ -103,22 +98,10 @@ NEWFPDOC=`pwd`/utils/fpdoc/fpdoc DATA2INC=`pwd`/utils/data2inc make compiler_cycle FPC=${STARTPP} OPT=%{fpcopt} make rtl_clean rtl%{smart} FPC=${NEWPP} OPT=%{fpcopt} -make packages_base%{smart} FPC=${NEWPP} OPT=%{fpcopt} -make packages_fcl%{smart} FPC=${NEWPP} OPT=%{fpcopt} -make fv%{smart} FPC=${NEWPP} OPT=%{fpcopt} -make packages_extra%{smart} FPC=${NEWPP} OPT=%{fpcopt} +make packages%{smart} FPC=${NEWPP} OPT=%{fpcopt} make ide_all FPC=${NEWPP} OPT=%{fpcopt} make utils_all FPC=${NEWPP} DATA2INC=${DATA2INC} OPT=%{fpcopt} -%ifarch x86_64 -# Debugedit crashes on this file, if it has debug-info. -# As a temporary solution, strip the debug-info. -%__strip utils/h2pas/h2pas -%__strip utils/grab_vcsa -%__strip compiler/utils/ppudump -%__strip packages/fcl-net/mkxmlrpc -%endif - cd .. make -C fpcdocs pdf FPC=${NEWPP} FPDOC=${NEWFPDOC} @@ -138,7 +121,6 @@ INSTALLOPTS="FPC=${NEWPP} FPCMAKE=${FPCMAKE} \ make compiler_distinstall ${INSTALLOPTS} make rtl_distinstall ${INSTALLOPTS} make packages_distinstall ${INSTALLOPTS} -make fv_distinstall ${INSTALLOPTS} make ide_distinstall ${INSTALLOPTS} make utils_distinstall ${INSTALLOPTS} cd ../install @@ -194,6 +176,16 @@ rm -rf %{buildroot} %{_datadir}/fpcsrc %changelog +* Sun Jun 22 2008 Joost van der Sluis 2.2.2rc1-1 +- Updated to version 2.2.2rc1 +- Enabled debuginfo for ppc64 again +- Do not strip the debugdata on x86_64 anymore +- Packages_base, packages_fcl and packages_extra are merged into packages +- Don't install packages_fv separately anymore +- Fix for incorrect path in official fpc 2.2.2rc1-sourcefile +- Updated licence-tag from "GPL and modified LGPL" to fedora-tag "GPLv2+ and LGPLv2+ with exceptions" +- Removed UsePrebuildcompiler define for ppc64 + * Wed Apr 16 2008 Joost van der Sluis 2.2.0-12 - Fix for DWARF-debug generation - fixes some more build problems on x86_64 and F9, bugzilla 337051 diff --git a/sources b/sources index 30086c7..6381e7e 100644 --- a/sources +++ b/sources @@ -1,5 +1 @@ -0869cfd07d012b702ff08c0a4196624b fpcbuild-2.2.0.tar.gz -01fb41d3a6b0536939f63d684d916e5f fpc-2.2.0-samplecfg_32and64bit.patch -d78b19b59457bb98dacb6e3267fe3714 fpc-2.2.0.compiler.bin.tar.gz -02d1e509ba590b7de0817f69658f047f fpc-2.2.0-build-id.patch -3a5fbdcee3f36dbfaf57915456fa70e5 fpc-2.2.0-fpcdocs.patch +5c450b43281d9bee497622c114d2ca14 fpcbuild-2.2.2rc1.tar.gz