[SM-Commit] GIT changes to master grimoire by Eric Sandall (3f9cec038f807d3b82a014ef1730ac0910fb8faf)

Eric Sandall scm at sourcemage.org
Sun Apr 13 11:37:02 EDT 2008


GIT changes to master grimoire by Eric Sandall <sandalle at sourcemage.org>:

 devel/fpc/BUILD                          |   35 +++++++++++++++++++++++++------
 devel/fpc/DETAILS                        |   21 ++++++++----------
 devel/fpc/FINAL                          |    9 -------
 devel/fpc/HISTORY                        |   15 +++++++++++++
 devel/fpc/INSTALL                        |   32 +++++++++++++++++++++-------
 devel/fpc/PRE_BUILD                      |   32 +++++++++++++++++++---------
 devel/fpc/fpc-2.2.0.i386-linux.tar.sig   |binary
 devel/fpc/fpc-2.2.0.x86_64-linux.tar.sig |binary
 8 files changed, 100 insertions(+), 44 deletions(-)

New commits:
commit 3f9cec038f807d3b82a014ef1730ac0910fb8faf
Author: Eric Sandall <sandalle at sourcemage.org>
Commit: Eric Sandall <sandalle at sourcemage.org>

    fpc: Install a default /etc/fpc.cfg

commit 87addbdd20dcc66bba16387a95465010a0494d6a
Author: Eric Sandall <sandalle at sourcemage.org>
Commit: Eric Sandall <sandalle at sourcemage.org>

    fpc: FPC 2.2.0 requires FPC 2.0.4 or newer, our old bootstrap was 2.0.0 (Bug #14408). Updated bootstrap to FPC 2.2.0 and added support for x86_64

diff --git a/devel/fpc/BUILD b/devel/fpc/BUILD
index 531b497..1c7f840 100755
--- a/devel/fpc/BUILD
+++ b/devel/fpc/BUILD
@@ -1,8 +1,31 @@
-make_single        &&
-if ! spell_ok fpc;then
-  make  all  PP=$SOURCE_DIRECTORY/bootstrap/lib/fpc/2.0.0/ppc386 \
-             DATA2INC=$SOURCE_DIRECTORY/bootstrap/bin/data2inc
+if    [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "ia32"    ]];  then
+  ARCH=386  # Yes, they switch between i386 and 386...
+elif  [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "x86_64"  ]];  then
+  ARCH=x64  # Yes, they switch between x86_64 and x64...
 else
-  make all
-fi &&
+  ARCH=386
+fi  &&
+
+make_single        &&
+
+#
+# First compile a local version with the bootstrap
+#
+make PP=$SOURCE_DIRECTORY/bootstrap/lib/fpc/$VERSION/ppc$ARCH compiler_cycle  &&
+cp $SOURCE_DIRECTORY/compiler/ppc$ARCH         \
+   $SOURCE_DIRECTORY/bootstrap/ppc$ARCH.local  &&
+
+#
+# Now recompile our new bootstrap with our local compiler
+#
+make PP=$SOURCE_DIRECTORY/bootstrap/ppc$ARCH.local compiler_cycle  &&
+rm -f $SOURCE_DIRECTORY/bootstrap/ppc$ARCH.local                   &&
+
+#
+# Build all with our newly forged local FPC
+#
+make PP=$SOURCE_DIRECTORY/compiler/ppc$ARCH rtl_clean                               &&
+make PP=$SOURCE_DIRECTORY/compiler/ppc$ARCH rtl packages_base_all packages_fcl_all  \
+                                            fv_all packages_extra_all utils         &&
+
 make_normal
diff --git a/devel/fpc/DETAILS b/devel/fpc/DETAILS
index 3c8a120..b7d6fce 100755
--- a/devel/fpc/DETAILS
+++ b/devel/fpc/DETAILS
@@ -5,21 +5,20 @@
 SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
    SOURCE_URL[0]=${SOURCEFORGE_URL}/freepascal/$SOURCE
         WEB_SITE=http://www.freepascal.org
