ChangeLog

# ChangeLog for dev-ada/asis-gcc
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/ChangeLog,v 1.12 2008/04/16 15:06:24 george Exp $

16 Apr 2008; asis-gcc-4.3.0_pre132166.ebuild:
added DEPEND on ghostscript to make sure ps2pdf is provided. Changed
DEPEND on tetex to latex-base.

*asis-gcc-4.3.0_pre132166 (29 Feb 2008)

29 Feb 2008; George Shapovalov
+asis-gcc-4.3.0_pre132166.ebuild:
added new prerelease for the 4.3 SLOT (tools from 4.2; asis modified by V. Godunko)
fixed a slip in gcc->gnatgcc substitution for 4.2.2

10 Feb 2008; Markus Meier asis-gcc-3.4.6.ebuild:
x86 stable, bug #209000

09 Feb 2008; George Shapovalov asis-gcc-3.4.6.ebuild:
backported collision fix, adjusted DEPEND to have all necessary docs
generatiors

*asis-gcc-4.2.2 (08 Feb 2008)

08 Feb 2008; George Shapovalov +asis-gcc-4.2.2.ebuild:
added (finally) an asis version for gnat-gcc-4.2 series. Only one per major
version seems sufficient now, as Ada stuff in gcc is kept stable between
major releases. Adjusted DEPEND correspondingly.

27 Feb 2007; George Shapovalov asis-gcc-4.1.1.ebuild, asis-gcc-3.4.6.ebuild:
backported gnatmake related fix from 4.1.2

*asis-gcc-4.1.2-r1 (27 Feb 2007)

27 Feb 2007; George Shapovalov
+asis-gcc-4.1.2-r1.ebuild:
added a fix to building due to gnatmake behavior.

*asis-gcc-4.1.2 (17 Feb 2007)

17 Feb 2007; George Shapovalov +asis-gcc-4.1.2.ebuild:
new version to match new gnat-gcc

25 Jan 2007; Marius Mauch asis-gcc-3.4.6.ebuild,
asis-gcc-4.1.1.ebuild:
Replacing einfo with elog

*asis-gcc-3.4.6 (24 Oct 2006)

24 Oct 2006; George Shapovalov +asis-gcc-3.4.6.ebuild:
added asis for gnat-gcc-3.4.6

*asis-gcc-4.1.1 (24 Oct 2006)

24 Oct 2006; George Shapovalov +metadata.xml,
+asis-gcc-4.1.1.ebuild:
added asis for gnat-gcc-4.1.1

Manifest

DIST asis-3.4.4.tar.bz2 2874938 RMD160 ec6acf720c4fb6a386fa6da8de40f88b5b9f310d SHA1 949725a605ffa92e30cdc53b397483d38078a90c SHA256 2d3546d04839801ef617005e60ee24be9a0004f8481c70e3ea51a17443d094d5
DIST asis-gcc-4.1.1.tar.bz2 2938979 RMD160 08112f7c283543f1350d894ca363da1e7c1d1c7f SHA1 b3ec85d7da9be03d788def2a9c7060e350e06429 SHA256 712674ad21d21c9aec59e3f4db35cb92b01a6fbc1fc80450f801666f0ac2827e
DIST asis-gcc-4.1.2.tar.bz2 2617806 RMD160 851e91181d396c60899858d922edea2ed6f170a6 SHA1 ce2043f9b246da196bc4d2af27f1e9860dee1bcd SHA256 37466312b6c43ada02b704893b509af449ab1833bc6e3cddea40344cb8972c5e
DIST asis-gcc-4.2.2.tar.bz2 2474467 RMD160 c5b5d26c83a41b71b1b44bd55100b23e77629c70 SHA1 38b6881c02ff53b63d508fefaa2700d1cc39823e SHA256 5da24ed1cb73845facf062d0c277bbb978fcddf3e5ac2706859205cb8ac875bb
DIST asis-gcc-4.3.0_pre132166.tar.bz2 2552217 RMD160 d8ec051778d58e3c9e00dc433309843555691ce7 SHA1 8a3690dff45eaf9e9e6813e93ef07da6fab819b8 SHA256 663144c94a3c30ec8d9af16f1b6cb40f271e858d43bdd44a9c170257a5d21263
EBUILD asis-gcc-3.4.6.ebuild 4641 RMD160 5f45237a897d1fcad14dbe32ccf86d9c71d24845 SHA1 a16443d2161e8ab1b13c258bd0de8268603b84e1 SHA256 d5011960f71677a97d7f0234c76c0c6a35ac10bde1e83e61b84f8c44422bc84c
EBUILD asis-gcc-4.1.1.ebuild 4939 RMD160 d1c0362951eed2ce8f5f8fe25274efd4b0dee8fd SHA1 c86be95b745901a5e6b812c73c1743f1a2ee5973 SHA256 10f10a9c58f7cc07d290f9f3bd9526130174cf6965f9c9c3224c45117b5e13c7
EBUILD asis-gcc-4.1.2-r1.ebuild 4637 RMD160 880779b9e7598d757893b8c975e00f41ec09c225 SHA1 38e70b518767a7d87c395375554ada89a9a05677 SHA256 802e3b2e72a2b5817d0e2f8d197198ed442c240601458bc946dbfe35d317ba39
EBUILD asis-gcc-4.1.2.ebuild 4717 RMD160 49db19085bbef61b2e03c438f158cb6b8c9b1f18 SHA1 54aad1843d0fe971f1cb8e3aac8d9f57eb9982bb SHA256 a1230b54ca4bc010a8658434b9cd7cc08ddc5b1ef58c1448b6812f77ec5b58f2
EBUILD asis-gcc-4.2.2.ebuild 4806 RMD160 441696b720ab9afdf452e58b765b1d9659e75399 SHA1 67ac95014291d2c76901ad0789a6fcd395393679 SHA256 24d4bd98d8827d4f7a43d4379645413713b679881333f73b9cb6b32cc8819239
EBUILD asis-gcc-4.3.0_pre132166.ebuild 4840 RMD160 e0b09ae6dcb6c8882634f4dc1d41025fcde78b6f SHA1 886a9dca6b886ada5d7c4a46fbb5c5886fc70315 SHA256 cc28f11452bb1d234ccc1cd49463a2842946f8107d3438428990a5a55d86ce59
MISC ChangeLog 2110 RMD160 1a338b5c541b1f004b64e3731e309627db59a9e4 SHA1 e7001d241b97501b500bc9ad07d50ed7751f6dea SHA256 5d072fc9b11a1b9dda4e0d13f253bec0b13a25fd5e1e263a319447709b33e3b9
MISC metadata.xml 697 RMD160 bb7db4aaaa1ac14f321b0f2d9958835b29d03cde SHA1 2a40deb3b8729e82013db46498802e6c49708c6f SHA256 d32f466670f99fd6e28bb2c1e1257adac3f78db0d8d325f9507a81f9b9a5f975

