diff options
author | George Shapovalov <george@gentoo.org> | 2008-12-27 13:21:06 +0000 |
---|---|---|
committer | George Shapovalov <george@gentoo.org> | 2008-12-27 13:21:06 +0000 |
commit | 63a58469bbf0e56b616860da1a0d497ff634f7af (patch) | |
tree | 26340edbe1fff2617673924cdcd171fd4d0c04d7 | |
parent | Unmask gnome-do-0.6 (diff) | |
download | historical-63a58469bbf0e56b616860da1a0d497ff634f7af.tar.gz historical-63a58469bbf0e56b616860da1a0d497ff634f7af.tar.bz2 historical-63a58469bbf0e56b616860da1a0d497ff634f7af.zip |
new version, staying with the 3.4 backend, as 4.1 has performace regressions. (#252323)
Package-Manager: portage-2.2_rc18/cvs/Linux 2.6.27-gentoo-r6 x86_64
-rw-r--r-- | dev-lang/gpc/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/gpc/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/gpc/gpc-20070904.ebuild | 163 |
3 files changed, 173 insertions, 2 deletions
diff --git a/dev-lang/gpc/ChangeLog b/dev-lang/gpc/ChangeLog index 9047e5d57f25..6e18ab83295b 100644 --- a/dev-lang/gpc/ChangeLog +++ b/dev-lang/gpc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/gpc # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/ChangeLog,v 1.22 2008/12/27 12:26:15 george Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/ChangeLog,v 1.23 2008/12/27 13:21:06 george Exp $ + +*gpc-20070904 (27 Dec 2008) + + 27 Dec 2008; George Shapovalov <george@gentoo.org> +gpc-20070904.ebuild: + new version, staying with the 3.4 backend, as 4.1 has performace + regressions (#252323) 27 Dec 2008; George Shapovalov <george@gentoo.org> gpc-20051104.ebuild: forcing env-update and added elog to ask user to source /etc/profile diff --git a/dev-lang/gpc/Manifest b/dev-lang/gpc/Manifest index 25dd0cc36336..eb0a71da7024 100644 --- a/dev-lang/gpc/Manifest +++ b/dev-lang/gpc/Manifest @@ -1,5 +1,7 @@ DIST gcc-core-3.4.5.tar.bz2 13397308 RMD160 d0b1f2748929d319b68e80542edfe1251a867c81 SHA1 0a21072e1f5d7cbc50f3b045b1fd45c85be1fad1 SHA256 8a2824b12a1cae8b68de3be0a8fd2da14918462e6afa27c3578ccfc8ab10d0fc DIST gpc-20051104.tar.bz2 2616173 RMD160 db97fd55f541e57c4637905a5bfce16c373520bf SHA1 36caff070ac4bee076a14bd43a6dc8cd3484725a SHA256 55e5ecce73fcd06f6377c95be3cedc47cd70547ef32d5da18a4c7778bf2becca +DIST gpc-20070904.tar.bz2 2724008 RMD160 ad62b4c51bab618ee1555de04d23eeba22f15201 SHA1 ba9b82c55d6ae8c9c39263bba905a518f0828407 SHA256 5158632503da0e237c28600dd9a6714d9036d5277ff025b16dcef83b4f492ae8 EBUILD gpc-20051104.ebuild 4401 RMD160 7c7b68e64b15fbf2db61560ef4a1e10715df4f02 SHA1 e938acfdd67ef3c761e5ee52bf415b0508f27bd0 SHA256 8fb709cfc703dc0463a7098b79001d808c604ac41577edd40af6ece0e3017ca7 -MISC ChangeLog 3217 RMD160 51efc9088ba127a26519f853dbbeb3699ea33448 SHA1 34815f8e8a3c9fdca1a6644b0c197c19f52c3f84 SHA256 973f77939415ccf43011f56bc68b59117721cb8a21e169c4e52f6f2f543ed109 +EBUILD gpc-20070904.ebuild 4431 RMD160 f9e5c1f840c63061cf6e59a05e088c61a1b6a2ac SHA1 55ab01baf6ec6293fdca34f1238a7a9601b4cefc SHA256 5cf4e89524736689462c72492e810bcb566a1c1f7f27e39f99ad25c7df7f452f +MISC ChangeLog 3413 RMD160 158cbd12b91bba53287d113f25969cafbcf2b9b8 SHA1 d7d46a8daca55226e48315442858af30b9b1d4bc SHA256 2006aaeb5a3991c4cfb47308526f1f172e69dfa6c6a85aa091c6378b7dd9b75c MISC metadata.xml 224 RMD160 001a3a6ee7e3ca9e70b53c116f7df0ebe1d3e8a1 SHA1 5244c902037d5a5f27728184eceeaeddc6a7d44e SHA256 27b05468d7c517e62392b84aafae8e26e08a48f017f39ba67f3df769cabb829a diff --git a/dev-lang/gpc/gpc-20070904.ebuild b/dev-lang/gpc/gpc-20070904.ebuild new file mode 100644 index 000000000000..dd00b637c648 --- /dev/null +++ b/dev-lang/gpc/gpc-20070904.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/gpc-20070904.ebuild,v 1.1 2008/12/27 13:21:06 george Exp $ + +inherit eutils flag-o-matic versionator + +strip-flags +filter-flags "-pipe" +replace-cpu-flags "native" "" + +#due to cache requirements we cannot dynamically match gcc version +#so sticking to a particular (and working) one +GCCVER="3.4.5" + +DESCRIPTION="Gnu Pascal Compiler" +HOMEPAGE="http://gnu-pascal.de" +SRC_URI="http://www.math.uni.wroc.pl/~hebisch/${PN}/${P}.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/releases/gcc-${GCCVER}/gcc-core-${GCCVER}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="nls" + +DEPEND="virtual/libc" + +S="${WORKDIR}/gcc-${GCCVER}" + +# GCC version strings +GCCMAJOR=$(get_version_component_range 1 "${GCCVER}") +GCCMINOR=$(get_version_component_range 2 "${GCCVER}") +GCCBRANCH=$(get_version_component_range 1-2 "${GCCVER}") +GCCRELEASE=$(get_version_component_range 1-3 "${GCCVER}") + +# possible future crosscompilation support +export CTARGET=${CTARGET:-${CHOST}} + +PREFIX="/usr" +LIBPATH="${PREFIX}/lib/${PN}/${CTARGET}/${GCCBRANCH}" +LIBEXECPATH="${PREFIX}/libexec/${PN}/${CTARGET}/${GCCBRANCH}" +INCLUDEPATH="${LIBPATH}/include" +DATAPATH="${PREFIX}/share" + +BUILDDIR="${WORKDIR}/build" + +src_unpack() { + unpack ${A} + + 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 except to break a build) + sed -i -e "s:\$(P)::" Make-lang.in || die "seding Make-lan.in failed" + + cd "${WORKDIR}" + mv ${P}/p "${S}/gcc/" + + # Build in a separate build tree + mkdir -p ${BUILDDIR} +} + +src_compile() { + local myconf + + if use nls; then + myconf="${myconf} --enable-nls --without-included-gettext" + else + myconf="${myconf} --disable-nls" + fi + + # reasonably sane globals (from toolchain) + myconf="${myconf} \ + --with-system-zlib \ + --disable-checking \ + --disable-werror \ + --disable-libunwind-exceptions" + + use amd64 && myconf="${myconf} --disable-multilib" + + cd ${BUILDDIR} + + einfo "Configuring GCC for GPC build..." +# addwrite "/dev/zero" + "${S}"/configure \ + --prefix=${PREFIX} \ + --libdir="${LIBPATH}" \ + --libexecdir="${LIBEXECPATH}" \ + --datadir=${DATAPATH} \ + --mandir=${DATAPATH}/man \ + --infodir=${DATAPATH}/info \ + --program-prefix="" \ + --enable-shared \ + --host=${CHOST} \ + --target=${CTARGET} \ + --enable-languages="c,pascal" \ + --enable-threads=posix \ + --enable-long-long \ + --enable-cstdio=stdio \ + --enable-clocale=generic \ + --enable-__cxa_atexit \ + --enable-version-specific-runtime-libs \ + --with-local-prefix=${PREFIX}/local \ + ${myconf} || die "configure failed" + + touch "${S}"/gcc/c-gperf.h + + einfo "Building GPC..." + # Fix for our libtool-portage.patc + MAKEOPTS="${MAKEOPTS} -j1" emake LIBPATH="${LIBPATH}" bootstrap || die "make failed" +} + +src_install () { + # Do not allow symlinks in ${PREFIX}/lib/gcc-lib/${CHOST}/${PV}/include as + # this can break the build. + for x in cd ${BUILDDIR}/gcc/include/*; do + if [ -L ${x} ]; then + rm -f ${x} + fi + done + + einfo "Installing GPC..." + cd ${BUILDDIR}/gcc + make DESTDIR="${D}" \ + pascal.install-with-gcc || die + + # gcc insists on installing libs in its own place + mv "${D}${LIBPATH}/gcc/${CTARGET}/${GCCRELEASE}"/* "${D}${LIBPATH}" + if [ "${ARCH}" == "amd64" ]; then + # ATTN! this may in fact be related to multilib, rather than amd64 + mv "${D}${LIBPATH}/gcc/${CTARGET}"/lib64/libgcc_s* "${D}${LIBPATH}" + mv "${D}${LIBPATH}/gcc/${CTARGET}"/lib/libgcc_s* "${D}${LIBPATH}"/32/ + fi + mv "${D}${LIBEXECPATH}/gcc/${CTARGET}/${GCCRELEASE}"/* "${D}${LIBEXECPATH}" + + rm -rf "${D}${LIBPATH}/gcc" + rm -rf "${D}${LIBEXECPATH}/gcc" + rm -rf "${D}${LIBEXECPATH}"/install-tools/ + + # Install documentation. + dodir /usr/share/doc/${PF} + mv "${D}${PREFIX}"/doc/gpc/* "${D}"/usr/share/doc/${PF} + prepalldocs + + # final cleanups + rmdir "${D}${PREFIX}"/include "${D}/${PREFIX}"/share/man/man7 + rm -rf "${D}${PREFIX}"/doc + + # create an env.d entry + dodir /etc/env.d + echo "PATH=${LIBEXECPATH}" > "${D}"etc/env.d/56gpc + echo "ROOTPATH=${LIBEXECPATH}" >> "${D}"etc/env.d/56gpc +} + +pkg_postinst () +{ + # need to update environment, as we have installed new env.d file + env-update + einfo + elog "the environment has been set to use gpc," + elog "please don't forget to source /etc/profile" + einfo +} |