OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   12-Nov-2006 19:12:04
  Branch: HEAD                             Handle: 2006111218120400

  Added files:
    openpkg-src/gcc43       gcc43.patch gcc43.spec

  Log:
    new package: gcc43 4.3s20061111 (GNU Compiler Collection)

  Summary:
    Revision    Changes     Path
    1.1         +87 -0      openpkg-src/gcc43/gcc43.patch
    1.1         +336 -0     openpkg-src/gcc43/gcc43.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/gcc43/gcc43.patch
  ============================================================================
  $ cvs diff -u -r0 -r1.1 gcc43.patch
  --- /dev/null 2006-11-12 19:11:01 +0100
  +++ gcc43.patch       2006-11-12 19:12:04 +0100
  @@ -0,0 +1,87 @@
  +Index: config.guess
  +--- config.guess.orig        2004-11-16 01:57:00 +0100
  ++++ config.guess     2005-09-20 15:29:05 +0200
  +@@ -189,7 +189,7 @@
  +             release='-gnu'
  +             ;;
  +         *)
  +-            release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
  ++            release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
  +             ;;
  +     esac
  +     # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
  +Index: gcc/config/alpha/osf.h
  +--- gcc/config/alpha/osf.h.orig      2003-12-12 02:19:23.000000000 +0100
  ++++ gcc/config/alpha/osf.h   2004-04-26 21:25:14.000000000 +0200
  +@@ -78,7 +78,7 @@
  +    constructor and call-frame data structures are not accidentally
  +    overridden.  */
  + #define LINK_SPEC  \
  +-  "-G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \
  ++  "-oldstyle_liblookup %{!o:-o a.out} -G 8 %{O*:-O3} %{!O*:-O1} -S 
