diff options
author | George Shapovalov <george@gentoo.org> | 2005-04-17 21:28:18 +0000 |
---|---|---|
committer | George Shapovalov <george@gentoo.org> | 2005-04-17 21:28:18 +0000 |
commit | 9ff38e02f5444e5fb161eccf26aa26557d091db1 (patch) | |
tree | 645ef448f9a79f775c9fa842a9c6fde1731f4cdf /dev-lang/gpc | |
parent | Stable on SPARC wrt security bug #89277. (diff) | |
download | gentoo-2-9ff38e02f5444e5fb161eccf26aa26557d091db1.tar.gz gentoo-2-9ff38e02f5444e5fb161eccf26aa26557d091db1.tar.bz2 gentoo-2-9ff38e02f5444e5fb161eccf26aa26557d091db1.zip |
new version, works with gcc-3.4.3
(Portage version: 2.0.51.19)
Diffstat (limited to 'dev-lang/gpc')
-rw-r--r-- | dev-lang/gpc/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/gpc/files/digest-gpc-20050331 | 2 | ||||
-rw-r--r-- | dev-lang/gpc/gpc-20040516.ebuild | 6 | ||||
-rw-r--r-- | dev-lang/gpc/gpc-20050331.ebuild | 179 |
4 files changed, 191 insertions, 4 deletions
diff --git a/dev-lang/gpc/ChangeLog b/dev-lang/gpc/ChangeLog index 7a619211c80c..f5d734957396 100644 --- a/dev-lang/gpc/ChangeLog +++ b/dev-lang/gpc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/gpc # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/ChangeLog,v 1.14 2004/11/11 09:41:33 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/ChangeLog,v 1.15 2005/04/17 21:28:18 george Exp $ + +*gpc-20050331 (17 Apr 2005) + + 17 Apr 2005; George Shapovalov <george@gentoo.org> gpc-20050331.ebuild : + new version, works with gcc-3.4.3 (#74887, #87619) + will remove 20040516 when this one is tested 11 Nov 2004; Michael Sterrett <mr_bones_@gentoo.org> -gpc-20030209.ebuild: removed - old and with QA issues. diff --git a/dev-lang/gpc/files/digest-gpc-20050331 b/dev-lang/gpc/files/digest-gpc-20050331 new file mode 100644 index 000000000000..a40fc68066f2 --- /dev/null +++ b/dev-lang/gpc/files/digest-gpc-20050331 @@ -0,0 +1,2 @@ +MD5 cdc1460ba7b3cc099d404c5fa1202f8a gpc-20050331.tar.bz2 2670786 +MD5 e744b30c834360fccac41eb7269a3011 gcc-3.4.3.tar.bz2 27425338 diff --git a/dev-lang/gpc/gpc-20040516.ebuild b/dev-lang/gpc/gpc-20040516.ebuild index 35c4e3a9f5f8..8f76b0e8cd99 100644 --- a/dev-lang/gpc/gpc-20040516.ebuild +++ b/dev-lang/gpc/gpc-20040516.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/gpc-20040516.ebuild,v 1.5 2004/07/02 04:26:54 eradicator Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/gpc-20040516.ebuild,v 1.6 2005/04/17 21:28:18 george Exp $ inherit eutils flag-o-matic @@ -19,7 +19,7 @@ SRC_URI="http://gnu-pascal.de/beta/${P}.tar.gz LICENSE="GPL-2" SLOT="0" -KEYWORDS="~x86 ~sparc ~amd64" +KEYWORDS="~sparc" IUSE="nls" DEPEND="virtual/libc diff --git a/dev-lang/gpc/gpc-20050331.ebuild b/dev-lang/gpc/gpc-20050331.ebuild new file mode 100644 index 000000000000..e1a8d1395139 --- /dev/null +++ b/dev-lang/gpc/gpc-20050331.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/gpc-20050331.ebuild,v 1.1 2005/04/17 21:28:18 george Exp $ + +inherit eutils flag-o-matic + +strip-flags +filter-flags "-pipe" + +#due to cache requirements we cannot dynamically match gcc version +#so sticking to a particular (and working) one +GCC_PV="3.4.3" + +DESCRIPTION="Gnu Pascal Compiler" +HOMEPAGE="http://gnu-pascal.de" +SRC_URI="http://www.g-n-u.de/gpc/${P}.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/releases/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.bz2" +#only need gcc-core (smaller download), but user will likely have this one already + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="nls" + +DEPEND="virtual/libc + =sys-devel/gcc-${GCC_PV}*" + +S="${WORKDIR}/gcc-${GCC_PV}" + +# Theoretical cross compiler support +[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" + +LOC="/usr" +#GCC_PVR=$(emerge -s gcc|grep "installed: 3.2"|cut -d ':' -f 2) +LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${GCC_PV}" +#BINPATH="${LOC}/${CCHOST}/gcc-bin/${GCC_PV}" +DATAPATH="${LOC}/share" +# Dont install in /usr/include/g++-v3/, but in gcc internal directory. +# We will handle /usr/include/g++-v3/ with gcc-config ... +STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}" + +src_unpack() { + unpack ${A} +# unpack "${P}.tar.gz" +# unpack "gcc-${GCC_PV}.tar.bz2" + + cd "${WORKDIR}/p" + + #comment out read to let ebuild continue + sed -i -e "s:read:#read:" config-lang.in || die "seding autoreplies failed" + #and remove that P var (it doesn't seem to do much but to fail inside the ebuild) + sed -i -e "s:\$(P)::" Make-lang.in || die "seding Make-lan.in failed" + + cd "${WORKDIR}" + mv p "${S}/gcc/" + + # Build in a separate build tree + mkdir -p ${WORKDIR}/build +} + +src_compile() { + local myconf + + if ! use nls + then + myconf="${myconf} --disable-nls" + else + myconf="${myconf} --enable-nls --without-included-gettext" + fi + + #Makefiles seems to use ${P} internally, need to wrap around +# SAVEP="${P}" +# unset P + + cd ${WORKDIR}/build + + einfo "Configuring GCC for GPC build..." + addwrite "/dev/zero" + ${S}/configure --prefix=${LOC} \ + --mandir=${DATAPATH}/man \ + --infodir=${DATAPATH}/info \ + --enable-shared \ + --host=${CHOST} \ + --target=${CCHOST} \ + --with-system-zlib \ + --enable-languages=pascal \ + --enable-threads=posix \ + --enable-long-long \ + --disable-checking \ + --disable-libunwind-exceptions \ + --enable-cstdio=stdio \ + --enable-clocale=generic \ + --enable-__cxa_atexit \ + --enable-version-specific-runtime-libs \ + --with-gxx-include-dir=${STDCXX_INCDIR} \ + --with-local-prefix=${LOC}/local \ + ${myconf} || die "configure failed" + + touch ${S}/gcc/c-gperf.h + + einfo "Building GPC..." + # Fix for our libtool-portage.patc + S="${WORKDIR}/build" emake -j1 LIBPATH="${LIBPATH}" || die "make failed" + +# P="${SAVEP}" +} + +src_install () { + # Do not allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as + # this can break the build. + for x in cd ${S}/gcc/include/* + do + if [ -L ${x} ] + then + rm -f ${x} + fi + done + + einfo "Installing GPC..." + +# SAVEP="${P}" +# unset P + + cd ${WORKDIR}/build + + make \ + prefix=${D}/usr \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + FAKE_ROOT="${D}" \ + install || die + + #now for the true magic :) + #gpc is based on gcc and therefore rebuilds gcc backend when compiled + #we do not want to overwrite it, do we? (even though the binaries are supposed to be the same) + #so do a dirty hack: + #go in to the image dir and delete everything inappropriate + + cd ${D}/usr/ + + mv bin bin.orig + mkdir bin + mv bin.orig/gpc* bin + rm -rf bin.orig + + #now lib + cd ${D}/usr/lib/ + rm libiberty.a + + cd ${D}/usr/lib/gcc-lib/${CHOST}/ + mv ${GCC_PV} ${GCC_PV}.orig + mkdir ${GCC_PV} + mv ${GCC_PV}.orig/{gpc1,gpcpp,libgpc.a,units} ${GCC_PV} + mkdir ${GCC_PV}/include + #mv ${GCC_PV}.orig/include/{gpc-in-c.h,curses.h,mm.h,ncurses.h} ${GCC_PV}/include/ + mv ${GCC_PV}.orig/include/gpc-in-c.h ${GCC_PV}/include/ + rm -rf ${GCC_PV}.orig + + + # Install documentation. + #gpc wants to install some files and a lot of demos under /usr/doc + #lets move it under /usr/share/doc + cd ${D}/usr/doc + mkdir -p ${D}/usr/share/doc/${PF} + mv gpc/* ${D}/usr/share/doc/${PF} + cd ${D}/usr/share/doc/${PF} + for fn in *; do [ -f $fn ] && gzip $fn; done + + #clean-up info pages + cd ${D}/usr/share/info + rm -rf cpp* gcc* + + #final clean up + cd ${D}/usr/ + rm -rf doc + rmdir include + rm -rf share/locale + +} |