asis-gcc-3.4.6.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/asis-gcc-3.4.6.ebuild,v 1.9 2008/02/10 21:12:55 maekke Exp $

inherit eutils flag-o-matic gnatbuild

DESCRIPTION="The Ada Semantic Interface Specification (tools tied to compiler). GnuAda version"
HOMEPAGE="http://gnuada.sourceforge.net/"
LICENSE="GMGPL"

KEYWORDS="~amd64 x86"

Gnat_Name="gnat-gcc"
My_PN="asis"
My_PV="3.4.4"

SRC_URI="mirror://gentoo/${My_PN}-${My_PV}.tar.bz2"

IUSE="doc"
RDEPEND="=dev-lang/gnat-gcc-${PV}*"
DEPEND="${RDEPEND}
doc? ( virtual/tetex
app-text/texi2html
app-text/ghostscript-gpl )"

S="${WORKDIR}/${My_PN}-${My_PV}"

# Execstack is not nearly as dangerous in Ada as in C and would require a lot of
# work to work around. See bug #141315.
QA_EXECSTACK="usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis-${SLOT}.so
usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis.a
usr/*/gnat-gcc-bin/${SLOT}/*"

# it may be even better to force plain -O2 -pipe -ftracer here
replace-flags -O3 -O2

# we need to adjust some vars defined in gnatbuild.eclass so that they use
# gnat-gcc instead of asis
My_LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
My_BINPATH=${BINPATH/${PN}/${Gnat_Name}}
My_DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}

pkg_setup() {
currGnat=$(eselect --no-color gnat show | grep "gnat-" | awk '{ print $1 }')
if [[ "${currGnat}" != "${CTARGET}-${Gnat_Name}-${SLOT}" ]]; then
echo
eerror "The active gnat profile does not correspond to the selected"
eerror "version of asis! Please install the appropriate gnat (if you"
eerror "did not so yet) and run:"
eerror "eselect gnat set ${CTARGET}-${Gnat_Name}-${SLOT}"
eerror "env-update && source /etc/profile"
eerror "and then emerge =dev-ada/asis-${PV} again.."
echo
die
fi
if [[ -e ${My_LIBPATH}/adalib/libasis.a ]] ; then
echo
ewarn "gnatmake of gnat-gcc unfortunately has problems forcind the build"
ewarn "if the package is already installed."
eerror "Please unmerge asis-gcc first and then resume the merge:"
eerror "emerge --unmerge asis-gcc && emerge asis-gcc"
echo
die
fi
}

src_unpack() {
unpack ${A}
}

src_compile() {
# Build the shared library first, we need -fPIC here
gnatmake -Pasis -cargs ${CFLAGS} || die "building libasis.a failed"
gnatmake -Pasis_dyn -f -cargs ${CFLAGS} || die "building libasis.so failed"

# build tools
# we need version.o generated for all the tools
gcc -c -o obj/version.o gnat/version.c
for fn in asistant gnatelim gnatstub ; do
pushd tools/${fn}
gnatmake -o ${fn} ${fn}-driver.adb -I../../asis/ -I../../gnat/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd
done

pushd tools/adabrowse
gcc -c util-nl.c
gnatmake -I../../asis -I../../gnat adabrowse -L../../lib -cargs ${CFLAGS} \
-largs -lasis ../../obj/version.o || die
popd
pushd tools/semtools
gnatmake -I../../asis -I../../gnat adadep -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
gnatmake -I../../asis -I../../gnat adasubst -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
popd

# common stuff is just docs in this case
if use doc; then
pushd documentation
make all || die "Failed while compiling documentation"
for fn in *.ps; do ps2pdf ${fn}; done
popd
fi
}

src_install () {
# install the lib
dodir ${My_LIBPATH}/adalib
chmod 0755 lib_dyn/libasis.so
cp lib_dyn/libasis.so "${D}${My_LIBPATH}"/adalib/libasis-${SLOT}.so
insinto ${My_LIBPATH}/adalib
doins obj/*.ali
doins lib/libasis.a
# make appropriate symlinks
pushd "${D}${My_LIBPATH}"/adalib
ln -s libasis-${SLOT}.so libasis.so
popd
# sources
insinto ${My_LIBPATH}/adainclude
doins gnat/*.ad[sb]
doins asis/*.ad[sb]
# two files are already part of gnat, removing to avoid collision
rm "${D}${My_LIBPATH}"/adainclude/g-string.ad?

# tools
mkdir -p "${D}${My_BINPATH}"
for fn in tools/{adabrowse,asistant,gnatelim,gnatstub}; do
cp ${fn}/${fn:6} "${D}${My_BINPATH}"
done
cp tools/semtools/ada{dep,subst} "${D}${My_BINPATH}"

if use doc; then
# docs and examples
dodoc documentation/*.{txt,ps}
dohtml documentation/*.html
insinto /usr/share/doc/${PF}
doins -r documentation/*.pdf
# info's should go into gnat-gpl dirs
insinto ${My_DATAPATH}/info/
doins documentation/*.info
fi

insinto /usr/share/doc/${PF}
doins -r examples/ tutorial/ templates/
}

pkg_postinst() {
echo
elog "The ASIS is installed for the active gnat compiler at gnat's location."
elog "No further configuration is necessary. Enjoy."
echo
}

asis-gcc-4.1.1.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.1.1.ebuild,v 1.7 2008/01/24 21:24:23 george Exp $

inherit eutils flag-o-matic gnatbuild

DESCRIPTION="The Ada Semantic Interface Specification (tools tied to compiler). GnuAda version"
HOMEPAGE="http://gnuada.sourceforge.net/"
LICENSE="GMGPL"

KEYWORDS="~amd64 ~x86"

Gnat_Name="gnat-gcc"
My_PN="asis"
SRC_URI="mirror://gentoo/${P}.tar.bz2"

IUSE="doc"
RDEPEND="=dev-lang/gnat-gcc-${PV}*"
DEPEND="${RDEPEND}
doc? ( virtual/tetex
app-text/texi2html )"

# overwriting gnatboot's S
S="${WORKDIR}/${My_PN}-${PV}"

# Execstack is not nearly as dangerous in Ada as in C and would require a lot of
# work to work around. See bug #141315.
QA_EXECSTACK="usr/lib/gnat-gcc/*/${SLOT}/adalib/libasis-4.1.so
usr/lib/gnat-gcc/*/${SLOT}/adalib/libasis.a
usr/*/gnat-gcc-bin/${SLOT}/*"

# it may be even better to force plain -O2 -pipe -ftracer here
replace-flags -O3 -O2

# we need to adjust some vars defined in gnatbuild.eclass so that they use
# gnat-gcc instead of asis
My_LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
My_BINPATH=${BINPATH/${PN}/${Gnat_Name}}
My_DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}

pkg_setup() {
currGnat=$(eselect --no-color gnat show | grep "gnat-" | awk '{ print $1 }')
if [[ "${currGnat}" != "${CTARGET}-${Gnat_Name}-${SLOT}" ]]; then
echo
eerror "The active gnat profile does not correspond to the selected"
eerror "version of asis! Please install the appropriate gnat (if you"
eerror "did not so yet) and run:"
eerror "eselect gnat set ${CTARGET}-${Gnat_Name}-${SLOT}"
eerror "env-update && source /etc/profile"
eerror "and then emerge =dev-ada/asis-${PV} again.."
echo
die
fi
if [[ -e ${My_LIBPATH}/adalib/libasis.a ]] ; then
echo
ewarn "gnatmake of gnat-gcc unfortunately has problems forcind the build"
ewarn "if the package is already installed."
eerror "Please unmerge asis-gcc first and then resume the merge:"
eerror "emerge --unmerge asis-gcc && emerge asis-gcc"
echo
die
fi
}

# we need to avoid calling gnatboot_src_unpack
src_unpack() {
unpack ${A}
}

src_compile() {
# Build the shared library first, we need -fPIC here
gnatmake -Pasis -cargs ${CFLAGS} || die "building libasis.a failed"
gnatmake -Pasis_dyn -f -cargs ${CFLAGS} || die "building libasis.so failed"

# build tools
# we need version.o generated for all the tools
gcc -c -o obj/version.o gnat/version.c
for fn in gnatelim gnatstub gnatpp ; do
pushd tools/${fn}
gnatmake -o ${fn} ${fn}-driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd
done
pushd tools/gnatmetric
gnatmake -o gnatmetric metrics-simple_driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd

pushd tools/adabrowse
gcc -c util-nl.c
gnatmake -I../../asis -I../../gnat adabrowse -L../../lib -cargs ${CFLAGS} \
-largs -lasis ../../obj/version.o || die
popd
pushd tools/semtools
gnatmake -I../../asis -I../../gnat adadep -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
gnatmake -I../../asis -I../../gnat adasubst -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
popd

# common stuff is just docs in this case
if use doc; then
pushd documentation
make all || die "Failed while compiling documentation"
for fn in *.ps; do ps2pdf ${fn}; done
popd
fi
}

src_install () {
# install the lib
dodir ${My_LIBPATH}/adalib
chmod 0755 lib_dyn/libasis.so
cp lib_dyn/libasis.so "${D}${My_LIBPATH}"/adalib/libasis-${SLOT}.so
insinto ${My_LIBPATH}/adalib
doins obj/*.ali
doins lib/libasis.a
# make appropriate symlinks
pushd "${D}${My_LIBPATH}"/adalib
ln -s libasis-${SLOT}.so libasis.so
popd
# sources
insinto ${My_LIBPATH}/adainclude
doins gnat/*.ad[sb]
doins asis/*.ad[sb]

# tools
mkdir -p "${D}${My_BINPATH}"
for fn in tools/{adabrowse,gnatelim,gnatstub,gnatpp,gnatmetric}; do
cp ${fn}/${fn:6} "${D}${My_BINPATH}"
done
cp tools/semtools/ada{dep,subst} "${D}${My_BINPATH}"

# docs and examples
if use doc ; then
dodoc documentation/*.{txt,ps}
dohtml documentation/*.html
# info's should go into gnat-gpl dirs
insinto ${My_DATAPATH}/info/
doins documentation/*.info

insinto /usr/share/doc/${PF}
doins -r documentation/*.pdf examples/ tutorial/ templates/

# this version also provides wiki contents, may be added at some point,
# however it seems to make sense to just use the online wiki..
fi
}

pkg_postinst() {
echo
elog "The ASIS is installed for the active gnat compiler at gnat's location."
elog "No further configuration is necessary. Enjoy."
echo
}

asis-gcc-4.1.2-r1.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.1.2-r1.ebuild,v 1.5 2008/01/24 21:24:23 george Exp $

inherit eutils flag-o-matic gnatbuild

DESCRIPTION="The Ada Semantic Interface Specification (tools tied to compiler). GnuAda version"
HOMEPAGE="http://gnuada.sourceforge.net/"
LICENSE="GMGPL"

KEYWORDS="~amd64 ~x86"

Gnat_Name="gnat-gcc"
My_PN="asis"
SRC_URI="mirror://gentoo/${P}.tar.bz2"

IUSE="doc"
RDEPEND="=dev-lang/gnat-gcc-${PV}*"
DEPEND="${RDEPEND}
doc? ( virtual/tetex
app-text/texi2html )"

# overwriting gnatboot's S
S="${WORKDIR}/${My_PN}-${PV}"

# Execstack is not nearly as dangerous in Ada as in C and would require a lot of
# work to work around. See bug #141315.
QA_EXECSTACK="usr/lib/gnat-gcc/*/${SLOT}/adalib/libasis-${SLOT}.so
usr/lib/gnat-gcc/*/${SLOT}/adalib/libasis.a
usr/*/gnat-gcc-bin/${SLOT}/*"

# it may be even better to force plain -O2 -pipe here
replace-flags -O3 -O2

# we need to adjust some vars defined in gnatbuild.eclass so that they use
# gnat-gcc instead of asis
My_LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
My_BINPATH=${BINPATH/${PN}/${Gnat_Name}}
My_DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}

pkg_setup() {
local currGnat=$(eselect --no-color gnat show | grep "gnat-" | awk '{ print $1 }')
if [[ "${currGnat}" != "${CTARGET}-${Gnat_Name}-${SLOT}" ]]; then
echo
eerror "The active gnat profile does not correspond to the selected"
eerror "version of asis! Please install the appropriate gnat (if you"
eerror "did not so yet) and run:"
eerror "eselect gnat set ${CTARGET}-${Gnat_Name}-${SLOT}"
eerror "env-update && source /etc/profile"
eerror "and then emerge =dev-ada/asis-${PV} again.."
echo
die
fi
if [[ -e ${My_LIBPATH}/adalib/libasis.a ]] ; then
echo
ewarn "gnatmake of gnat-gcc unfortunately has problems forcind the build"
ewarn "if the package is already installed."
eerror "Please unmerge asis-gcc first and then resume the merge:"
eerror "emerge --unmerge asis-gcc && emerge asis-gcc"
echo
die
fi
}

# we need to avoid calling gnatboot_src_unpack
src_unpack() {
unpack ${A}
}

src_compile() {
# Build the shared library first, we need -fPIC here
gnatmake -f -Pasis_stat -cargs ${CFLAGS} || die "building libasis.a failed"
gnatmake -f -Pasis_dyn -cargs ${CFLAGS} || die "building libasis.so failed"
chmod 0444 lib/*.ali

# build tools
# we need version.o generated for all the tools
gcc -c -o obj/version.o gnat/version.c
for fn in gnatelim gnatstub gnatpp ; do
pushd tools/${fn}
gnatmake -o ${fn} ${fn}-driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd
done
pushd tools/gnatmetric
gnatmake -o gnatmetric metrics-simple_driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd

pushd tools/adabrowse
gcc -c util-nl.c
gnatmake -I../../asis -I../../gnat adabrowse -L../../lib -cargs ${CFLAGS} \
-largs -lasis ../../obj/version.o || die
popd
pushd tools/semtools
gnatmake -I../../asis -I../../gnat adadep -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
gnatmake -I../../asis -I../../gnat adasubst -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
popd

# common stuff is just docs in this case
if use doc; then
pushd documentation
make all || die "Failed while compiling documentation"
for fn in *.ps; do ps2pdf ${fn}; done
popd
fi
}

src_install () {
# install the lib
dodir ${My_LIBPATH}/adalib
# doins grossly screws permissions
cp -dpP lib/* "${D}${My_LIBPATH}"/adalib
# sources
insinto ${My_LIBPATH}/adainclude
doins gnat/*.ad[sb]
doins asis/*.ad[sb]

# tools
mkdir -p "${D}${My_BINPATH}"
for fn in tools/{adabrowse,gnatelim,gnatstub,gnatpp,gnatmetric}; do
cp ${fn}/${fn:6} "${D}${My_BINPATH}"
done
cp tools/semtools/ada{dep,subst} "${D}${My_BINPATH}"

# docs and examples
if use doc ; then
dodoc documentation/*.{txt,ps}
dohtml documentation/*.html
# info's should go into gnat-gpl dirs
insinto ${My_DATAPATH}/info/
doins documentation/*.info

insinto /usr/share/doc/${PF}
doins -r documentation/*.pdf examples/ tutorial/ templates/
fi
}

pkg_postinst() {
echo
elog "The ASIS is installed for the active gnat compiler at gnat's location."
elog "No further configuration is necessary. Enjoy."
echo
}

asis-gcc-4.1.2.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.1.2.ebuild,v 1.4 2008/01/24 21:24:23 george Exp $

inherit eutils flag-o-matic gnatbuild

DESCRIPTION="The Ada Semantic Interface Specification (tools tied to compiler). GnuAda version"
HOMEPAGE="http://gnuada.sourceforge.net/"
LICENSE="GMGPL"

KEYWORDS="~amd64 ~x86"

Gnat_Name="gnat-gcc"
My_PN="asis"
# can reuse the same sources, but we need to force an upgrade
My_PV="4.1.1"
SRC_URI="mirror://gentoo/${PN}-${My_PV}.tar.bz2"

IUSE="doc"
RDEPEND="=dev-lang/gnat-gcc-${PV}*"
DEPEND="${RDEPEND}
doc? ( virtual/tetex
app-text/texi2html )"

# overwriting gnatboot's S
S="${WORKDIR}/${My_PN}-${My_PV}"

# Execstack is not nearly as dangerous in Ada as in C and would require a lot of
# work to work around. See bug #141315.
QA_EXECSTACK="usr/lib/gnat-gcc/*/${SLOT}/adalib/libasis-4.1.so
usr/lib/gnat-gcc/*/${SLOT}/adalib/libasis.a
usr/*/gnat-gcc-bin/${SLOT}/*"

# it may be even better to force plain -O2 -pipe -ftracer here
replace-flags -O3 -O2

pkg_setup() {
currGnat=$(eselect --no-color gnat show | grep "gnat-" | awk '{ print $1 }')
if [[ "${currGnat}" != "${CTARGET}-${Gnat_Name}-${SLOT}" ]]; then
echo
eerror "The active gnat profile does not correspond to the selected"
eerror "version of asis! Please install the appropriate gnat (if you"
eerror "did not so yet) and run:"
eerror "eselect gnat set ${CTARGET}-${Gnat_Name}-${SLOT}"
eerror "env-update && source /etc/profile"
eerror "and then emerge =dev-ada/asis-${PV} again.."
echo
die
fi
}

# we need to avoid calling gnatboot_src_unpack
src_unpack() {
unpack ${A}
}

src_compile() {
# Build the shared library first, we need -fPIC here
gnatmake -Pasis -cargs ${CFLAGS} || die "building libasis.a failed"
gnatmake -Pasis_dyn -f -cargs ${CFLAGS} || die "building libasis.so failed"

# build tools
# we need version.o generated for all the tools
gcc -c -o obj/version.o gnat/version.c
for fn in gnatelim gnatstub gnatpp ; do
pushd tools/${fn}
gnatmake -o ${fn} ${fn}-driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd
done
pushd tools/gnatmetric
gnatmake -o gnatmetric metrics-simple_driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd

pushd tools/adabrowse
gcc -c util-nl.c
gnatmake -I../../asis -I../../gnat adabrowse -L../../lib -cargs ${CFLAGS} \
-largs -lasis ../../obj/version.o || die
popd
pushd tools/semtools
gnatmake -I../../asis -I../../gnat adadep -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
gnatmake -I../../asis -I../../gnat adasubst -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
popd

# common stuff is just docs in this case
if use doc; then
pushd documentation
make all || die "Failed while compiling documentation"
for fn in *.ps; do ps2pdf ${fn}; done
popd
fi
}

src_install () {
# we need to adjust some vars defined in gnatbuild.eclass so that they use
# gnat-gcc instead of asis
LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
BINPATH=${BINPATH/${PN}/${Gnat_Name}}
DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}

# install the lib
dodir ${LIBPATH}/adalib
chmod 0755 lib_dyn/libasis.so
cp lib_dyn/libasis.so "${D}${LIBPATH}"/adalib/libasis-${SLOT}.so
insinto ${LIBPATH}/adalib
doins obj/*.ali
chmod 0444 "${D}${LIBPATH}"/adalib/*.ali
doins lib/libasis.a
# make appropriate symlinks
pushd "${D}${LIBPATH}"/adalib
ln -s libasis-${SLOT}.so libasis.so
popd
# sources
insinto ${LIBPATH}/adainclude
doins gnat/*.ad[sb]
doins asis/*.ad[sb]

# tools
mkdir -p "${D}${BINPATH}"
for fn in tools/{adabrowse,gnatelim,gnatstub,gnatpp,gnatmetric}; do
cp ${fn}/${fn:6} "${D}${BINPATH}"
done
cp tools/semtools/ada{dep,subst} "${D}${BINPATH}"

# docs and examples
if use doc ; then
dodoc documentation/*.{txt,ps}
dohtml documentation/*.html
# info's should go into gnat-gpl dirs
insinto ${DATAPATH}/info/
doins documentation/*.info

insinto /usr/share/doc/${PF}
doins -r documentation/*.pdf examples/ tutorial/ templates/

# this version also provides wiki contents, may be added at some point,
# however it seems to make sense to just use the online wiki..
fi
}

pkg_postinst() {
echo
elog "The ASIS is installed for the active gnat compiler at gnat's location."
elog "No further configuration is necessary. Enjoy."
echo
}

asis-gcc-4.2.2.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.2.2.ebuild,v 1.3 2008/04/16 15:06:24 george Exp $

inherit eutils flag-o-matic gnatbuild multilib

DESCRIPTION="The Ada Semantic Interface Specification (tools tied to compiler). GnuAda version"
HOMEPAGE="http://gnuada.sourceforge.net/"
LICENSE="GMGPL"

KEYWORDS="~amd64 ~x86"

Gnat_Name="gnat-gcc"
My_PN="asis"
SRC_URI="mirror://gentoo/${P}.tar.bz2"

IUSE="doc"
RDEPEND="=dev-lang/gnat-gcc-${SLOT}*"
DEPEND="${RDEPEND}
doc? ( virtual/tetex
app-text/ghostscript-gpl
app-text/texi2html )"

# overwriting gnatboot's S
S="${WORKDIR}/${My_PN}-${PV}"

# Execstack is not nearly as dangerous in Ada as in C and would require a lot of
# work to work around. See bug #141315.
QA_EXECSTACK="usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis-${SLOT}.so
usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis.a
usr/*/gnat-gcc-bin/${SLOT}/*"

# it may be even better to force plain -O2 -pipe here
replace-flags -O3 -O2

# we need to adjust some vars defined in gnatbuild.eclass so that they use
# gnat-gcc instead of asis
My_LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
My_BINPATH=${BINPATH/${PN}/${Gnat_Name}}
My_DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}

pkg_setup() {
local currGnat=$(eselect --no-color gnat show | grep "gnat-" | awk '{ print $1 }')
if [[ "${currGnat}" != "${CTARGET}-${Gnat_Name}-${SLOT}" ]]; then
echo
eerror "The active gnat profile does not correspond to the selected"
eerror "version of asis! Please install the appropriate gnat (if you"
eerror "did not so yet) and run:"
eerror "eselect gnat set ${CTARGET}-${Gnat_Name}-${SLOT}"
eerror "env-update && source /etc/profile"
eerror "and then emerge =dev-ada/asis-${PV} again.."
echo
die
fi
if [[ -e ${My_LIBPATH}/adalib/libasis.a ]] ; then
echo
ewarn "gnatmake of gnat-gcc unfortunately has problems forcing the build"
ewarn "if the package is already installed."
eerror "Please unmerge asis-gcc first and then resume the merge:"
eerror "emerge --unmerge asis-gcc && emerge asis-gcc"
echo
die
fi
}

# we need to avoid calling gnatboot_src_unpack
src_unpack() {
unpack ${A}
}

src_compile() {
# Build the shared library first, we need -fPIC here
gnatmake -f -Pasis_stat -cargs ${CFLAGS} || die "building libasis.a failed"
gnatmake -f -Pasis_dyn -cargs ${CFLAGS} || die "building libasis.so failed"
chmod 0444 lib/*.ali

# build tools
# we need version.o generated for all the tools
gcc -c -o obj/version.o gnat/version.c
for fn in gnatelim gnatstub gnatpp ; do
pushd tools/${fn}
gnatmake -o ${fn} ${fn}-driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd
done
pushd tools/gnatmetric
gnatmake -o gnatmetric metrics-simple_driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd

pushd tools/adabrowse
gcc -c util-nl.c
gnatmake -I../../asis -I../../gnat adabrowse -L../../lib -cargs ${CFLAGS} \
-largs -lasis ../../obj/version.o || die
popd
pushd tools/semtools
gnatmake -I../../asis -I../../gnat adadep -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
gnatmake -I../../asis -I../../gnat adasubst -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
popd

# common stuff is just docs in this case
if use doc; then
pushd documentation
make all || die "Failed while compiling documentation"
for fn in *.ps; do ps2pdf ${fn}; done
popd
fi
}

src_install () {
# install the lib
dodir ${My_LIBPATH}/adalib
# doins grossly screws permissions
cp -dpP lib/* "${D}${My_LIBPATH}"/adalib
# sources
insinto ${My_LIBPATH}/adainclude
doins gnat/*.ad[sb]
doins asis/*.ad[sb]
# two files are already part of gnat, removing to avoid collision
rm "${D}${My_LIBPATH}"/adainclude/g-string.ad?

# tools
mkdir -p "${D}${My_BINPATH}"
for fn in tools/{adabrowse,gnatelim,gnatstub,gnatpp,gnatmetric}; do
cp ${fn}/${fn:6} "${D}${My_BINPATH}"
done
cp tools/semtools/ada{dep,subst} "${D}${My_BINPATH}"

# docs and examples
if use doc ; then
dodoc documentation/*.{txt,ps}
dohtml documentation/*.html
# info's should go into gnat-gpl dirs
insinto ${My_DATAPATH}/info/
doins documentation/*.info

insinto /usr/share/doc/${PF}
doins -r documentation/*.pdf examples/ tutorial/ templates/
fi
}

pkg_postinst() {
echo
elog "The ASIS is installed for the active gnat compiler at gnat's location."
elog "No further configuration is necessary. Enjoy."
echo
}

asis-gcc-4.3.0_pre132166.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.3.0_pre132166.ebuild,v 1.4 2008/04/16 15:06:24 george Exp $

inherit eutils flag-o-matic gnatbuild multilib

DESCRIPTION="The Ada Semantic Interface Specification (tools tied to compiler). GnuAda version"
HOMEPAGE="http://gnuada.sourceforge.net/"
LICENSE="GMGPL"

KEYWORDS="~amd64 ~x86"

Gnat_Name="gnat-gcc"
My_PN="asis"
SRC_URI="mirror://gentoo/${P}.tar.bz2"

IUSE="doc"
RDEPEND="=dev-lang/gnat-gcc-${SLOT}*"
DEPEND="${RDEPEND}
doc? ( virtual/latex-base
app-text/ghostscript-gpl
app-text/texi2html )"

# overwriting gnatboot's S
S="${WORKDIR}/${My_PN}-${PV}"

# Execstack is not nearly as dangerous in Ada as in C and would require a lot of
# work to work around. See bug #141315.
QA_EXECSTACK="usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis-${SLOT}.so
usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis.a
usr/*/gnat-gcc-bin/${SLOT}/*"

# it may be even better to force plain -O2 -pipe here
replace-flags -O3 -O2

# we need to adjust some vars defined in gnatbuild.eclass so that they use
# gnat-gcc instead of asis
My_LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
My_BINPATH=${BINPATH/${PN}/${Gnat_Name}}
My_DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}

pkg_setup() {
local currGnat=$(eselect --no-color gnat show | grep "gnat-" | awk '{ print $1 }')
if [[ "${currGnat}" != "${CTARGET}-${Gnat_Name}-${SLOT}" ]]; then
echo
eerror "The active gnat profile does not correspond to the selected"
eerror "version of asis! Please install the appropriate gnat (if you"
eerror "did not so yet) and run:"
eerror "eselect gnat set ${CTARGET}-${Gnat_Name}-${SLOT}"
eerror "env-update && source /etc/profile"
eerror "and then emerge =dev-ada/asis-${PV} again.."
echo
die
fi
if [[ -e ${My_LIBPATH}/adalib/libasis.a ]] ; then
echo
ewarn "gnatmake of gnat-gcc unfortunately has problems forcing the build"
ewarn "if the package is already installed."
eerror "Please unmerge asis-gcc first and then resume the merge:"
eerror "emerge --unmerge asis-gcc && emerge asis-gcc"
echo
die
fi
}

# we need to avoid calling gnatboot_src_unpack
src_unpack() {
unpack ${A}
}

src_compile() {
# Build the shared library first, we need -fPIC here
gnatmake -f -Pasis_stat -cargs ${CFLAGS} || die "building libasis.a failed"
gnatmake -f -Pasis_dyn -cargs ${CFLAGS} || die "building libasis.so failed"
chmod 0444 lib/*.ali

# build tools
# we need version.o generated for all the tools
gcc -c -o obj/version.o gnat/version.c
for fn in gnatelim gnatstub gnatpp ; do
pushd tools/${fn}
gnatmake -o ${fn} ${fn}-driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd
done
pushd tools/gnatmetric
gnatmake -o gnatmetric metrics-simple_driver.adb -I../../asis/ -I../../gnat/ \
-I../tool_utils/ -I../tool_utils/templates/ \
-L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
|| die "building ${fn} failed"
popd

pushd tools/adabrowse
gcc -c util-nl.c
gnatmake -I../../asis -I../../gnat adabrowse -L../../lib -cargs ${CFLAGS} \
-largs -lasis ../../obj/version.o || die
popd
pushd tools/semtools
gnatmake -I../../asis -I../../gnat adadep -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
gnatmake -I../../asis -I../../gnat adasubst -L../../lib \
-cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
popd

# common stuff is just docs in this case
if use doc; then
pushd documentation
make all || die "Failed while compiling documentation"
for fn in *.ps; do ps2pdf ${fn}; done
popd
fi
}

src_install () {
# install the lib
dodir ${My_LIBPATH}/adalib
# doins grossly screws permissions
cp -dpP lib/* "${D}${My_LIBPATH}"/adalib
# make link point to the right location
pushd "${D}${My_LIBPATH}"/adalib/
rm libasis.so
ln -s libasis-${SLOT}.so libasis.so
popd
# sources
insinto ${My_LIBPATH}/adainclude
doins gnat/*.ad[sb]
doins asis/*.ad[sb]

# tools
mkdir -p "${D}${My_BINPATH}"
for fn in tools/{adabrowse,gnatelim,gnatstub,gnatpp,gnatmetric}; do
cp ${fn}/${fn:6} "${D}${My_BINPATH}"
done
cp tools/semtools/ada{dep,subst} "${D}${My_BINPATH}"

# docs and examples
if use doc ; then
dodoc documentation/*.{txt,ps}
dohtml documentation/*.html
# info's should go into gnat-gpl dirs
insinto ${My_DATAPATH}/info/
doins documentation/*.info

insinto /usr/share/doc/${PF}
doins -r documentation/*.pdf examples/ tutorial/ templates/
fi
}

pkg_postinst() {
echo
elog "The ASIS is installed for the active gnat compiler at gnat's location."
elog "No further configuration is necessary. Enjoy."
echo
}

metadata.xml




ada

Ada Semantic Interface Specification is a published international ISO
standard (ISO/IEC 15291:1999). ASIS represents a compiler independent
toolset consisting of a set of standard Ada interfaces which allow extraction
of information about user source programs. This information was previously
only available inside the Ada compilers themselves or exported in
non-standard, and thus non portable mechanisms.
This particular package is adjusted for use with the FSF version of gnat
compilers.