diff options
author | 2013-12-01 06:46:14 +0000 | |
---|---|---|
committer | 2013-12-01 06:46:14 +0000 | |
commit | edafd8354d49b3e9aea62f139ec6de2abe9264ef (patch) | |
tree | 8e5ec080cf7a248e34cdacfe66d015f6bfb6e672 /dev-lang/parrot | |
parent | Change back to virtual/libusb:0 as that is what the source explicitly checks ... (diff) | |
download | historical-edafd8354d49b3e9aea62f139ec6de2abe9264ef.tar.gz historical-edafd8354d49b3e9aea62f139ec6de2abe9264ef.tar.bz2 historical-edafd8354d49b3e9aea62f139ec6de2abe9264ef.zip |
Bump for #492648
Package-Manager: portage-2.2.7/cvs/Linux x86_64
Diffstat (limited to 'dev-lang/parrot')
-rw-r--r-- | dev-lang/parrot/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/parrot/Manifest | 5 | ||||
-rw-r--r-- | dev-lang/parrot/files/perldoc-5.10.patch | 146 | ||||
-rw-r--r-- | dev-lang/parrot/parrot-5.10.0.ebuild | 86 |
4 files changed, 243 insertions, 2 deletions
diff --git a/dev-lang/parrot/ChangeLog b/dev-lang/parrot/ChangeLog index e33e91aac59e..5685346aec73 100644 --- a/dev-lang/parrot/ChangeLog +++ b/dev-lang/parrot/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/parrot # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/parrot/ChangeLog,v 1.72 2013/09/24 07:45:30 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/parrot/ChangeLog,v 1.73 2013/12/01 06:46:07 patrick Exp $ + +*parrot-5.10.0 (01 Dec 2013) + + 01 Dec 2013; Patrick Lauer <patrick@gentoo.org> +files/perldoc-5.10.patch, + +parrot-5.10.0.ebuild: + Bump for #492648 24 Sep 2013; Patrick Lauer <patrick@gentoo.org> -parrot-5.4.0.ebuild, -parrot-5.5.0.ebuild: diff --git a/dev-lang/parrot/Manifest b/dev-lang/parrot/Manifest index 5e7e149a5bfc..5b25a69bc802 100644 --- a/dev-lang/parrot/Manifest +++ b/dev-lang/parrot/Manifest @@ -1,7 +1,10 @@ +AUX perldoc-5.10.patch 4544 SHA256 e226cd502abda8d66b05cba3e5175a139522b129adcb64d1089709fcf80abbca SHA512 1b312f5420a51eb201f002a723073bf2498d9efe941ba0e824e755d2b1eee0dc97a49f0277bf45c6838942053b21dffd581bc84f61b8231de5393393a3607a24 WHIRLPOOL 04e44056ecaaa4a50babf15fe5fe1b1baa24fd0c773e1e459ef0bf39e3a0e1d70944b2d4e8858294f814571470cfd47e05a3676e9930d0163b005ad9fdf559cf AUX perldoc.patch 1491 SHA256 ed3e385f6c57c34a828142ded341a954d9afd67270e77e2949ee0aac42d6d775 SHA512 2450d725d70dc015a64ff8fe6f2331ed019ad71a284c86e27b8a237d3063020e8c396906a8c950185beed14c14ef539997bd50fa55f97da45128f28880209bdf WHIRLPOOL 32e21a494d3c6b3a74e2e3f6496c47b25ad7839823246633b08cd9ac27dac0b29007d3e536931786a8572b0e302e733d4906cb5423b743e5980643ed76eb8df4 +DIST parrot-5.10.0.tar.gz 4595044 SHA256 417d504ccf557528d179c9f25df4f8430d5ec1e703ea63126d722452bfd38be3 SHA512 abd627545f85e42a9d20e13f73ef30595cea6ad252b1fd6d06982ec9afb0534520affc99a77bd2d648deb4090a22c818b03e30b5c5a7f99041da5b1776025f33 WHIRLPOOL 0f5b1fa6c4accea9ba6836b2be2db7478d61bf6f3f7d533e4aadb1cfc074547d08d8d506616d8f5d1216d8b2a2db92072476bd883e56eb828a8a606c6103bace DIST parrot-5.6.0.tar.gz 4597748 SHA256 8e2d2ddaff36c2c960236c94f868f0eea28740e306345ee42df84bcd9aa146a6 SHA512 27823099bbcd75da56d7485da546f1baa6838322747c20cd79d6dce6bc32e10b0a84b299f7422031653e6a5adc04b4bda4d1f0209d45ab2ec50d55d64f82116b WHIRLPOOL 44f49a8b28451443cda75474ca17cea4075bd3c0d78a8d4caf198e3a79690c3d6271cb5c12db990df190fd5a0e6698c0da6332c55d6160cdf723947e6d2a6839 DIST parrot-5.7.0.tar.gz 4604326 SHA256 0d07c210a8b90d368cde600351173b8c90a28d376379836ba36edf83acf7a21f SHA512 6db01c4c092f64cb7dbaab99972ddcea73183bbca18a9005871992ca57035d0adca5408af944e40e84095cc35badc6ebf611177fc3d73112577a2f1b7745de75 WHIRLPOOL dac3f775d67fc4f6c3baffc0e8d5176f7466827e19b2a96e0f3ae8ac6e0ecce5de7aa66a93e0265ed8867341169f0bc332501b05bf3fa251f35be2dd2a8663e1 +EBUILD parrot-5.10.0.ebuild 2468 SHA256 5d5cb02b011af874af4884f750eae873d3ec4c8794aa3bb2575b0c5e9123e113 SHA512 6871672bde418125bfc86e34ac330a063e7764e39dedf07ba6b37c72610da5348cdbcd48a0d639add72414970e02aff2e382c8b48902124cfc699410dae4321d WHIRLPOOL 5f06f80d5a3bf086c2be730bf575ddfcefe93b88b3b106222f097274591277ffd649f3ad7e05d19d72e9b0a7371464c3995022013ab1ed2e09ea923450d392d1 EBUILD parrot-5.6.0.ebuild 2580 SHA256 3eb7e308da53c9d2d7c15f40f82fa38d977cda799a04a9bec61bb4e8bcde53bf SHA512 139e28d0741a2d8cfd09f76d3347821c404b300f5c4ea7cfa8fe95339e246457f4b062b4baafe2395b96892a67887cae4b37a1ad3b5fc954e6f5b2ea36ba4684 WHIRLPOOL 07b20b09b970eb02515c4674ddf4fdbcd75f6c7fcd6627736c5e81cb8365b2957970994411eca88a2fd928b06c33a8241f7850788aea79542e4e75ebd89efcda EBUILD parrot-5.7.0.ebuild 2580 SHA256 f73d2ae6e4c53c79bbc6dd008b0825bc7714fad82ab7f74c3323feebf69c2685 SHA512 9c1d776acf457cc2faca02116aadbcd4b69c415976dbee1b03b25fc470c7305485c69a79a96cd90930018b6ec2a61d734c39c9eb9e48994c25d5f98e644d61a3 WHIRLPOOL 0ceef6a4ab5437c60b117a350cc028f6d6f01676d49f179e79b693bd2c5d3b484812a03280a9c88816f9c953db74c7df57d3718425c7940d37c7606726624032 -MISC ChangeLog 10182 SHA256 9e174813adcaf3b3aab0fa55ff189a26b7dabf3d4308fd0688a33841c2a2f715 SHA512 23b45101d024bacc30d5c6056af423bad65a709345fa9c1de6090d0b5caf0a607d66e0b709056c5cac376a353249965d324ee8bd21c5435e46f44e525c48412b WHIRLPOOL 4f663334be9711b88e66a37d7964a07cf5b352dd3204904dc9471fd872be286d2bc0c90cbeb60165f4bf08a44dc63bcd18331cea68ba5075af5110a442de87f3 +MISC ChangeLog 10334 SHA256 ce07e6eb47bfc9d226c5a32dc46de526c064d5e5f6d32e0ef39c065eccaef00f SHA512 0c5d4ca9b630a1090a51b545884dfd60535087518ae3997b55dd94dd2a63c83b55aac3f9b64e93e9fa0b689e89ec306a39e9070103083f7f6b468913c6ca516e WHIRLPOOL f057b8738793db592618a4e7dea10d4e58d437c237cde9338e8ae401c38a3fc324841bd875b083ae19a76f80c19c7e94ba5fe8e4ed2aba9a27cc52cae0609f30 MISC metadata.xml 157 SHA256 6a11fd41a2a210a9760849de398ef8c62cf46cc742d09b2e1781def7848fa1ec SHA512 95158d74d42674de03bc271c8dffa2264759c77681436de71fa9b3ad67f50b09394b0401e6df6dde526bc8dcd6ea666ed6767662bd63c3e92cb33b7b23e4ede8 WHIRLPOOL d3fdf14c384070120719ad4076cd04630790564f5bceda2a273e6481ea27a6fc6291e55d78cbf8bf99b73c7b42e8a1f286927c990702dceee97a63815cb33846 diff --git a/dev-lang/parrot/files/perldoc-5.10.patch b/dev-lang/parrot/files/perldoc-5.10.patch new file mode 100644 index 000000000000..43a7fddee142 --- /dev/null +++ b/dev-lang/parrot/files/perldoc-5.10.patch @@ -0,0 +1,146 @@ +diff --git a/config/auto/perldoc.pm b/config/auto/perldoc.pm +index 4d87aca..7e54156 100644 +--- a/config/auto/perldoc.pm ++++ b/config/auto/perldoc.pm +@@ -66,24 +66,12 @@ E_NOTE + foreach my $ops (@ops) { + my $pod = $ops; + $pod =~ s/\.ops$/.pod/; +- if ( $new_perldoc ) { +- $TEMP_pod_build .= <<"END"; ++ $TEMP_pod_build .= <<"END"; + ops/$pod: ../src/ops/$ops +-\t\$(PERLDOC) -ud ops/$pod ../src/ops/$ops ++\t\$(PODEXTRACT) ../src/ops/$ops ops/$pod + \t\$(CHMOD) 0644 ops/$pod + \t\$(ADDGENERATED) "docs/\$\@" "[doc]" +- +-END +- } +- else { +- $TEMP_pod_build .= <<"END"; +-ops/$pod: ../src/ops/$ops +-\t\$(PERLDOC) -u ../ops/$ops > ops/$pod +-\t\$(CHMOD) 0644 ../ops/$pod +-\t\$(ADDGENERATED) "docs/\$\@" "[doc]" +- + END +- } + } + + $conf->data->set( +diff --git a/config/gen/makefiles/docs.in b/config/gen/makefiles/docs.in +index 3e8c74b..4e8f35d 100644 +--- a/config/gen/makefiles/docs.in ++++ b/config/gen/makefiles/docs.in +@@ -11,6 +11,7 @@ RM_RF = @rm_rf@ + PERLDOC = @perldoc@ + POD2MAN = @pod2man@ + VERSION = @VERSION@@DEVEL@ ++PODEXTRACT = $(PERL) ../tools/build/podextract.pl + ADDGENERATED = $(PERL) ../tools/build/addgenerated.pl + OPS_SUMMARY = ../tools/docs/ops_summary.pl + +@@ -63,8 +64,7 @@ doc-prep: + $(TOUCH) doc-prep + + packfile-c.pod: ../src/packfile/api.c +-#IF(new_perldoc): $(PERLDOC) -ud packfile-c.pod ../src/packfile/api.c +-#ELSE: $(PERLDOC) -u ../src/packfile/api.c > packfile-c.pod ++ $(PODEXTRACT) ../src/packfile/api.c packfile-c.pod + $(ADDGENERATED) "docs/$@" "[doc]" + + .pod.1 : # suffix rule (limited support) +diff --git a/config/gen/makefiles/root.in b/config/gen/makefiles/root.in +index c1f0c19..36e853a 100644 +--- a/config/gen/makefiles/root.in ++++ b/config/gen/makefiles/root.in +@@ -115,6 +115,7 @@ LDFLAGS = @ldflags@ @ld_debug@ + INNO_SETUP = iscc + TEMPDIR = @tempdir@ + RPATH_BLIB = @rpath_blib@ ++PODEXTRACT = $(PERL) $(BUILD_TOOLS_DIR)/podextract.pl + ADDGENERATED = $(PERL) $(BUILD_TOOLS_DIR)/addgenerated.pl + #IF(darwin):export MACOSX_DEPLOYMENT_TARGET = @osx_version@ + +diff --git a/tools/build/podextract.pl b/tools/build/podextract.pl +new file mode 100644 +index 0000000..0979b6b +--- /dev/null ++++ b/tools/build/podextract.pl +@@ -0,0 +1,75 @@ ++#! perl ++ ++=head1 NAME ++ ++tools/build/podextract.pl ++ ++=head1 DESCRIPTION ++ ++Simple POD Extraction ++ ++=head1 SYNOPSIS ++ ++Previously: ++ ++ perldoc -ud $target $source ++ ++or ++ ++ perldoc -u $source > $target ++ ++Now: ++ ++ perl podextract.pl $source $target ++ ++=head1 RATIONALE ++ ++C<perldoc> does many things, and is somewhat complex. ++ ++For instance, normally, ++ ++ perldoc perldoc ++ ++Inspects various paths, and paths that are controlled by C<%ENV> to find relevant documentation for "perldoc". ++ ++And because of this, it is a little security concious, and pre-emptively drops root to UID=nobody ++ ++But Parrot is not using this feature of C<perldoc> ++ ++Parrot is simply using C<perldoc> as a content filter to extract C<POD> from source files. ++ ++And as such, it only needs the alternative function ++ ++ perldoc $PATH ++ ++To work, which doesn't require C<%ENV>, and additionally, dropping root to C<UID=nobody> makes it impossible ++for some parrot to invoke C<perldoc -ud $target $source> on some systems, because it drops privelages and can then no longer read C<$source>, and can no longer write C<$target>. ++ ++However, some means vendor tooling that B<MUST> execute C<make install> as root, by proxy, C<MUST> invoke C<perldoc> as root, and as such, invokes the security problem, which is impossible to work around. ++ ++Given a simple C<chmod> is not enough, because parent directories also are not readable or writeable by C<UID=nobody>, and additionally, vendor tooling causes fatal access violations when a process running as C<UID=nobody> even attempts to do directory lookaround ( which C<perldoc> does much of as part of C<%ENV> handling ) ++ ++So this tool is simple: ++ ++It takes the very core utility in C<PerlDoc> that parrot needed to utilize, and calls it directly. ++ ++And this avoids the misguided attempts of increasing security, which simply does nothing useful. ++ ++=cut ++ ++use strict; ++use warnings; ++ ++if ( not $ARGV[1] ) { ++ die "pod_extract <src> <target>"; ++} ++if ( not -e $ARGV[0] ) { ++ die "<src> $ARGV[0] does not exist"; ++} ++require Pod::Perldoc::ToPod; ++my $parser = Pod::Perldoc::ToPod->new(); ++open my $output, '>', $ARGV[1] or die "Cant write to $ARGV[1] $! $?"; ++$parser->parse_from_file( $ARGV[0], $output ); ++ ++1 ++ diff --git a/dev-lang/parrot/parrot-5.10.0.ebuild b/dev-lang/parrot/parrot-5.10.0.ebuild new file mode 100644 index 000000000000..e4d4d38d1979 --- /dev/null +++ b/dev-lang/parrot/parrot-5.10.0.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/parrot/parrot-5.10.0.ebuild,v 1.1 2013/12/01 06:46:07 patrick Exp $ + +EAPI=3 + +inherit eutils multilib + +# weird failures +RESTRICT="test" + +DESCRIPTION="Virtual machine designed to efficiently compile and execute bytecode for dynamic languages" +HOMEPAGE="http://www.parrot.org/" +SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/devel/${PV}/${P}.tar.gz" + +LICENSE="Artistic-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="opengl nls doc examples gdbm gmp ssl +unicode pcre" + +RDEPEND="sys-libs/readline + opengl? ( media-libs/freeglut ) + nls? ( sys-devel/gettext ) + unicode? ( >=dev-libs/icu-2.6 ) + gdbm? ( >=sys-libs/gdbm-1.8.3-r1 ) + gmp? ( >=dev-libs/gmp-4.1.4 ) + ssl? ( dev-libs/openssl ) + pcre? ( dev-libs/libpcre )" + +DEPEND="dev-lang/perl[doc?] + ${RDEPEND}" + +src_prepare() { + # Fix perldoc sandbox madness + epatch "${FILESDIR}/perldoc-5.10.patch" || die +} + +src_configure() { + myconf="--disable-rpath" + use unicode || myconf+=" --without-icu" + use ssl || myconf+=" --without-crypto" + use gdbm || myconf+=" --without-gdbm" + use nls || myconf+=" --without-gettext" + use gmp || myconf+=" --without-gmp" + use opengl || myconf+=" --without-opengl" + use pcre || myconf+=" --without-pcre" + + perl Configure.pl \ + --ccflags="${CFLAGS}" \ + --linkflags="${LDFLAGS}" \ + --prefix="${EPREFIX}"/usr \ + --libdir="${EPREFIX}"/usr/$(get_libdir) \ + --mandir="${EPREFIX}"/usr/share/man \ + --sysconfdir="${EPREFIX}"/etc \ + --sharedstatedir="${EPREFIX}"/var/lib/parrot \ + $myconf || die +} + +src_compile() { + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib + # occasionally dies in parallel make + emake -j1 || die + if use doc ; then + emake -j1 html || die + fi +} + +src_test() { + emake -j1 test || die +} + +src_install() { + emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}" || die + dodoc CREDITS DONORS.pod PBC_COMPAT PLATFORMS RESPONSIBLE_PARTIES TODO || die + if use examples; then + insinto "/usr/share/doc/${PF}/examples" + doins -r examples/* || die + fi + if use doc; then + insinto "/usr/share/doc/${PF}/editor" + doins -r editor || die + cd docs/html + dohtml -r developer.html DONORS.pod.html index.html ops.html parrotbug.html pdds.html \ + pmc.html tools.html docs src tools || die + fi +} |