-
-if ! spell_ok fpc ; then
-         SOURCE2=base.i386-linux.tar.gz
-         SOURCE3=utils.i386-linux.tar.gz
-  SOURCE2_URL[0]=http://w3studi.informatik.uni-stuttgart.de/~vonmerad/$SOURCE2
-  SOURCE3_URL[0]=http://w3studi.informatik.uni-stuttgart.de/~vonmerad/$SOURCE3
-    SOURCE2_HASH=sha512:69c3f8fa9c59898a3248eea2cbb294af634ae737f707c37d7df1c966cc4e109835d6ed29968f2ef9ee0a6b60337ad583ffa52253811a7eca79ed01c54ac96227
-    SOURCE3_HASH=sha512:9ebc0370fa8ca36efd3896fbc73c6e115272b850793f5edada67506ee75fc69cb865609c0ad2b0e9961cea8de4b54cf8de9eb69385f7d51b8dd8d5c0b288f7ec
+if    [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "ia32"    ]];  then
+         SOURCE2=$SPELL-$VERSION.i386-linux.tar
+elif  [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "x86_64"  ]];  then
+         SOURCE2=$SPELL-$VERSION.x86_64-linux.tar
+else
+         SOURCE2=$SPELL-$VERSION.i386-linux.tar
 fi
+  SOURCE2_URL[0]=$SOURCEFORGE_URL/freepascal/$SOURCE2
+     SOURCE2_GPG=gurus.gpg:$SOURCE2.sig:WORKS_FOR_ME
+  STAGED_INSTALL=off
       LICENSE[0]=GPL
+        KEYWORDS="pascal compiler devel"
          ENTERED=20050521
           CCACHE=off
-  STAGED_INSTALL=off
-#         ARCHIVE=off
-        KEYWORDS="pascal compiler devel"
            SHORT="a Pascal compiler"
 cat << EOF
 Free Pascal (aka FPK Pascal) is a 32 and 64 bit professional Pascal compiler.
diff --git a/devel/fpc/FINAL b/devel/fpc/FINAL
deleted file mode 100755
index 6b9ccc6..0000000
--- a/devel/fpc/FINAL
+++ /dev/null
@@ -1,9 +0,0 @@
-local CFG  &&
-CFG=fpc.cfg   &&
-if [[ ! -e $INSTALL_ROOT/etc/$CFG && ! -e ~/.fpc.cfg ]]; then
-  message "${PROBLEM_COLOR}Please create a $CFG file. ${MESSAGE_COLOR}"
-  message "Try:\nFPCPATH=/usr/lib/fpc/$VERSION &&"
-  message "fpcmkcfg > /etc/fpc.cfg ${DEFAULT_COLOR}"
-fi
-
-
diff --git a/devel/fpc/HISTORY b/devel/fpc/HISTORY
index d350679..78e41e4 100644
--- a/devel/fpc/HISTORY
+++ b/devel/fpc/HISTORY
@@ -1,3 +1,18 @@
+2008-04-13 Eric Sandall <sandalle at sourcemage.org>
+	* DETAILS: Updated bootstrap to FPC's 2.2.0 binaries (Bug #14408)
+	  Added support for x86_64
+	* PRE_BUILD: Unpack FPC's binary bootstrap
+	* BUILD: Not sure why, but building the targets, "rtl packages_base_all
+	  packages_fcl_all fv_all packages_extra_all utils" works, whereas
+	  "all" seems to clean out compiler/ppc$ARCH. Target list obtained
+	  from http://gentoo-portage.com/AJAX/Ebuild/51609
+	* INSTALL: Not sure why, but installing the targets, "compiler_install
+	  rtl_install packages_install fv_install utils_install" instead of
+	  "install" works. "install" clears out compiler/ppc$ARCH as well!
+	  from http://gentoo-portage.com/AJAX/Ebuild/51609
+	  Install a default /etc/fpc.cfg via install_config_file
+	* FINAL: No longer needed, we install a default /etc/fpc.cfg
+
 2007-09-09 Treeve Jelbert <treeve at sourcemage.org>
 	* DETAILS: version 2.2.0
 
