mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 06:48:18 -07:00
dev-ada/asis-gcc: Remove last-rited pkg, #593398
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
DIST asis-3.4.4.tar.bz2 2874938 SHA256 2d3546d04839801ef617005e60ee24be9a0004f8481c70e3ea51a17443d094d5 SHA512 9eed1fbc2fb9fbe5180c3884947280eeb2224a0484940506cbefe528f30b144c85a7a57b4698cc0a7aac919718edd2c74fb2b20f083b05d5ce33fcd8cdaa3830 WHIRLPOOL 57b8713e587e00ae044856f1f28ced3b3ab01a7f4d87b4bec13a8abb68d2999cb8e5a66aff81cc422373993864eae1357353bdc4948e195a0929e4e3827d2e6e
|
||||
DIST asis-gcc-4.1.1.tar.bz2 2938979 SHA256 712674ad21d21c9aec59e3f4db35cb92b01a6fbc1fc80450f801666f0ac2827e SHA512 5879f8686c4b3dffbf01e1d915f0f8aa63451f230b5206f02b34a3c84c425f8ebb1be9b5fb108deffbbb904341f70547ea56a64165a8818e3bb0dc10441c1cbc WHIRLPOOL 9332e71399711d3f9dcff0fda81d908cf22431afa37ce36a4b859b778d9ce06dcdaf28e9dbc11ce9a9677fdd063ff3801a3ce4cfa7b1f55ebf566db43f398930
|
||||
DIST asis-gcc-4.1.2.tar.bz2 2617806 SHA256 37466312b6c43ada02b704893b509af449ab1833bc6e3cddea40344cb8972c5e SHA512 235b2a8e1464d6899155521782ef37b7e579d32035d9108d4292c71fde45aea193ada3b76ef06480508e5f4baa677b3f6b76bc4159533b4ec2be30d9db76cd5e WHIRLPOOL 042dc1c935132f99f41407b9b83061a72dd71212e6d4f9bf40c28626aa0725625f98f320eac3437bcb99c2e5e2bcc1cf1b7876c52bc0eb2738f7c659ffb16320
|
||||
DIST asis-gcc-4.2.2.tar.bz2 2474467 SHA256 5da24ed1cb73845facf062d0c277bbb978fcddf3e5ac2706859205cb8ac875bb SHA512 676106a21d830710258dff25e4a5988903208097ddebbcb9cfcb89aa74b47f8d540c9404e49b0f7816ffc332e6454ea7b6d23922d505c7c65097b6a997473e71 WHIRLPOOL 8b3c013f2b4a6d8f20d694ff3fce3d7abe7354d6bd9eed3aa14e6b1bb47ea960be80d6e7316270b2e209293552a95a3fc4e30f7d449a1a1997d35fcd43f39c4b
|
||||
DIST asis-gcc-4.3.0_pre132166.tar.bz2 2552217 SHA256 663144c94a3c30ec8d9af16f1b6cb40f271e858d43bdd44a9c170257a5d21263 SHA512 93a201aa11873b12bbb77a04a279aed4d8fc6fd286a5df727f1b90889c43460046ffb2e673caf1581454773edbb25de0250f7083a789859139f4c638bad394ee WHIRLPOOL 0fb4c53a6a3f806587060b3d5e230493c04b0aa6c15946d501d52d401c39bfe034b79122f5b50c94e43a1fbaf42cbebc3f744a8d36dc182c24fad33e1e6dfa6e
|
||||
DIST asis-gpl-2009-src.tgz 2445137 SHA256 2bc72317de6d5f5274d04ac4366ec0a700268ae84afe8e3311bc9257a0755700 SHA512 723c519eaceffddf58efc8f55c7ef507895abfa6c7e4e196b6cb3b1bc8b2c8f644b397c5d085711e013764e34fa08dd200e8c305026a89f80c188be6e3f714f3 WHIRLPOOL a6820f99ab4563e15162663ca5662e502a2b95b43ec27007533fb8cf7844ae09fcac2cce397cb117a47154236e459881f44dae60517f896f5a74e3c7bb916303
|
||||
DIST asis-gpl-2010-src.tgz 2784774 SHA256 2e8a94827255fa532c07e54b067655fabebcc0adaaca8a243c3068f6ffa69958 SHA512 cdae7eb661127111f4cab5dfcf3c22e0bc6c49f20fce107786ead3213356f87e9057f4f8025e6417e4503299e632ecb97cc25e94aca6f6034f999a86843ccda7 WHIRLPOOL 30c23e2cc96038df0f7028bd5392c3a8ea08bdcb7e2ede85e35dc4459162f72f7a7d2fdc79c040fda82d93d4348b6e2765f0e28285e36703eae088b4c527cce0
|
||||
@@ -1,153 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
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="https://dev.gentoo.org/~george/src/${My_PN}-${My_PV}.tar.bz2"
|
||||
|
||||
IUSE="doc"
|
||||
RDEPEND="=dev-lang/gnat-gcc-${PV}*"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( virtual/latex-base
|
||||
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 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
|
||||
}
|
||||
@@ -1,149 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
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="https://dev.gentoo.org/~george/src/${P}.tar.bz2"
|
||||
|
||||
IUSE="doc"
|
||||
RDEPEND="=dev-lang/gnat-gcc-${PV}*"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( virtual/latex-base
|
||||
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 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
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
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="https://dev.gentoo.org/~george/src/${PN}-${My_PV}.tar.bz2"
|
||||
|
||||
IUSE="doc"
|
||||
RDEPEND="=dev-lang/gnat-gcc-${PV}*"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( virtual/latex-base
|
||||
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 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
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
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="https://dev.gentoo.org/~george/src/${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 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
|
||||
}
|
||||
@@ -1,155 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
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="https://dev.gentoo.org/~george/src/${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 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
|
||||
}
|
||||
@@ -1,142 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit eutils flag-o-matic gnatbuild
|
||||
|
||||
ACT_Ver=2009
|
||||
Gnat_Name="gnat-gcc"
|
||||
|
||||
DESCRIPTION="The Ada Semantic Interface Specification (semantic analysis and tools tied to compiler)"
|
||||
SRC_URI="https://dev.gentoo.org/~george/src/asis-gpl-${ACT_Ver}-src.tgz"
|
||||
HOMEPAGE="https://libre.adacore.com/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
IUSE="doc"
|
||||
RDEPEND="=dev-lang/gnat-gcc-${SLOT}*"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( virtual/latex-base
|
||||
app-text/texi2html )"
|
||||
|
||||
S="${WORKDIR}/asis-${ACT_Ver}-src"
|
||||
|
||||
# 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
|
||||
LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
|
||||
BINPATH=${BINPATH/${PN}/${Gnat_Name}}
|
||||
DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}
|
||||
|
||||
#QA_EXECSTACK="${BINPATH:1}/*
|
||||
# ${LIBPATH:1}/adalib/libasis-${ACT_Ver}.so"
|
||||
|
||||
pkg_setup() {
|
||||
currGnat=$(eselect 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 asis-gcc:${SLOT} again.."
|
||||
echo
|
||||
die
|
||||
fi
|
||||
if [[ -e ${LIBPATH}/adalib/libasis.a ]] ; then
|
||||
echo
|
||||
ewarn "Already installed asis appears to interfer with the build."
|
||||
eerror "Please unmerge matching asis-gcc first and then resume the merge:"
|
||||
eerror "emerge --unmerge asis-gcc:${SLOT} && emerge asis-gcc"
|
||||
ewarn
|
||||
echo
|
||||
die
|
||||
fi
|
||||
}
|
||||
|
||||
# we need to override the eclass defined src_unpack
|
||||
# and change gcc to gnatgcc where appropriate
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"/gnat/
|
||||
# newer versions autogen snames.ad?
|
||||
# Looks logical to keep it here, as this is a part of source prep
|
||||
gnatmake xsnamest.adb
|
||||
./xsnamest
|
||||
mv snames.ns snames.ads
|
||||
mv snames.nb snames.adb
|
||||
# need to change gcc -> gnatgcc
|
||||
cd "${S}"
|
||||
for fn in asis/a4g-gnat_int.adb \
|
||||
asis/a4g-contt.adb \
|
||||
gnat/snames.adb \
|
||||
tools/tool_utils/asis_ul-common.adb \
|
||||
tools/gnatmetric/metrics-compute.adb; do
|
||||
sed -i -e "s:\"gcc:\"gnatgcc:" ${fn}
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Build the shared library first, we need -fPIC here
|
||||
gnatmake -Pasis_bld -XBLD=prod -XOPSYS=default_Unix -cargs ${CFLAGS} -fPIC \
|
||||
|| die "building libasis.a failed"
|
||||
gnatgcc -shared -Wl,-soname,libasis-${ACT_Ver}.so \
|
||||
-o obj/libasis-${ACT_Ver}.so obj/*.o -lc \
|
||||
|| die "building libasis.so failed"
|
||||
|
||||
# build tools
|
||||
for fn in tools/*; do
|
||||
pushd ${fn}
|
||||
gnatmake -P${fn:6}.gpr || die "building ${fn:6} failed"
|
||||
popd
|
||||
done
|
||||
|
||||
# common stuff is just docs in this case
|
||||
if use doc; then
|
||||
emake -C documentation all || die "Failed while compiling documentation"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install () {
|
||||
# README asks to run make install, claiming that some sources are built at
|
||||
# that point
|
||||
make all install prefix="${D}"
|
||||
# now manually move all the stuff to proper places
|
||||
mkdir -p "${D}${LIBPATH}"
|
||||
mv "${D}"lib/asis/ "${D}${LIBPATH}"/adalib
|
||||
# install the shared lib
|
||||
chmod 0755 obj/libasis-${ACT_Ver}.so
|
||||
cp obj/libasis-${ACT_Ver}.so "${D}${LIBPATH}"/adalib
|
||||
# make appropriate symlinks
|
||||
pushd "${D}${LIBPATH}"/adalib
|
||||
ln -s libasis-${ACT_Ver}.so libasis.so
|
||||
popd
|
||||
# sources
|
||||
mv "${D}"include/asis/ "${D}${LIBPATH}"/adainclude
|
||||
|
||||
# tools
|
||||
mkdir -p "${D}${BINPATH}"
|
||||
find "${S}"/tools/ -type f -executable -exec cp {} "${D}${BINPATH}" \;
|
||||
rm -f "${D}${BINPATH}"/Makefile*
|
||||
|
||||
# docs and examples
|
||||
cd "${S}"/documentation/
|
||||
dodoc *.txt
|
||||
dohtml *.html
|
||||
cd "${S}"
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r documentation/*.pdf documentation/*.info tutorial/ templates/
|
||||
|
||||
# cleanup empty dirs
|
||||
rm -rf "${D}"/{bin,include,lib,share}
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
@@ -1,134 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit eutils flag-o-matic gnatbuild
|
||||
|
||||
ACT_Ver=2009
|
||||
Gnat_Name="gnat-gcc"
|
||||
|
||||
DESCRIPTION="The Ada Semantic Interface Specification (semantic analysis and tools tied to compiler)"
|
||||
SRC_URI="https://dev.gentoo.org/~george/src/asis-gpl-${ACT_Ver}-src.tgz"
|
||||
HOMEPAGE="https://libre.adacore.com/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
IUSE="doc"
|
||||
RDEPEND="=dev-lang/gnat-gcc-${SLOT}*"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( virtual/latex-base
|
||||
app-text/texi2html )"
|
||||
|
||||
S="${WORKDIR}/asis-${ACT_Ver}-src"
|
||||
|
||||
# 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
|
||||
LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
|
||||
BINPATH=${BINPATH/${PN}/${Gnat_Name}}
|
||||
DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}
|
||||
|
||||
#QA_EXECSTACK="${BINPATH:1}/*
|
||||
# ${LIBPATH:1}/adalib/libasis-${ACT_Ver}.so"
|
||||
|
||||
pkg_setup() {
|
||||
currGnat=$(eselect 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 asis-gcc:${SLOT} again.."
|
||||
echo
|
||||
die
|
||||
fi
|
||||
}
|
||||
|
||||
# we need to override the eclass defined src_unpack
|
||||
# and change gcc to gnatgcc where appropriate
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"/gnat/
|
||||
# newer versions autogen snames.ad?
|
||||
# Looks logical to keep it here, as this is a part of source prep
|
||||
gnatmake xsnamest.adb
|
||||
./xsnamest
|
||||
mv snames.ns snames.ads
|
||||
mv snames.nb snames.adb
|
||||
# need to change gcc -> gnatgcc
|
||||
cd "${S}"
|
||||
for fn in asis/a4g-gnat_int.adb \
|
||||
asis/a4g-contt.adb \
|
||||
gnat/snames.adb \
|
||||
tools/tool_utils/asis_ul-common.adb \
|
||||
tools/gnatmetric/metrics-compute.adb; do
|
||||
sed -i -e "s:\"gcc:\"gnatgcc:" ${fn}
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Build the shared library first, we need -fPIC here
|
||||
gnatmake -Pasis_bld -XBLD=prod -XOPSYS=default_Unix -cargs ${CFLAGS} -fPIC \
|
||||
|| die "building libasis.a failed"
|
||||
gnatgcc -shared -Wl,-soname,libasis-${ACT_Ver}.so \
|
||||
-o obj/libasis-${ACT_Ver}.so obj/*.o -lc \
|
||||
|| die "building libasis.so failed"
|
||||
|
||||
# build tools
|
||||
for fn in tools/*; do
|
||||
pushd ${fn}
|
||||
gnatmake -P${fn:6}.gpr || die "building ${fn:6} failed"
|
||||
popd
|
||||
done
|
||||
|
||||
# common stuff is just docs in this case
|
||||
if use doc; then
|
||||
emake -C documentation all || die "Failed while compiling documentation"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install () {
|
||||
# README asks to run make install, claiming that some sources are built at
|
||||
# that point
|
||||
make all install prefix="${D}"
|
||||
# now manually move all the stuff to proper places
|
||||
mkdir -p "${D}${LIBPATH}"
|
||||
mv "${D}"lib/asis/ "${D}${LIBPATH}"/adalib
|
||||
# install the shared lib
|
||||
chmod 0755 obj/libasis-${ACT_Ver}.so
|
||||
cp obj/libasis-${ACT_Ver}.so "${D}${LIBPATH}"/adalib
|
||||
# make appropriate symlinks
|
||||
pushd "${D}${LIBPATH}"/adalib
|
||||
ln -s libasis-${ACT_Ver}.so libasis.so
|
||||
popd
|
||||
# sources
|
||||
mv "${D}"include/asis/ "${D}${LIBPATH}"/adainclude
|
||||
|
||||
# tools
|
||||
mkdir -p "${D}${BINPATH}"
|
||||
find "${S}"/tools/ -type f -executable -exec cp {} "${D}${BINPATH}" \;
|
||||
rm -f "${D}${BINPATH}"/Makefile*
|
||||
|
||||
# docs and examples
|
||||
cd "${S}"/documentation/
|
||||
dodoc *.txt
|
||||
dohtml *.html
|
||||
doinfo *.info
|
||||
cd "${S}"
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r documentation/*.pdf tutorial/ templates/
|
||||
|
||||
# cleanup empty dirs
|
||||
rm -rf "${D}"/{bin,include,lib,share}
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
@@ -1,143 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit eutils flag-o-matic gnatbuild
|
||||
|
||||
ACT_Ver="2010"
|
||||
Gnat_Name="gnat-gcc"
|
||||
|
||||
DESCRIPTION="The Ada Semantic Interface Specification (semantic analysis and tools tied to compiler)"
|
||||
SRC_URI="https://dev.gentoo.org/~george/src/asis-gpl-${ACT_Ver}-src.tgz"
|
||||
HOMEPAGE="https://libre.adacore.com/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
IUSE="doc"
|
||||
RDEPEND="=dev-lang/gnat-gcc-${SLOT}*"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( virtual/latex-base
|
||||
app-text/texi2html )"
|
||||
|
||||
S="${WORKDIR}/asis-gpl-${ACT_Ver}-src"
|
||||
|
||||
# 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
|
||||
LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
|
||||
BINPATH=${BINPATH/${PN}/${Gnat_Name}}
|
||||
DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}
|
||||
|
||||
#QA_EXECSTACK="${BINPATH:1}/*
|
||||
# ${LIBPATH:1}/adalib/libasis-${ACT_Ver}.so"
|
||||
|
||||
pkg_setup() {
|
||||
currGnat=$(eselect 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 asis-gcc:${SLOT} again.."
|
||||
echo
|
||||
die
|
||||
fi
|
||||
if [[ -e ${LIBPATH}/adalib/libasis.a ]] ; then
|
||||
echo
|
||||
ewarn "Already installed asis appears to interfer with the build."
|
||||
eerror "Please unmerge matching asis-gcc first and then resume the merge:"
|
||||
eerror "emerge --unmerge asis-gcc:${SLOT} && emerge asis-gcc"
|
||||
echo
|
||||
die
|
||||
fi
|
||||
}
|
||||
|
||||
# we need to override the eclass defined src_unpack
|
||||
# and change gcc to gnatgcc where appropriate
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"/gnat/
|
||||
# newer versions autogen snames.ad?
|
||||
# Looks logical to keep it here, as this is a part of source prep
|
||||
gnatmake xsnamest.adb
|
||||
./xsnamest
|
||||
mv snames.ns snames.ads
|
||||
mv snames.nb snames.adb
|
||||
# need to change gcc -> gnatgcc
|
||||
cd "${S}"
|
||||
for fn in asis/a4g-gnat_int.adb \
|
||||
asis/a4g-contt.adb \
|
||||
gnat/snames.adb \
|
||||
tools/tool_utils/asis_ul-common.adb \
|
||||
tools/gnatmetric/metrics-compute.adb; do
|
||||
sed -i -e "s:\"gcc:\"gnatgcc:" ${fn}
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Build the shared library first, we need -fPIC here
|
||||
gnatmake -Pasis_bld -XBLD=prod -XOPSYS=default_Unix -cargs ${CFLAGS} -fPIC \
|
||||
|| die "building libasis.a failed"
|
||||
gnatgcc -shared -Wl,-soname,libasis-${ACT_Ver}.so \
|
||||
-o obj/libasis-${ACT_Ver}.so obj/*.o -lc \
|
||||
|| die "building libasis.so failed"
|
||||
|
||||
# build tools
|
||||
for fn in tools/*; do
|
||||
pushd ${fn}
|
||||
gnatmake -P${fn:6}.gpr || die "building ${fn:6} failed"
|
||||
popd
|
||||
done
|
||||
|
||||
# no point in rebuilding pregenerated docs
|
||||
#if use doc; then
|
||||
# emake -C documentation all || die "Failed while compiling documentation"
|
||||
#fi
|
||||
}
|
||||
|
||||
src_install () {
|
||||
# README asks to run make install, claiming that some sources are built at
|
||||
# that point
|
||||
make all install prefix="${D}"
|
||||
# now manually move all the stuff to proper places
|
||||
mkdir -p "${D}${LIBPATH}"
|
||||
mv "${D}"lib/asis/ "${D}${LIBPATH}"/adalib
|
||||
# install the shared lib
|
||||
chmod 0755 obj/libasis-${ACT_Ver}.so
|
||||
cp obj/libasis-${ACT_Ver}.so "${D}${LIBPATH}"/adalib
|
||||
# make appropriate symlinks
|
||||
pushd "${D}${LIBPATH}"/adalib
|
||||
ln -s libasis-${ACT_Ver}.so libasis.so
|
||||
popd
|
||||
# sources
|
||||
mv "${D}"include/asis/ "${D}${LIBPATH}"/adainclude
|
||||
|
||||
# tools
|
||||
mkdir -p "${D}${BINPATH}"
|
||||
find "${S}"/tools/ -type f -executable -exec cp {} "${D}${BINPATH}" \;
|
||||
rm -f "${D}${BINPATH}"/Makefile*
|
||||
|
||||
# docs and examples
|
||||
cd "${S}"/documentation/
|
||||
if use doc; then
|
||||
dodoc *.txt
|
||||
dohtml *.html
|
||||
cd "${S}"
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r documentation/*.pdf documentation/*.info tutorial/ templates/
|
||||
fi
|
||||
|
||||
# cleanup empty dirs
|
||||
rm -rf "${D}"/{bin,include,lib,share}
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!--maintainer-needed-->
|
||||
<longdescription>
|
||||
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.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">gnuada</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -269,12 +269,6 @@ dev-vcs/veracity
|
||||
# Masked for removal in 30 days. Bug #520890.
|
||||
x11-misc/xrmap
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (22 Feb 2017)
|
||||
# The Ada subsystem in Gentoo is not maintained for a long time.
|
||||
# Therefore, it is being reduced to the minimal set of packages needed.
|
||||
# Removal in 30 days. Bug #593398.
|
||||
dev-ada/asis-gcc
|
||||
|
||||
# Michael Palimaka <kensington@gentoo.org> (22 Feb 2017)
|
||||
# Doesn't work. Dead upstream. Unmaintained.
|
||||
# Masked for removal on 30 days. Bug #609754.
|
||||
|
||||
Reference in New Issue
Block a user