[fpc] Upgrade to upstream release 2.6.0. Do not use samplecfg for generating the configuration files anymo

Joost van der Sluis-Jansen joost at fedoraproject.org
Sat Jan 28 13:22:41 UTC 2012


commit 3193f12499bb63e6cf30210d246c3c8056923b2f
Author: Joost van der Sluis <joost at cnoc.nl>
Date:   Sat Jan 28 14:21:38 2012 +0100

    Upgrade to upstream release 2.6.0.
    Do not use samplecfg for generating the configuration files anymore, but
    call fpcmkcfg directly.
    Changed the name of the project from Freepascal to Free Pascal

 .gitignore  |    1 +
 default.cft |    8 ++
 fpc.cft     |  253 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 fpc.spec    |   47 +++++++----
 fppkg.cfg   |   11 +++
 sources     |    2 +-
 6 files changed, 305 insertions(+), 17 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 57a296f..5fc4902 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 fpcbuild-2.4.0.tar.gz
 /fpcbuild-2.4.2rc1.tar.gz
 /fpcbuild-2.4.2.tar.gz
+/fpcbuild-2.6.0.tar.gz
diff --git a/default.cft b/default.cft
new file mode 100644
index 0000000..92dbed7
--- /dev/null
+++ b/default.cft
@@ -0,0 +1,8 @@
+[Defaults]
+ConfigVersion=4
+GlobalPrefix=%GlobalPrefix%
+GlobalInstallDir={GlobalPrefix}%lib%/fpc/{CompilerVersion}
+LocalPrefix={LocalRepository}
+Compiler=%fpcbin%
+OS=%fpctargetos%
+CPU=%fpctarget%
diff --git a/fpc.cft b/fpc.cft
new file mode 100644
index 0000000..b9e02cf
--- /dev/null
+++ b/fpc.cft
@@ -0,0 +1,253 @@
+#
+# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%
+# Example fpc.cfg for Free Pascal Compiler
+#
+
+# ----------------------
+# Defines (preprocessor)
+# ----------------------
+
+#
+# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
+#
+# -d is the same as #DEFINE
+# -u is the same as #UNDEF
+#
+
+#
+# Some examples (for switches see below, and the -? helppages)
+#
+# Try compiling with the -dRELEASE or -dDEBUG on the commandline
+#
+
+# For a release compile with optimizes and strip debuginfo
+#IFDEF RELEASE
+  -O2
+  -Xs
+  #WRITE Compiling Release Version
+#ENDIF
+
+# For a debug version compile with debuginfo and all codegeneration checks on
+#IFDEF DEBUG
+  -gl
+  -Crtoi
+  #WRITE Compiling Debug Version
+#ENDIF
+
+# assembling
+#ifdef darwin
+# use pipes instead of temporary files for assembling
+-ap
+#endif
+
+# ----------------
+# Parsing switches
+# ----------------
+
+# Pascal language mode
+#      -Mfpc      free pascal dialect (default)
+#      -Mobjfpc   switch some Delphi 2 extensions on
+#      -Mdelphi   tries to be Delphi compatible
+#      -Mtp       tries to be TP/BP 7.0 compatible
+#      -Mgpc      tries to be gpc compatible
+#      -Mmacpas   tries to be compatible to the macintosh pascal dialects
+#
+# Turn on Object Pascal extensions by default
+#-Mobjfpc
+
+# Assembler reader mode
+#      -Rdefault  use default assembler
+#      -Ratt      read AT&T style assembler
+#      -Rintel    read Intel style assembler
+#
+# All assembler blocks are AT&T styled by default
+#-Ratt
+
+# Semantic checking
+#      -S2        same as -Mobjfpc
+#      -Sc        supports operators like C (*=,+=,/= and -=)
+#      -Sa        include assertion code.
+#      -Sd        same as -Mdelphi
+#      -Se<x>     error options. <x> is a combination of the following:
+#         <n> : compiler stops after <n> errors (default is 1)
+#         w   : compiler stops also after warnings
+#         n   : compiler stops also after notes
+#         h   : compiler stops also after hints
+#      -Sg        allow LABEL and GOTO
+#      -Sh        Use ansistrings
+#      -Si        support C++ styled INLINE
+#      -Sk        load fpcylix unit
+#      -SI<x>     set interface style to <x>
+#         -SIcom    COM compatible interface (default)
+#         -SIcorba  CORBA compatible interface
+#      -Sm        support macros like C (global)
+#      -So        same as -Mtp
+#      -Sp        same as -Mgpc
+#      -Ss        constructor name must be init (destructor must be done)
+#      -Sx        enable exception keywords (default in Delphi/ObjFPC modes)
+#
+# Allow goto, inline, C-operators, C-vars
+-Sgic
+
+# ---------------
+# Code generation
+# ---------------
+
+# Uncomment the next line if you always want static/dynamic units by default
+# (can be overruled with -CD, -CS at the commandline)
+#-CS
+#-CD
+
+# Set the default heapsize to 8Mb
+#-Ch8000000
+
+# Set default codegeneration checks (iocheck, overflow, range, stack)
+#-Ci
+#-Co
+#-Cr
+#-Ct
+
+# Optimizer switches
+# -Os        generate smaller code
+# -Oa=N      set alignment to N
+# -O1        level 1 optimizations (quick optimizations, debuggable)
+# -O2        level 2 optimizations (-O1 + optimizations which make debugging more difficult)
+# -O3        level 3 optimizations (-O2 + optimizations which also may make the program slower rather than faster)
+# -Oo<x>     switch on optimalization x. See fpc -i for possible values
+# -OoNO<x>   switch off optimalization x. See fpc -i for possible values
+# -Op<x>     set target cpu for optimizing, see fpc -i for possible values
+
+#ifdef darwin
+#ifdef cpui386
+-Cppentiumm
+-Oppentiumm
+#endif
+#endif
+
+# -----------------------
+# Use BuildId by default
+# -----------------------
+-k--build-id
+
+# -----------------------
+# Set Filenames and Paths
+# -----------------------
+
+# Both slashes and backslashes are allowed in paths
+
+# path to the messagefile, not necessary anymore but can be used to override
+# the default language
+#-Fr%basepath%/lib/fpc/$fpcversion/msg/errore.msg
+#-Fr%basepath%/lib/fpc/$fpcversion/msg/errorn.msg
+#-Fr%basepath%/lib/fpc/$fpcversion/msg/errores.msg
+#-Fr%basepath%/lib/fpc/$fpcversion/errord.msg
+#-Fr%basepath%/lib/fpc/$fpcversion/errorr.msg
+
+# searchpath for units and other system dependent things
+#IFDEF CPU64
+-Fu%basepath%/lib64/fpc/$fpcversion/units/$fpctarget
+-Fu%basepath%/lib64/fpc/$fpcversion/units/$fpctarget/*
+-Fu%basepath%/lib64/fpc/$fpcversion/units/$fpctarget/rtl
+#ELSE
+-Fu%basepath%/lib/fpc/$fpcversion/units/$fpctarget
+-Fu%basepath%/lib/fpc/$fpcversion/units/$fpctarget/*
+-Fu%basepath%/lib/fpc/$fpcversion/units/$fpctarget/rtl
+#ENDIF
+
+#IFDEF FPCAPACHE_1_3
+#IFDEF CPU64
+-Fu%basepath%/lib64/fpc/$fpcversion/units/$fpctarget/httpd13/
+#ELSE
+-Fu%basepath%/lib/fpc/$fpcversion/units/$fpctarget/httpd13/
+#ENDIF
+#ELSE
+#IFDEF FPCAPACHE_2_0
+#IFDEF CPU64
+-Fu%basepath%/lib64/fpc/$fpcversion/units/$fpctarget/httpd20/
+#ELSE
+-Fu%basepath%/lib/fpc/$fpcversion/units/$fpctarget/httpd20/
+#ENDIF
+#ELSE
+#IFDEF CPU64
+-Fu%basepath%/lib64/fpc/$fpcversion/units/$fpctarget/httpd22/
+#ELSE
+-Fu%basepath%/lib/fpc/$fpcversion/units/$fpctarget/httpd22/
+#ENDIF
+#ENDIF
+#ENDIF
+
+# searchpath for fppkg user-specific packages
+-Fu%localbasepath%/units/$FPCTARGET/*
+
+# path to the gcclib
+%gcclibpath%
+
+# searchpath for libraries
+#-Fl%basepath%/lib/fpc/$fpcversion/lib
+#-Fl/lib;/usr/lib
+
+# searchpath for tools
+#IFDEF CPU64
+-FD%basepath%/lib64/fpc/$fpcversion/bin/$FPCTARGET
+#ELSE
+-FD%basepath%/lib/fpc/$fpcversion/bin/$FPCTARGET
+#ENDIF
+
+%NEEDCROSSBINUTILSIFDEF%
+
+# binutils prefix for cross compiling
+#IFDEF FPC_CROSSCOMPILING
+#IFDEF NEEDCROSSBINUTILS
+  -XP$FPCTARGET-
+#ENDIF
+#ENDIF
+
+
+# -------------
+# Linking
+# -------------
+
+# generate always debugging information for GDB (slows down the compiling
+# process)
+#      -gc        generate checks for pointers
+#      -gd        use dbx
+#      -gg        use gsym
+#      -gh        use heap trace unit (for memory leak debugging)
+#      -gl        use line info unit to show more info for backtraces
+#      -gv        generates programs tracable with valgrind
+#      -gw        generate dwarf debugging info
+#
+# Enable debuginfo and use the line info unit by default
+#-gl
+
+# always pass an option to the linker
+#-k-s
+
+# Always strip debuginfo from the executable
+-Xs
+
+
+# -------------
+# Miscellaneous
+# -------------
+
+# Write always a nice FPC logo ;)
+-l
+
+# Verbosity
+#      e : Show errors (default)       d : Show debug info
+#      w : Show warnings               u : Show unit info
+#      n : Show notes                  t : Show tried/used files
+#      h : Show hints                  s : Show time stamps
+#      i : Show general info           q : Show message numbers
+#      l : Show linenumbers            c : Show conditionals
+#      a : Show everything             0 : Show nothing (except errors)
+#      b : Write file names messages   r : Rhide/GCC compatibility mode
+#          with full path              x : Executable info (Win32 only)
+#      v : write fpcdebug.txt with     p : Write tree.log with parse tree
+#          lots of debugging info
+#
+# Display Info, Warnings and Notes
+-viwn
+# If you don't want so much verbosity use
+#-vw
diff --git a/fpc.spec b/fpc.spec
index 31cefd6..c2788c1 100644
--- a/fpc.spec
+++ b/fpc.spec
@@ -1,6 +1,6 @@
 Name:           fpc
-Version:        2.4.2
-Release:        3%{?dist}
+Version:        2.6.0
+Release:        1%{?dist}
 Summary:        Free Pascal Compiler
 
 Group:          Development/Languages
@@ -11,9 +11,10 @@ Source0:        ftp://ftp.freepascal.org/pub/fpc/dist/${version}/source/fpcbuild
 # But it's not in an 'if defined' block, since the file has to be included in the srpm
 # 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:         fpc-2.4.2-samplecfg_32and64bit.patch
-Patch1:         fpc-2.4.2-build-id.patch
-Patch2:         fpc-2.4.2-r15671.patch
+# Configuration templates:
+Source2:        fpc.cft
+Source3:        fppkg.cfg
+Source4:        default.cft
 
 Requires:       gpm, ncurses, binutils
 %if ! %{defined useprebuiltcompiler}
@@ -25,29 +26,29 @@ ExcludeArch:    s390 s390x
 
 %description
 
-Freepascal is a free 32/64bit Pascal Compiler. It comes with a run-time
+Free Pascal is a free 32/64bit Pascal Compiler. It comes with a run-time
 library and is fully compatible with Turbo Pascal 7.0 and nearly Delphi
 compatible. Some extensions are added to the language, like function
 overloading and generics. Shared libraries can be linked. This package
-contains commandline compiler and utils. Provided units are the runtime
+contains command-line compiler and utils. Provided units are the runtime
 library (RTL), free component library (FCL) and the base and extra packages.
 
 %package doc
-Summary:        Freepascal Compiler - documentation and examples
+Summary:        Free Pascal Compiler - documentation and examples
 Group:          Documentation
 
 %description doc
 
 The fpc-doc package contains the documentation (in pdf format) and examples
-of Freepascal.
+of Free Pascal.
 
 %package src
-Summary:        Freepascal Compiler - sources
+Summary:        Free Pascal Compiler - sources
 Group:          Development/Languages
 
 %description src
 
-The fpc-src package contains the sources of Freepascal, for documentation or
+The fpc-src package contains the sources of Free Pascal, for documentation or
 automatical-code generation purposes.
 
 %define smart _smart 
@@ -72,9 +73,6 @@ automatical-code generation purposes.
 %else
 %setup -n fpcbuild-%{version} -q
 %endif
-%patch0
-%patch1
-%patch2
 
 %build
 # The source-files:
@@ -131,8 +129,17 @@ make -C fpcdocs pdfinstall ${INSTALLOPTS}
 # create link
 ln -sf ../%{_lib}/%{name}/%{version}/%{ppcname} %{buildroot}%{_bindir}/%{ppcname}
 
-# Create a version independent config
-%{buildroot}/%{_libdir}/%{name}/%{version}/samplecfg %{_exec_prefix} %{buildroot}%{_sysconfdir} %{buildroot}%{_exec_prefix}
+# Create a version independent compiler-configuration file with build-id
+# enabled by default
+# For this purpose some non-default templates are used. So the samplecfg
+# script could not be used and fpcmkcfg is called directly.
+%{buildroot}%{_bindir}/fpcmkcfg -p -t %{SOURCE2} -d "basepath=%{_exec_prefix}" -o %{buildroot}%{_sysconfdir}/fpc.cfg
+# Create the IDE configuration files
+%{buildroot}%{_bindir}/fpcmkcfg -p -1 -d "basepath=%{_libdir}/%{name}/\$fpcversion" -o %{buildroot}%{_libdir}/%{name}/%{version}/ide/text/fp.cfg
+%{buildroot}%{_bindir}/fpcmkcfg -p -2 -o %{buildroot}%{_libdir}/%{name}/%{version}/ide/text/fp.ini
+# Create the fppkg configuration files
+%{buildroot}%{_bindir}/fpcmkcfg -p -t %{SOURCE3} -d CompilerConfigDir=%{_sysconfdir}/fppkg -d arch=%{_arch} -o %{buildroot}%{_sysconfdir}/fppkg.cfg
+%{buildroot}%{_bindir}/fpcmkcfg -p -t %{SOURCE4} -d fpcbin=%{_bindir}/fpc -d GlobalPrefix=%{_exec_prefix} -d lib=%{_lib} -o %{buildroot}%{_sysconfdir}/fppkg/default_%{_arch}
 
 # Include the COPYING-information for the compiler/rtl/fcl in the documentation
 cp -a fpcsrc/compiler/COPYING.txt %{buildroot}%{_defaultdocdir}/%{name}-%{version}/COPYING
@@ -156,6 +163,8 @@ rm -rf %{buildroot}
 %{_bindir}/*
 %{_libdir}/%{name}
 %config(noreplace) %{_sysconfdir}/%{name}.cfg
+%config(noreplace) %{_sysconfdir}/fppkg.cfg
+%config(noreplace) %{_sysconfdir}/fppkg/default_%{_arch}
 %dir %{_defaultdocdir}/%{name}-%{version}/
 %doc %{_defaultdocdir}/%{name}-%{version}/NEWS
 %doc %{_defaultdocdir}/%{name}-%{version}/README
@@ -175,6 +184,12 @@ rm -rf %{buildroot}
 %{_datadir}/fpcsrc
 
 %changelog
+* Fri Jan 27 2012 Joost van der Sluis <joost at cnoc.nl> - 2.6.0-1
+- Upgrade to upstream release 2.6.0.
+- Do not use samplecfg for generating the configuration files anymore, but
+  call fpcmkcfg directly.
+- Changed the name of the project from Freepascal to Free Pascal
+
 * Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.4.2-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
diff --git a/fppkg.cfg b/fppkg.cfg
new file mode 100644
index 0000000..547efd7
--- /dev/null
+++ b/fppkg.cfg
@@ -0,0 +1,11 @@
+[Defaults]
+ConfigVersion=4
+LocalRepository=%LocalRepository%
+BuildDir={LocalRepository}build/
+ArchivesDir={LocalRepository}archives/
+CompilerConfigDir=%CompilerConfigDir%
+RemoteMirrors=http://www.freepascal.org/repository/mirrors.xml
+RemoteRepository=auto
+CompilerConfig=default_%arch%
+FPMakeCompilerConfig=default_%arch%
+Downloader=lnet
diff --git a/sources b/sources
index 1159108..933400a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-35ff506cca77b999097ffed61705be95  fpcbuild-2.4.2.tar.gz
+17375e665a4e1311f85812fe2754f609  fpcbuild-2.6.0.tar.gz


More information about the scm-commits mailing list