diff --git a/devel/fpc/INSTALL b/devel/fpc/INSTALL
index f88b5a6..cc3dc8b 100755
--- a/devel/fpc/INSTALL
+++ b/devel/fpc/INSTALL
@@ -1,8 +1,24 @@
-local FPCDEST FPCDIR FPC_COMP FPC_MAKE                     &&
-FPCDEST=${INSTALL_ROOT}/usr                                &&
-FPCDIR=$FPCDEST/lib/fpc/${VERSION}                         &&
-FPC_COMP=$SOURCE_DIRECTORY/compiler/ppc386          &&
-FPC_MAKE=$SOURCE_DIRECTORY/utils/fpcm/fpcmake       &&
-mkdir -p $FPCDIR                                           &&
-make  install  PP=$FPC_COMP  INSTALL_PREFIX=$FPCDEST       &&
-ln -sf $FPCDIR/ppc386 $FPCDEST/bin                       
+if    [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "ia32"    ]];  then
+  ARCH=386
+elif  [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "x86_64"  ]];  then
+  ARCH=x64
+else
+  ARCH=386
+fi  &&
+
+local FPCDEST FPCDIR FPC_COMP FPC_MAKE                                         &&
+FPCDEST=${INSTALL_ROOT}/usr                                                    &&
+FPCDIR=$FPCDEST/lib/fpc/${VERSION}                                             &&
+FPC_COMP=$SOURCE_DIRECTORY/compiler/ppc$ARCH                                   &&
+FPC_MAKE=$SOURCE_DIRECTORY/utils/fpcm/fpcmake                                  &&
+mkdir -p $FPCDIR                                                               &&
+make PP=$FPC_COMP INSTALL_PREFIX=$FPCDEST FPCMAKE=$FPC_MAKE compiler_install   \
+     rtl_install packages_install fv_install utils_install                     &&
+ln -sf $FPCDIR/ppc$ARCH $FPCDEST/bin  &&
+
+#
+# Generate a default /etc/fpc.cfg
+#
+fpcmkcfg > $SOURCE_DIRECTORY/fpc.cfg            &&
+install_config_file  $SOURCE_DIRECTORY/fpc.cfg  \
+                     $INSTALL_ROOT/etc/fpc.cfg
diff --git a/devel/fpc/PRE_BUILD b/devel/fpc/PRE_BUILD
index fe3b0be..ce46de0 100755
--- a/devel/fpc/PRE_BUILD
+++ b/devel/fpc/PRE_BUILD
@@ -1,18 +1,30 @@
-default_pre_build      &&
-# can we use existing fpc?
-if ! spell_ok fpc; then
-  cd  $SOURCE_DIRECTORY  &&
-  mkdir  bootstrap       &&
-  cd     bootstrap       &&
-  unpack_file 2          &&
-  unpack_file 3  
-fi &&
+default_pre_build  &&
+
+if    [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "ia32"    ]];  then
+  ARCH=i386
+elif  [[  "${SMGL_COMPAT_ARCHS[1]}"  ==  "x86_64"  ]];  then
+  ARCH=x86_64
+else
+  ARCH=i386
+fi  &&
+
+#
+# Setup bootstrapping
+#
+cd  $SOURCE_DIRECTORY             &&
+mkdir  bootstrap                  &&
+cd     bootstrap                  &&
+unpack_file 2                     &&
+tar -xf  binary.$ARCH-linux.tar   &&
+tar -xzf base.$ARCH-linux.tar.gz  &&
+
 # we need  libgdb.a in our tree
 cd  $SOURCE_DIRECTORY    &&
 local GDB WHERE &&
 GDB=$INSTALL_ROOT/usr/lib/libgdb.a  &&
+
 if [ -e $GDB ];then
-  WHERE=packages/base/gdbint/libgdb/units/i386-linux/ &&
+  WHERE=packages/base/gdbint/libgdb/units/$ARCH-linux/ &&
   mkdir -p $WHERE &&
   cp $GDB $WHERE
 fi
diff --git a/devel/fpc/fpc-2.2.0.i386-linux.tar.sig b/devel/fpc/fpc-2.2.0.i386-linux.tar.sig
new file mode 100644
index 0000000..ac5b5fc
Binary files /dev/null and b/devel/fpc/fpc-2.2.0.i386-linux.tar.sig differ
diff --git a/devel/fpc/fpc-2.2.0.x86_64-linux.tar.sig b/devel/fpc/fpc-2.2.0.x86_64-linux.tar.sig
new file mode 100644
index 0000000..fdfbc5e
Binary files /dev/null and b/devel/fpc/fpc-2.2.0.x86_64-linux.tar.sig differ



More information about the SM-Commit mailing list