I noticed problems with dev-perl/XML-LibXML in the gentoo-dev list. Did a versionbump from 0.91-r1 to 1.40. 1.40 depends on the module XML::SAX which again depends on XML::NamespaceSupport. Ebuilds attached
Created attachment 440 [details] XML-LibXML 1.40 ebuild
Created attachment 441 [details] XML-NamespaceSupport 1.04 ebuild
Created attachment 442 [details] XML-SAX 0.10 ebuild
I will commit theese after testing tonight.
Sorry, but I cannot get XML-SAX to build and install correctly on my system: Installing /var/tmp/portage/XML-SAX-0.10/image/usr/share/man/man3/XML::SAX::PurePerl::Reader.3pm Writing /var/tmp/portage/XML-SAX-0.10/image//usr/lib/perl5/site_perl/5.6.1/i686-linux/auto/XML/SAX/.packlist Appending installation info to /var/tmp/portage/XML-SAX-0.10/image//usr/lib/perl5/5.6.1/i686-linux/perllocal.pod Can't locate XML/SAX.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i686-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i686-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .). BEGIN failed--compilation aborted. make: *** [install_sax_pureperl] Error 2 !!! ERROR: the make command did not complete successfully. !!! ("make PREFIX=/var/tmp/portage/XML-SAX-0.10/image//usr INSTALLMAN3DIR=/var/tmp/portage/XML-SAX-0.10/image//usr/share/man/man3 install") !!! Since this is a critical task, ebuild will be stopped. !!! emerge aborting on /usr/portage/dev-perl/XML-SAX/XML-SAX-0.10.ebuild .
Try this as your dev-perl/XML-SAX/XML-SAX-0.10.ebuild : Please do an "perl -v" if it doesn't work.. # Copyright 1999-2000 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author CC Salvesen <calle@ioslo.net> A=${P}.tar.gz S=${WORKDIR}/${P} DESCRIPTION="Perl module for using and building Perl SAX2 XML parsers, filters, and drivers" SRC_URI="http://cpan.valueclick.com/modules/by-category/11_String_Lang_Text_Proc/XML/${A}" HOMEPAGE="http://cpan.valueclick.com/modules/by-category/11_String_Lang_Text_Proc/XML/${P}.readme" DEPEND=">=sys-devel/perl-5 >=dev-perl/XML-NamespaceSupport-1.04 >=dev-libs/libxml2-2.4.1" src_compile() { echo n | perl Makefile.PL try make try make test } src_install () { export PERL5_LIB=${D}/`perl -MConfig -e 'print $Config{sitelib}'` try make PREFIX=${D}/usr INSTALLMAN3DIR=${D}/usr/share/man/man3 install dodoc MANIFEST README }
Still doesn't work, same error as before. root@Darkmere XML-SAX # perl -v This is perl, v5.6.1 built for i686-linux Copyright 1987-2001, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page.
change export PERL5_LIB=${D}/`perl -MConfig -e 'print $Config{sitelib}'` to: export PERLLIB=${D}/`perl -MConfig -e 'print $Config{sitelib}'` in the XML-SAX ebuild my bad..
Same error again on XML-LibXML this time. Installing /var/tmp/portage/XML-LibXML-1.40/image/usr/share/man/man3/XML::LibXML::Literal.3pm Installing /var/tmp/portage/XML-LibXML-1.40/image/usr/share/man/man3/XML::LibXML::Number.3pm Installing /var/tmp/portage/XML-LibXML-1.40/image/usr/share/man/man3/XML::LibXML::Element.3pm Writing /var/tmp/portage/XML-LibXML-1.40/image//usr/lib/perl5/site_perl/5.6.1/i686-linux/auto/XML/LibXML/.packlist Appending installation info to /var/tmp/portage/XML-LibXML-1.40/image//usr/lib/perl5/5.6.1/i686-linux/perllocal.pod Can't locate XML/LibXML/SAX/Parser.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i686-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i686-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at /usr/lib/perl5/site_perl/5.6.1/XML/SAX.pm line 145. make: *** [install_sax_driver] Error 2 + '[' 2 -ne 0 ']' + echo + echo '!!! ERROR: the make command did not complete successfully.' !!! ERROR: the make command did not complete successfully. + echo '!!! ("make PREFIX=/var/tmp/portage/XML-LibXML-1.40/image//usr INSTALLMAN3DIR=/var/tmp/portage/XML-LibXML-1.40/image//usr/share/man/man3 install")' !!! ("make PREFIX=/var/tmp/portage/XML-LibXML-1.40/image//usr INSTALLMAN3DIR=/var/tmp/portage/XML-LibXML-1.40/image//usr/share/man/man3 install") + echo '!!! Since this is a critical task, ebuild will be stopped.' !!! Since this is a critical task, ebuild will be stopped. + echo + exit 1 !!! emerge aborting on /usr/portage/dev-perl/XML-LibXML/XML-LibXML-1.40.ebuild .
This one should be good for both XML-LibXML and XML-SAX. src_install () { export PERL5LIB=`perl -e 'print map { ":$ENV{D}/$_" } @INC'` try make PREFIX=${D}/usr INSTALLMAN3DIR=${D}/usr/share/man/man3 install dodoc MANIFEST README }
okie, that works as far as "make install" where XML-LibXML breaks the sandbox and attempts to write outside the filesystem. I traced it down in the Makefile to the "install_sax_driver" which makes it write into the main-systems perl dir. I hacked around it with this: src_install () { export PERL5LIB=`perl -e 'print map { ":$ENV{D}/$_" } @INC'` # try make PREFIX=${D}/usr INSTALLMAN3DIR=${D}/usr/share/man/man3 install # hack around the make install "make install_sax_driver" stage since it breaks things :/ try make PREFIX=${D}/usr INSTALLMAN3DIR=${D}/usr/share/man/man3 pure_install doc_install # perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()" dodoc MANIFEST README } pkg_postinst() { perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()" } ( the last line is taken from "install_sax_driver" ) Could you please check/verify this before I commit a dumb hack? (in your /etc/make.conf way down there to MAINTAINER="" add "sandbox" in that variable)
Looks good and works for me..
commited