diff options
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/gpc/ChangeLog | 7 | ||||
-rw-r--r-- | dev-lang/gpc/files/digest-gpc-2.1 | 2 | ||||
-rw-r--r-- | dev-lang/gpc/files/digest-gpc-20040516 | 2 | ||||
-rw-r--r-- | dev-lang/gpc/files/gpc-20020510_lang.h.patch | 10 | ||||
-rw-r--r-- | dev-lang/gpc/gpc-2.1.ebuild | 113 | ||||
-rw-r--r-- | dev-lang/gpc/gpc-20040516.ebuild | 183 | ||||
-rw-r--r-- | dev-lang/gpc/metadata.xml | 8 |
7 files changed, 199 insertions, 126 deletions
diff --git a/dev-lang/gpc/ChangeLog b/dev-lang/gpc/ChangeLog index 9740919ece7c..7d3e6195c79a 100644 --- a/dev-lang/gpc/ChangeLog +++ b/dev-lang/gpc/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-lang/gpc # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/ChangeLog,v 1.8 2004/06/07 20:41:50 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/ChangeLog,v 1.9 2004/06/13 01:01:55 george Exp $ + + 12 Jun 2004; George Shapovalov <george@gentoo.org> gpc-20040516.ebuild : + new beta out (this package does not have releases at all :), even betas are one a few years) + much cleaned and improved ebuild (#48377); + removed gpc-2.1 07 Jun 2004; Aron Griffis <agriffis@gentoo.org> gpc-20030209.ebuild: Fix use invocation diff --git a/dev-lang/gpc/files/digest-gpc-2.1 b/dev-lang/gpc/files/digest-gpc-2.1 deleted file mode 100644 index f785d8176df3..000000000000 --- a/dev-lang/gpc/files/digest-gpc-2.1 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 2db23cb4b36f078aabdda259f64700db gpc-2.1.tar.gz 2954007 -MD5 f3ad4f32c2296fad758ed051b5ac8e28 gcc-2.95.3.tar.gz 12911721 diff --git a/dev-lang/gpc/files/digest-gpc-20040516 b/dev-lang/gpc/files/digest-gpc-20040516 new file mode 100644 index 000000000000..64a525916585 --- /dev/null +++ b/dev-lang/gpc/files/digest-gpc-20040516 @@ -0,0 +1,2 @@ +MD5 34521ddbdbf9d1c9ebeb9d82f5ea0bc3 gpc-20040516.tar.gz 3146155 +MD5 3c6cfd9fcd180481063b4058cf6faff2 gcc-3.3.3.tar.bz2 23279245 diff --git a/dev-lang/gpc/files/gpc-20020510_lang.h.patch b/dev-lang/gpc/files/gpc-20020510_lang.h.patch deleted file mode 100644 index ecedf945a98d..000000000000 --- a/dev-lang/gpc/files/gpc-20020510_lang.h.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- lang.h-orig Sat May 11 00:09:23 2002 -+++ lang.h Sat May 11 00:09:47 2002 -@@ -22,6 +22,7 @@ - Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ - -+#define LONG64 - #ifndef _GPC_LANG_H - #define _GPC_LANG_H - diff --git a/dev-lang/gpc/gpc-2.1.ebuild b/dev-lang/gpc/gpc-2.1.ebuild deleted file mode 100644 index 6c016f403cb3..000000000000 --- a/dev-lang/gpc/gpc-2.1.ebuild +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 1999-2004 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/gpc-2.1.ebuild,v 1.15 2004/04/19 19:11:29 vapier Exp $ - -DESCRIPTION="Gnu Pascal Compiler" -HOMEPAGE="http://gnu-pascal.de/" -SRC_URI="http://gnu-pascal.de/current/${P}.tar.gz - ftp://gcc.gnu.org/pub/gcc/releases/gcc-2.95.3/gcc-2.95.3.tar.gz" -#only need gcc-core (smaller download), but user will likely have this one already - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 sparc" -IUSE="" - -DEPEND="virtual/glibc - ~sys-devel/gcc-2.95.3" - -S="${WORKDIR}/gcc-2.95.3" - -src_unpack() { - unpack "${P}.tar.gz" - unpack "gcc-2.95.3.tar.gz" - - #the release is just a renamed 20020510 package - #thus need to reset ${P} at this point - P=gpc-20020510 - - cd "${WORKDIR}/${P}/p" - - #comment out read to let ebuild continue - cp config-lang.in config-lang.in.orig - sed -e "s:read:#read:" config-lang.in.orig > config-lang.in - - #this fix seems to be specific to gentoo glibc - #one of the patches to glibc-2.2.5-r4 was causing problems - #if emake and -pipe were used when building gpc - #looks like this patch in not in glibc-2.2.5-r5, but I'll keep this fix - #it does not seem to do any harm - patch lang.h < ${FILESDIR}/gpc-20020510_lang.h.patch - - cd "${WORKDIR}/${P}" - mv p "${S}/gcc/" - - cd "${S}" -} - -src_compile() { - #lets reduce optimisation somewhat - export CFLAGS="${CFLAGS/-O?/-O2}" - export CXXFLAGS="${CXXFLAGS/-O?/-O2}" - - #it also looks like gpc does not like -pipe - #resolved! - #export CFLAGS="${CFLAGS/-pipe/}" - #export CXXFLAGS="${CXXFLAGS/-pipe/}" - - ./configure --enable-languages=pascal\ - --host=${CHOST} --build=${CHOST} --target=${CHOST} \ - --prefix=/usr \ - --enable-version-specific-runtime-libs \ - --infodir=/usr/share/info \ - --mandir=/usr/share/man || die "./configure failed" - emake || die - #make || die -} - -src_install() { - make \ - prefix=${D}/usr \ - mandir=${D}/usr/share/man \ - infodir=${D}/usr/share/info \ - 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/i686-pc-linux-gnu/ - mv 2.95.3 2.95.3.orig - mkdir 2.95.3 - mv 2.95.3.orig/{gpc1,gpcpp,libgpc.a,units} 2.95.3 - mkdir 2.95.3/include - mv 2.95.3.orig/include/gpc-in-c.h 2.95.3/include/ - rm -rf 2.95.3.orig - - - # Install documentation. - #gpc wants to install some files and a lot of demos under /usr/doc - #lets move it under /usr/share/doc - #(Ok, this is not the most buitiful way to do it, but it seems to be the easiest here :)) - cd ${D}/usr/doc - dodir /usr/share/doc/ - mv gpc/ ${D}/usr/share/doc/${P} - cd ${D}/usr/share/doc/${P} - for fn in *; do [ -f $fn ] && gzip $fn; done - - cd ${D}/usr/ - rmdir doc -} diff --git a/dev-lang/gpc/gpc-20040516.ebuild b/dev-lang/gpc/gpc-20040516.ebuild new file mode 100644 index 000000000000..22b6e849f2de --- /dev/null +++ b/dev-lang/gpc/gpc-20040516.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/gpc-20040516.ebuild,v 1.1 2004/06/13 01:01:55 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.3.3" + +DESCRIPTION="Gnu Pascal Compiler" +HOMEPAGE="http://gnu-pascal.de" +SRC_URI="http://gnu-pascal.de/beta/${P}.tar.gz + 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="~x86 ~sparc ~amd64" +IUSE="nls" + +DEPEND="virtual/glibc + =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}/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}/${P}" + 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 + + # Setup -j in MAKEOPTS + get_number_of_jobs + + einfo "Building GPC..." + # Fix for our libtool-portage.patc + S="${WORKDIR}/build" emake 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 + #(Ok, this is not the most buitiful way to do it, but it seems to be the easiest here :)) + 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 + +} diff --git a/dev-lang/gpc/metadata.xml b/dev-lang/gpc/metadata.xml new file mode 100644 index 000000000000..3e4a847f9bd2 --- /dev/null +++ b/dev-lang/gpc/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>lang-misc</herd> +<maintainer> + <email>george@gentoo.org</email> +</maintainer> +</pkgmetadata> |