%{static:-non_shared} \
  +    %{!static:%{shared:-shared -hidden_symbol _GLOBAL_*} \
  +    %{!shared:-call_shared}} %{pg} %{taso} %{rpath*}"
  + 
  +Index: gcc/config/i386/sol2.h
  +--- gcc/config/i386/sol2.h.orig      2004-06-14 19:31:27 +0200
  ++++ gcc/config/i386/sol2.h   2004-06-21 09:53:21 +0200
  +@@ -78,6 +78,9 @@
  + #undef ASM_QUAD
  + #endif
  + 
  ++#undef DEFAULT_PCC_STRUCT_RETURN
  ++#define DEFAULT_PCC_STRUCT_RETURN 1
  ++
  + /* The Solaris assembler wants a .local for non-exported aliases.  */
  + #define ASM_OUTPUT_DEF_FROM_DECLS(FILE, DECL, TARGET)       \
  +   do {                                                      \
  +Index: gcc/config/sol2.h
  +--- gcc/config/sol2.h.orig   2004-07-17 23:18:56 +0200
  ++++ gcc/config/sol2.h        2005-09-19 22:01:15 +0200
  +@@ -144,8 +144,8 @@
  +   "%{h*} %{v:-V} \
  +    %{b} %{Wl,*:%*} \
  +    %{static:-dn -Bstatic} \
  +-   %{shared:-G -dy %{!mimpure-text:-z text}} \
  +-   %{symbolic:-Bsymbolic -G -dy -z text} \
  ++   %{shared:-G -dy} \
  ++   %{symbolic:-Bsymbolic -G -dy} \
  +    %(link_arch) \
  +    %{Qy:} %{!Qn:-Qy}"
  + 
  +Index: gcc/system.h
  +--- gcc/system.h.orig        2003-08-23 20:03:05.000000000 +0200
  ++++ gcc/system.h     2003-09-03 20:02:11.000000000 +0200
  +@@ -319,10 +319,6 @@
  + extern char *strstr (const char *, const char *);
  + #endif
  + 
  +-#ifdef HAVE_MALLOC_H
  +-#include <malloc.h>
  +-#endif
  +-
  + #if defined (HAVE_DECL_MALLOC) && !HAVE_DECL_MALLOC
  + extern void *malloc (size_t);
  + #endif
  +Index: libcpp/internal.h
  +--- libcpp/internal.h.orig   2004-09-09 21:16:55 +0200
  ++++ libcpp/internal.h        2004-09-27 20:04:43 +0200
  +@@ -33,6 +33,7 @@
  + #if HAVE_ICONV
  + #include <iconv.h>
  + #else
  ++#undef  HAVE_ICONV
  + #define HAVE_ICONV 0
  + typedef int iconv_t;  /* dummy */
  + #endif
  +Index: libcpp/charset.c
  +--- libcpp/charset.c.orig    2005-11-04 00:08:18 +0100
  ++++ libcpp/charset.c 2006-02-01 19:59:53 +0100
  +@@ -75,6 +75,7 @@
  + #define iconv_open(x, y) (errno = EINVAL, (iconv_t)-1)
  + #define iconv(a,b,c,d,e) (errno = EINVAL, (size_t)-1)
  + #define iconv_close(x)   (void)0
  ++#undef ICONV_CONST
  + #define ICONV_CONST
  + #endif
  + 
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/gcc43/gcc43.spec
  ============================================================================
  $ cvs diff -u -r0 -r1.1 gcc43.spec
  --- /dev/null 2006-11-12 19:11:01 +0100
  +++ gcc43.spec        2006-11-12 19:12:04 +0100
  @@ -0,0 +1,336 @@
  +##
  +##  gcc43.spec -- OpenPKG RPM Package Specification
  +##  Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +#   FIXME: rse: unconditionally required gmp/mpfr, although it should be for 
fortran only, shouldn't it?
  +
  +#   package version
  +%define       V_full         4.3
  +%define       V_comp         43
  +%define       V_snap         20061111
  +
  +#   package information
  +Name:         gcc43
  +Summary:      GNU Compiler Collection
  +URL:          http://gcc.gnu.org/
  +Vendor:       Free Software Foundation
  +Packager:     OpenPKG Foundation e.V.
  +Distribution: OpenPKG Community
  +Class:        EVAL
  +Group:        Compiler
  +License:      GPL
  +Version:      %{V_full}s%{V_snap}
  +Release:      20061112
  +
  +#   package options
  +%option       with_cxx       yes
  +%option       with_objc      no
  +%option       with_java      no
  +%option       with_fortran   no
  +%option       with_optimize  yes
  +%option       with_profile   no
  +%option       with_binutils  yes
  +%option       with_threads   yes
  +%option       with_gcc       no
  +
  +#   list of sources
  +Source0:      
ftp://gcc.gnu.org/pub/gcc/snapshots/%{V_full}-%{V_snap}/gcc-%{V_full}-%{V_snap}.tar.bz2
  +Patch0:       gcc43.patch
  +
  +#   build information
  +Prefix:       %{l_prefix}
  +BuildRoot:    %{l_buildroot}
  +BuildPreReq:  OpenPKG, openpkg >= 20060622, make, flex, bison, texinfo
  +PreReq:       OpenPKG, openpkg >= 20060622
  +%if "%{with_binutils}" == "yes"
  +BuildPreReq:  binutils >= 2.14
  +PreReq:       binutils >= 2.14
  +%endif
  +#   %if "%{with_fortran}" == "yes"
  +BuildPreReq:  mpfr, gmp
  +PreReq:       mpfr, gmp
  +#   %endif
  +%if "%{with_java}" == "yes"
  +BuildPreReq:  zlib
  +PreReq:       zlib
  +%endif
  +AutoReq:      no
  +AutoReqProv:  no
  +%if "%{with_gcc}" == "yes"
  +Provides:     gcc = %{version}-%{release}
  +%endif
  +
  +%description
  +    The GNU Compiler Collection (GCC) provides a standard conforming and
  +    highly portable ISO C and ISO C++ compiler.
  +
  +%track
  +    prog gcc43 = {
  +        version   = %{V_full}-%{V_snap}
  +        url       = ftp://gcc.gnu.org/pub/gcc/snapshots/
  +        regex     = (%{V_full}-\d{8})
  +        url       = ftp://gcc.gnu.org/pub/gcc/snapshots/__NEWVER__/
  +        regex     = gcc-(\d+\.\d+-\d{8})\.tar\.bz2
  +    }
  +
  +%prep
  +    %setup -q -n gcc-%{V_full}-%{V_snap}
  +    %patch -p0
  +    %{l_shtool} subst -v -s \
  +        -e 's;PREFIX_INCLUDE_DIR;PREFIX_INCLUDE_DIR_DISABLED;g' \
  +        gcc/configure
  +    %{l_shtool} subst -v -s \
  +        -e 's;\(VERSUFFIX "\)\("\);\1 (%{l_openpkg_release -F 
"OpenPKG-%%t"})\2;' \
  +        -e 's;\(bug_report_url\[\] = 
"\)[^"]*;\1<URL:http://www.openpkg.org/>;' \
  +        gcc/version.c
  +    if [ ".%{V_comp}" != . ]; then
  +        %{l_shtool} subst -v -s \
  +            -e 's;(libdir)/gcc/;(libdir)/gcc%{V_comp}/;' \
  +            `find . -name Makefile.in -type f -print`
  +    fi
  +    case "%{l_platform -t}" in
  +        amd64*-linux* )
  +            %{l_shtool} subst \
  +                -e 's/GLIBCXX_IS_NATIVE=false/GLIBCXX_IS_NATIVE=true/g' \
  +                -e 's/test x.gcc_no_link = xyes/false/g' \
  +                libstdc++-v3/configure
  +            ;;
  +    esac
  +
  +%build
  +    #   create build sub-directory
  +    mkdir obj
  +    cd obj
  +
  +    #   determine ld(1) and as(1) usage
  +    l_with_gnu_ld_as=""
  +%if "%{with_binutils}" == "yes"
  +    l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-gnu-ld 
