summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada/xmlada/xmlada-1.0-r4.ebuild')
-rw-r--r--dev-ada/xmlada/xmlada-1.0-r4.ebuild97
1 files changed, 97 insertions, 0 deletions
diff --git a/dev-ada/xmlada/xmlada-1.0-r4.ebuild b/dev-ada/xmlada/xmlada-1.0-r4.ebuild
new file mode 100644
index 000000000000..592676f940e4
--- /dev/null
+++ b/dev-ada/xmlada/xmlada-1.0-r4.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit gnat versionator
+
+IUSE=""
+
+Name="XmlAda"
+
+DESCRIPTION="XML library for Ada"
+HOMEPAGE="http://libre2.adacore.com/xmlada/"
+SRC_URI="https://libre2.adacore.com/xmlada/${Name}-${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+
+DEPEND="virtual/gnat
+ >=sys-apps/sed-4"
+RDEPEND=""
+
+src_unpack()
+{
+ unpack ${A}
+
+ cd "${S}"
+ #making .dvi docs is problemmatic. Skip that for now
+ sed -i -e "s/all: obj test docs/all: obj test/" Makefile.in
+ #increase stack size
+ cd sax
+ sed -i -e "s/Stack_Size : constant Natural := 64;/Stack_Size : constant Natural := 128;/" sax-readers.adb
+}
+
+lib_compile()
+{
+ # for some reason shared libs are assigned version numbers from some
+ # pre-release (possibly when upstream stopped to care about them?)
+ local MAJOR=$(get_major_version)
+ local MINOR=$(get_version_component_range 2-)
+ # force building shared libs and fix broken shared lib versioning
+ sed -i -e "s:BUILD_SHARED=FALSE:BUILD_SHARED=TRUE:" \
+ -e "s:libxmlada_\${@\:%_install=%}-\${MAJOR}.\${MINOR}.so:libxmlada_\${@\:%_inst=%}.so.${MAJOR}.${MINOR}:" \
+ -e "s:libxmlada_\${@\:%_inst=%}-\${MAJOR}.\${MINOR}.so:libxmlada_\${@\:%_inst=%}.so.${MAJOR}.${MINOR}:" \
+ -e "s:FPIC=:FPIC=-fPIC:" Makefile.in
+
+ export CFLAGS=$ADACFLAGS
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-shared \
+ --host=${CHOST} \
+ --build=${CHOST} \
+ --target=${CHOST} \
+ --with-system-zlib || die
+
+ export COMPILER=gnatmake
+ make || die "make failed"
+}
+
+# here we need to use the $1 - passed gnat profile name
+lib_install() {
+ make PREFIX="${DL}" install || die "install failed"
+
+ # fix xmlada-config hardsets locations
+ sed -i -e "s:\${prefix}/include/xmlada:${AdalibSpecsDir}/${PN}:" \
+ -e "s:\${prefix}/lib:${AdalibLibTop}/$1/${PN}:g" \
+ "${DL}"/bin/xmlada-config
+
+ # now move stuff to proper location and delete extras
+ mv "${DL}"/bin/xmlada-config "${DL}"/lib/* "${DL}"/include/${PN}/*.ali "${DL}"
+ rm -rf "${DL}"/bin "${DL}"/include "${DL}"/lib
+}
+
+src_install ()
+{
+ cd "${S}"
+ dodir ${AdalibSpecsDir}/${PN}
+ insinto ${AdalibSpecsDir}/${PN}
+ doins dom/*.ad? input_sources/*.ad? sax/*.ad? unicode/*.ad?
+
+ #set up environment
+ echo "PATH=%DL%" > ${LibEnv}
+ echo "LDPATH=%DL%" >> ${LibEnv}
+ echo "ADA_OBJECTS_PATH=%DL%" >> ${LibEnv}
+ echo "ADA_INCLUDE_PATH=/usr/include/ada/${PN}" >> ${LibEnv}
+
+ gnat_src_install
+
+ dodoc AUTHORS README docs/xml.ps
+ dohtml docs/*.html
+ doinfo docs/*.info
+ #need to give a proper name to the info file
+ cd "${D}"/usr/share/info
+ mv xml.info.gz ${PN}.info.gz
+
+}