diff options
author | 2003-07-02 11:11:25 +0000 | |
---|---|---|
committer | 2003-07-02 11:11:25 +0000 | |
commit | 98b2dbdd2965d310fcb8511706155fc25e962460 (patch) | |
tree | af77d624b3759a5ad4005552f378db1c0cbfbb58 /sys-devel/automake/automake-1.7.5-r2.ebuild | |
parent | Version bump (diff) | |
download | historical-98b2dbdd2965d310fcb8511706155fc25e962460.tar.gz historical-98b2dbdd2965d310fcb8511706155fc25e962460.tar.bz2 historical-98b2dbdd2965d310fcb8511706155fc25e962460.zip |
fix automake issues
Diffstat (limited to 'sys-devel/automake/automake-1.7.5-r2.ebuild')
-rw-r--r-- | sys-devel/automake/automake-1.7.5-r2.ebuild | 424 |
1 files changed, 424 insertions, 0 deletions
diff --git a/sys-devel/automake/automake-1.7.5-r2.ebuild b/sys-devel/automake/automake-1.7.5-r2.ebuild new file mode 100644 index 000000000000..1ac727bc278a --- /dev/null +++ b/sys-devel/automake/automake-1.7.5-r2.ebuild @@ -0,0 +1,424 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/automake-1.7.5-r2.ebuild,v 1.1 2003/07/02 11:11:25 aliz Exp $ + +IUSE="" + +inherit eutils + +# OLD14 = 1.4 +# OLD15 = 1.5 +# OLD16 = 1.6 +# NEW = 1.7 (.2) + +# NOTE: For all of those brave souls out there that wants to fix +# or update this, note that all three versions install +# .m4 files to /usr/share/aclocal-${ver}/ and .am files +# to /usr/share/automake-${ver}/. We then add the default +# /usr/share/aclocal/ to aclocal's search path by adding +# "push (@dirlist, \"/usr/share/aclocal\");" after @dirlist +# is defined the first time (done in fix_bins() function). +# +# The theory thus is, all version specific data goes into +# version specific directories, but programs like ogg/whatever +# can still install thier .m4 macros into /usr/share/aclocal/. +# +# Martin Schlemmer <azarah@gentoo.org> +# 19 May 2002 + + +# Currently this is 1.7, but it could change to 1.7.x as it +# does with 1.5d ... to determine this, install latest version +# of 1.7, and look at the generated files in the bin dir .. +# it should be something like (for 1.7.1): +# +# nosferatu automake-1.7.1 # ls /myinstallroot/bin/ +# aclocal aclocal-1.7 automake automake-1.7 +# nosferatu automake-1.7.1 # +# +# You should then set NEW_PV to 1.7, as this is the suffix +NEW_PV="1.7" + +OLD16_PV="1.6.3" +OLD16_PV_S="1.6" +OLD16_P="${PN}-${OLD16_PV}" +OLD15_PV="1.5" +OLD15_P="${PN}-${OLD15_PV}" +OLD14_PV="1.4-p6" +OLD14_P="${PN}-${OLD14_PV}" +S="${WORKDIR}/${P}" +OLD16_S="${WORKDIR}/${OLD16_P}" +OLD15_S="${WORKDIR}/${OLD15_P}" +OLD14_S="${WORKDIR}/${OLD14_P}" +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +SRC_URI="ftp://ftp.gnu.org/gnu/${PN}/${P}.tar.gz + ftp://ftp.gnu.org/gnu/${PN}/${OLD16_P}.tar.gz + ftp://ftp.gnu.org/gnu/${PN}/${OLD15_P}.tar.gz + ftp://ftp.gnu.org/gnu/${PN}/${OLD14_P}.tar.gz" +HOMEPAGE="http://www.gnu.org/software/automake/automake.html" + +LICENSE="GPL-2" +SLOT="1.5" +KEYWORDS="~amd64 ~x86 ~ppc ~sparc ~alpha ~mips ~hppa ~arm" + +DEPEND="dev-lang/perl + >=sys-devel/autoconf-2.57" + + +src_unpack() { + + unpack ${A} + + cd ${OLD15_S} + epatch ${FILESDIR}/${PN}-${OLD15_PV}-target_hook.patch + + cd ${S} + epatch ${FILESDIR}/${P}-infopage-namechange.patch +} + +src_compile() { + + # + # ************ automake-1.7x ************ + # + + # stupid configure script goes and run autoconf in a subdir, + # so 'ac-wrapper.pl' do not detect that it should use + # autoconf-2.5x + export WANT_AUTOCONF_2_5=1 + + cd ${S} + + perl -pi -e 's:setfilename automake.info:setfilename automake17.info:' \ + automake.texi + perl -pi -e 's|\* automake: \(automake\)|\* Automake v1\.7: \(automake\)|' \ + automake.texi + perl -pi -e 's|\* aclocal:|\* aclocal v1.7:|' automake.texi + perl -pi -e 's:\(automake\):\(automake17\):' automake.texi + + ./configure --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --target=${CHOST} || die + + emake || die + + # + # ************ automake-1.6x ************ + # + + # stupid configure script goes and run autoconf in a subdir, + # so 'ac-wrapper.pl' do not detect that it should use + # autoconf-2.5x + export WANT_AUTOCONF_2_5=1 + + cd ${OLD16_S} + + perl -pi -e 's:setfilename automake.info:setfilename automake16.info:' \ + automake.texi + perl -pi -e 's|\* automake: \(automake\)|\* Automake v1\.6: \(automake\)|' \ + automake.texi + perl -pi -e 's|\* aclocal:|\* aclocal v1.6:|' automake.texi + perl -pi -e 's:\(automake\):\(automake16\):' automake.texi + + ./configure --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --target=${CHOST} || die + + emake || die + + # + # ************ automake-1.5x ************ + # + + cd ${OLD15_S} + + perl -pi -e 's:setfilename automake.info:setfilename automake15.info:' \ + automake.texi + perl -pi -e 's|\* automake: \(automake\)|\* Automake v1\.5: \(automake\)|' \ + automake.texi + perl -pi -e 's|\* aclocal:|\* aclocal v1.5:|' automake.texi + perl -pi -e 's:\(automake\):\(automake15\):' automake.texi + + ./configure --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --target=${CHOST} || die + + emake || die + unset WANT_AUTOCONF_2_5 + + # + # ************ automake-1.4-p6 ************ + # + cd ${OLD14_S} + + perl -pi -e 's|\* automake: \(automake\)|\* Automake v1\.4: \(automake\)|' \ + automake.texi + perl -pi -e 's|\* aclocal:|\* aclocal v1.4:|' automake.texi + perl -pi -e 's:GNU admin:GNU programming tools:' automake.texi +# perl -pi -e 's|\* automake: \(automake\)|\* Automake: \(automake\)|' \ +# automake.texi + + ./configure --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --target=${CHOST} || die + + emake || die +} + +# This basically fix aclocal and automake so that they +# use the correct directories, and also adds the normal +# /usr/share/aclocal for aclocal to include. +fix_bins() { + + for x in aclocal automake + do + perl -pi -e "s:share/automake\":share/automake-${1}\":g" ${x} + perl -pi -e "s:share/aclocal\":share/aclocal-${1}\":g" ${x} + done + + # add "/usr/share/aclocal" to m4 search patch + cp aclocal aclocal.orig + sed -e '/&scan_m4_files (@dirlist);/i \push (@dirlist, \"/usr/share/aclocal\");' \ + aclocal.orig > aclocal + # same as above, but 1.4 looks a bit differently + cp aclocal aclocal.orig + sed -e '/&scan_m4_files ($acdir, @dirlist);/i \push (@dirlist, \"/usr/share/aclocal\");' \ + aclocal.orig > aclocal + # "aclocal --print-ac-dir" should return "/usr/share/aclocal" + cp aclocal aclocal.orig + sed -e 's:print $acdir:print "/usr/share/aclocal":' \ + aclocal.orig > aclocal +} + +src_install() { + + # install wrapper script for autodetecting the proper version + # to use. + exeinto /usr/lib/${PN} + newexe ${FILESDIR}/am-wrapper.pl-1.7 am-wrapper.pl + # Name binaries to exact version, as they have limited support for + # more than one version installs + dosed "s:1\.7x:${NEW_PV}:g" /usr/lib/${PN}/am-wrapper.pl + dosed "s:1\.6x:${OLD16_PV_S}:g" /usr/lib/${PN}/am-wrapper.pl + dosed "s:1\.5x:${OLD15_PV}:g" /usr/lib/${PN}/am-wrapper.pl + + # + # ************ automake-1.6x ************ + # + + cd ${S} +# not needed for 1.7.2 +# fix_bins ${NEW_PV} + + make DESTDIR=${D} \ + install || die + + for x in automake aclocal + do +# mv ${D}/usr/bin/${x} ${D}/usr/bin/${x}-${NEW_PV} + rm -f ${D}/usr/bin/${x} + done + + doinfo automake17.info* + + docinto ${PV} + dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog + + # + # ************ automake-1.6x ************ + # + + cd ${OLD16_S} +# not needed for 1.6.3 +# fix_bins ${NEW_PV} + + make DESTDIR=${D} \ + install || die + + for x in automake aclocal + do +# mv ${D}/usr/bin/${x} ${D}/usr/bin/${x}-${NEW_PV} + rm -f ${D}/usr/bin/${x} + done + + doinfo automake16.info* + + docinto ${PV} + dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog + + # + # ************ automake-1.5x ************ + # + + cd ${OLD15_S} + fix_bins ${OLD15_PV} + + make DESTDIR=${D} \ + pkgdatadir=/usr/share/automake-${OLD15_PV} \ + m4datadir=/usr/share/aclocal-${OLD15_PV} \ + install || die + + for x in automake aclocal + do + mv ${D}/usr/bin/${x} ${D}/usr/bin/${x}-${OLD15_PV} + rm -f ${D}/usr/bin/${x} + done + + doinfo automake15.info* + + docinto ${OLD15_PV} + dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog + + # + # ************ automake-1.4-p6 ************ + # + + cd ${OLD14_S} +# fix_bins "1.4" + + # Ignore duplicates like automake-1.5 and 1.6 + #epatch ${FILESDIR}/${PN}-1.4_p5-ignore-duplicates.patch + + make DESTDIR=${D} \ + pkgdatadir=/usr/share/automake-1.4 \ + m4datadir=/usr/share/aclocal-1.4 \ + install || die + + for x in automake aclocal + do + mv ${D}/usr/bin/${x} ${D}/usr/bin/${x}-1.4 + dosym ../lib/${PN}/am-wrapper.pl /usr/bin/${x} + done + + docinto ${OLD14_PV} + dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog + + # + # ************ misc stuff **************** + + # Some packages needs a /usr/share/automake directory + dosym automake-1.4 /usr/share/automake + + # This is the default macro directory that apps use .. + dodir /usr/share/aclocal + touch ${D}/usr/share/aclocal/.keep +} + +pkg_preinst() { + + # remove these to make sure symlinks install properly if old versions + # was binaries + for x in automake aclocal + do + if [ -e ${ROOT}/usr/bin/${x} ] + then + rm -f ${ROOT}/usr/bin/${x} + fi + done + + # nuke this if it is a directory, as the new one is a symlink + if [ -d ${ROOT}/usr/share/automake ] + then + rm -rf ${ROOT}/usr/share/automake + fi + + # Make sure we move all the macros not installed with automake + # to the non version specific aclocal dir. + if [ ! -d ${ROOT}/usr/share/aclocal ] + then + mkdir -p ${ROOT}/usr/share/aclocal + fi + if [ -d ${OLD14_S}/m4 ] && [ -d ${ROOT}/usr/share/aclocal-1.4 ] + then + for x in ${ROOT}/usr/share/aclocal-1.4/*.m4 + do + if [ ! -f ${OLD14_S}/m4/${x##*/} ] + then + if [ ! -f ${ROOT}/usr/share/aclocal/${x##*/} ] + then + einfo "Moving ${x} to aclocal..." + mv -f ${x} ${ROOT}/usr/share/aclocal + else + einfo "Deleting duplicate ${x}..." + rm -f ${x} + fi + fi + done + fi + if [ -d ${OLD15_S}/m4 ] && [ -d ${ROOT}/usr/share/aclocal-${OLD15_PV} ] + then + for x in ${ROOT}/usr/share/aclocal-${OLD15_PV}/*.m4 + do + if [ ! -f ${OLD15_S}/m4/${x##*/} ] + then + if [ ! -f ${ROOT}/usr/share/aclocal/${x##*/} ] + then + einfo "Moving ${x} to aclocal..." + mv -f ${x} ${ROOT}/usr/share/aclocal + else + einfo "Deleting duplicate ${x}..." + rm -f ${x} + fi + fi + done + fi + if [ -d ${OLD16_S}/m4 ] && [ -d ${ROOT}/usr/share/aclocal-${OLD16_PV_S} ] + then + for x in ${ROOT}/usr/share/aclocal-${OLD16_PV_S}/*.m4 + do + if [ ! -f ${OLD16_S}/m4/${x##*/} ] + then + if [ ! -f ${ROOT}/usr/share/aclocal/${x##*/} ] + then + einfo "Moving ${x} to aclocal..." + mv -f ${x} ${ROOT}/usr/share/aclocal + else + einfo "Deleting duplicate ${x}..." + rm -f ${x} + fi + fi + done + fi + if [ -d ${S}/m4 ] && [ -d ${ROOT}/usr/share/aclocal-${NEW_PV} ] + then + for x in ${ROOT}/usr/share/aclocal-${NEW_PV}/*.m4 + do + if [ ! -f ${S}/m4/${x##*/} ] + then + if [ ! -f ${ROOT}/usr/share/aclocal/${x##*/} ] + then + einfo "Moving ${x} to aclocal..." + mv -f ${x} ${ROOT}/usr/share/aclocal + else + einfo "Deleting duplicate ${x}..." + rm -f ${x} + fi + fi + done + fi +} + +pkg_postinst() { + + # nuke duplicate macros + for x in ${ROOT}/usr/share/aclocal-1.4/*.m4 + do + if [ -f ${ROOT}/usr/share/aclocal/${x##*/} ] + then + rm -f ${ROOT}/usr/share/aclocal/${x##*/} + fi + done + + echo + einfo "Please note that the 'WANT_AUTOMAKE_1_?=1' have changed to:" + echo + einfo " WANT_AUTOMAKE=<required version>" + echo + einfo "For instance: WANT_AUTOMAKE=1.6" + echo +} + |