--with-ld=%{l_prefix}/bin/ld"
  +    l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-gnu-as 
--with-as=%{l_prefix}/bin/as"
  +%else
  +    case "%{l_platform -t}" in
  +       *-linux* | *-freebsd* )
  +           l_with_gnu_ld_as="${l_with_gnu_ld_as} --with-gnu-as --with-gnu-ld"
  +           ;;
  +    esac
  +%endif
  +
  +    #   determine threads usage
  +%if "%{with_threads}" == "yes"
  +    l_enable_threads="posix"
  +%else
  +    l_enable_threads="single"
  +%endif
  +
  +    #   override threads setting for platforms with known limitations
  +    case "%{l_platform -t}" in
  +        *-netbsd1.6* ) l_enable_threads="single" ;;
  +    esac
  +
  +    #   determine language usage
  +    l_enable_languages="c"
  +%if "%{with_cxx}" == "yes"
  +    l_enable_languages="${l_enable_languages},c++"
  +%endif
  +%if "%{with_objc}" == "yes"
  +    l_enable_languages="${l_enable_languages},objc"
  +%endif
  +%if "%{with_java}" == "yes"
  +    l_enable_languages="${l_enable_languages},java"
  +%endif
  +%if "%{with_fortran}" == "yes"
  +    l_enable_languages="${l_enable_languages},f95"
  +%endif
  +
  +    #   disable GNU iconv usage
  +    ( echo "am_cv_func_iconv=no"
  +      echo "am_cv_lib_iconv=no"
  +    ) >config.cache
  +
  +    #   configure the package
  +    CC="%{l_cc}" \
  +    CFLAGS="%{l_cflags}" \
  +%if "%{with_java}" == "yes" || "%{with_fortran}" == "yes"
  +    CPPFLAGS="%{l_cppflags}" \
  +    LDFLAGS="%{l_ldflags}" \
  +%endif
  +    CONFIG_SHELL="%{l_bash}" \
  +    ../configure \
  +        --cache-file=./config.cache \
  +        --srcdir=`pwd`/.. \
  +        --prefix=%{l_prefix} \
  +        --exec-prefix=%{l_prefix} \
  +        --includedir=%{l_prefix}/include/gcc%{V_comp} \
  +        --libexecdir=%{l_prefix}/libexec/gcc%{V_comp} \
  +        --with-gxx-include-dir=%{l_prefix}/include/g++%{V_comp} \
  +        --with-local-prefix=%{l_prefix}/lib/gcc%{V_comp} \
  +        --enable-languages="${l_enable_languages}" \
  +        --enable-threads="${l_enable_threads}" \
  +        --disable-maintainer-mode \
  +        --disable-shared \
  +        --disable-nls \
  +%if "%{with_java}" == "yes"
  +        --with-system-zlib \
  +%endif
  +        --with-gmp=%{l_prefix} \
  +        --with-mpfr=%{l_prefix} \
  +        ${l_with_gnu_ld_as}
  +
  +    #   determine build flags
  +    l_ccisgcc=no
  +    if [ ".`(%{l_cc} -v; %{l_cc} --version) </dev/null 2>&1 | grep -i 
'gcc'`" != . ]; then
  +        l_ccisgcc=yes
  +    fi
  +    l_cflags=""
  +    l_boot_cflags=""
  +    l_libcflags="-g"
  +    l_libcxxflags="-g"
  +    case "%{l_platform -t}" in
  +        alpha*-tru64* ) if [ ".$l_ccisgcc" = .no ]; then 
l_libcflags="$l_libcflags -ieee"; fi ;;
  +    esac
  +%if "%{with_binutils}" == "yes"
  +    #   at least GNU as from GNU binutils supports -pipe always
  +    l_boot_cflags="$l_boot_cflags -pipe"
  +    l_libcxxflags="$l_libcxxflags -pipe"
  +%endif
  +%if "%{with_optimize}" == "yes"
  +    #   conservatively optimize the generated program code
  +    #   (also _tune_ for particular CPUs, but _without_ requiring these 
CPUs!)
  +    l_cflags="$l_cflags -O"
  +    l_boot_cflags="$l_boot_cflags -O2 -fomit-frame-pointer"
  +    case "%{l_platform -t}" in
  +        *i?86-*     ) l_boot_cflags="$l_boot_cflags -mtune=pentium3" ;;
  +        *sun4[uv]-* ) l_boot_cflags="$l_boot_cflags -mtune=v9"       ;;
  +    esac
  +    l_libcxxflags="$l_libcxxflags -O2 -fno-implicit-templates"
  +%else
  +    #   else do no optimizations at all to reduce problems to minimum in 
advance
  +    l_boot_cflags="$l_boot_cflags -O0"
  +    l_libcxxflags="$l_libcxxflags -O0"
  +%endif
  +    maketarget="bootstrap-lean"
  +%if "%{with_profile}" == "yes"
  +    #   GCC >= 3.4 supports a "profiledbootstrap" target to build an
  +    #   optimized version of itself through profiling. Because this
  +    #   requires a (bootstrapping) C compiler with 64-bit arithmetic,
  +    #   the whole approach is currently supported only if already
  +    #   building with GCC as the bootstrapping C compiler.
  +    if [ ".$l_ccisgcc" = .yes ]; then
  +        maketarget="profiledbootstrap"
  +    fi
  +%endif
  +
  +    #   build the package
  +    %{l_make} %{l_mflags} \
  +        MAKE="%{l_make} %{l_mflags}" \
  +        BOOT_CFLAGS="${l_boot_cflags}" \
  +        CFLAGS="${l_cflags}" \
  +        LIBCFLAGS="${l_libcflags}" \
  +        LIBCXXFLAGS="${l_libcxxflags}" \
  +        $maketarget
  +
  +%install
  +    rm -rf $RPM_BUILD_ROOT
  +
  +    #   fetch GNU platform triple
  +    triple=`./config.guess`
  +
  +    #   perform the standard installation procedure
  +    ( cd obj
  +      %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
  +    ) || exit $?
  +
  +    #   cleanup installation tree
  +    mv $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.a \
  +       $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/
  +    dirs=""
  +    for multilib in `$RPM_BUILD_ROOT%{l_prefix}/bin/gcc --print-multi-lib`; 
do
  +        subdir=`echo "$multilib" | sed -e 's/;.*$//'`
  +        [ ".$subdir" = .. ] && continue
  +        mv $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir/lib*.a \
  +           
$RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/$subdir/
  +        dirs="$dirs $subdir"
  +    done
  +    for subdir in $dirs; do
  +        rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir
  +    done
  +    mv $RPM_BUILD_ROOT%{l_prefix}/${triple}/include/* \
  +       $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/include/ 
\
  +           >/dev/null 2>&1 || true
  +
  +    #   strip installation tree
  +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/${triple}
  +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/info/dir
  +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/man/man7   >/dev/null 2>&1 || true
  +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/lib/*.la   >/dev/null 2>&1 || true
  +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-gcc* >/dev/null 2>&1 || true
  +%if "%{with_cxx}" == "yes"
  +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-c++  >/dev/null 2>&1 || true
  +    rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/*-g++  >/dev/null 2>&1 || true
  +%endif
  +    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  +    for prog in cc1 cc1plus collect2 cpp; do
  +        strip 
$RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}/${triple}/[0-9]*/${prog} \
  +            >/dev/null 2>&1 || true
  +    done
  +
  +    #   bump up installation tree
  +    ln $RPM_BUILD_ROOT%{l_prefix}/bin/gcc \
  +       $RPM_BUILD_ROOT%{l_prefix}/bin/cc
  +    ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gcc.1 \
  +       $RPM_BUILD_ROOT%{l_prefix}/man/man1/cc.1
  +%if "%{with_cxx}" == "yes"
  +    ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/g++.1 \
  +       $RPM_BUILD_ROOT%{l_prefix}/man/man1/c++.1
  +%endif
  +
  +    #   resolve filename conflicts
  +%if "%{with_gcc}" != "yes" && "%{V_comp}" != ""
  +    ( cd $RPM_BUILD_ROOT%{l_prefix}/bin
  +      for file in *; do
  +          [ ".$file" = ".*" ] && continue
  +          mv ${file} ${file}%{V_comp}
  +      done
  +    ) || exit $?
  +    ( cd $RPM_BUILD_ROOT%{l_prefix}/info
  +      for file in *; do
  +          [ ".$file" = ".*" ] && continue
  +          mv ${file} `echo ${file} | sed -e 
's;^\([^.]*\)\(\..*\)$;\1%{V_comp}\2;'`
  +      done
  +    ) || exit $?
  +    ( cd $RPM_BUILD_ROOT%{l_prefix}/man/man1
  +      for file in *; do
  +          [ ".$file" = ".*" ] && continue
  +          mv ${file} `echo ${file} | sed -e 
's;^\([^.]*\)\(\..*\)$;\1%{V_comp}\2;'`
  +      done
  +    ) || exit $?
  +%endif
  +
  +    #   determine installation file list
  +    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  +
  +%files -f files
  +
  +%clean
  +    rm -rf $RPM_BUILD_ROOT
  +
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     openpkg-cvs@openpkg.org

Reply via email to