summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Shapovalov <george@gentoo.org>2005-04-17 21:28:18 +0000
committerGeorge Shapovalov <george@gentoo.org>2005-04-17 21:28:18 +0000
commit9ff38e02f5444e5fb161eccf26aa26557d091db1 (patch)
tree645ef448f9a79f775c9fa842a9c6fde1731f4cdf /dev-lang/gpc
parentStable on SPARC wrt security bug #89277. (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--dev-lang/gpc/files/digest-gpc-200503312
-rw-r--r--dev-lang/gpc/gpc-20040516.ebuild6
-rw-r--r--dev-lang/gpc/gpc-20050331.ebuild179
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
+
+}