Portage is a package management system used by Gentoo Linux
# ChangeLog for dev-lang/gpc
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/ChangeLog,v 1.20 2007/05/06 17:32:23 dertobi123 Exp $
06 May 2007; Tobias Scherbaum
Added ~ppc, bug #154116
22 Feb 2007; Piotr JaroszyĆski
Transition to Manifest2.
10 Jun 2006; George Shapovalov
-gpc-20050331.ebuild:
pulled old version for which matching gcc has been removed
26 Jan 2006; Gustavo Zacarias
Added ROOTPATH in env.d/56gpc, keyworded ~sparc wrt #119138
*gpc-20051104 (17 Jan 2006)
17 Jan 2006; George Shapovalov
new version, dependency on gcc is no longer necessary (slightly different
build, #119138)
*gpc-20050331 (17 Apr 2005)
17 Apr 2005; George Shapovalov
new version, works with gcc-3.4.3 (#74887, #87619)
will remove 20040516 when this one is tested
11 Nov 2004; Michael Sterrett
removed - old and with QA issues.
01 Jul 2004; Jeremy Huddleston
gpc-20040516.ebuild:
virtual/glibc -> virtual/libc
14 Jun 2004; George Shapovalov
parallel build fails, fixed to use "emake -j1"
12 Jun 2004; George Shapovalov
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
Fix use invocation
*gpc-20030209 (14 Feb 2003)
14 Feb 2003; George Shapovalov
new version, now works with gcc-3.x
06 Dec 2002; Rodney Rees
*gpc-2.1 (10 May 2002)
gpc-2.1 has been released. Updated ebuild and removed pre-release versions
(otherwise naming conflict is developed - 2.1 is seen as older version
than daily builds)
*gpc-20020410, (13 Apr 2002)
10 Apr 2002; G Shapovalov
gpc-r6 has been released. Updated ebuild to use this version (ebuild rename sufficed).
*gpc-20020402, (10 Apr 2002)
1 Feb 2002; G.Bevin
Added initial ChangeLog which should be updated whenever the package is
updated in any way. This changelog is targetted to users. This means that the
comments should well explained and written in clean English. The details about
writing correct changelogs are explained in the skel.ChangeLog file which you
can find in the root directory of the portage repository.
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
EBUILD gpc-20051104.ebuild 4094 RMD160 bd8d72e4dcdc673316c341de818fcce533aab272 SHA1 bf89d4aeb71362e8b85a151cb3499e886f673e1b SHA256 8bb43d2527f5215a5734252d585b89ea066bd8e513377d3752207ecb91ceba3c
MISC ChangeLog 2895 RMD160 8bf865be8d691a75854490d93fe31c878b7ada86 SHA1 8bd29c04305b95999c61ad582a2a4e9b119a9ec1 SHA256 101cbb1aa93e8e14fc4e73c8e3a2637f5362366993b38decc29f382fa041dcb1
MISC metadata.xml 224 RMD160 001a3a6ee7e3ca9e70b53c116f7df0ebe1d3e8a1 SHA1 5244c902037d5a5f27728184eceeaeddc6a7d44e SHA256 27b05468d7c517e62392b84aafae8e26e08a48f017f39ba67f3df769cabb829a
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/gpc/gpc-20051104.ebuild,v 1.4 2007/06/26 01:50:04 mr_bones_ Exp $
inherit eutils flag-o-matic versionator
strip-flags
filter-flags "-pipe"
#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"
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
emake -j1 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
}