diff options
author | Kent Fredric <kentnl@gentoo.org> | 2016-09-12 09:16:07 +1200 |
---|---|---|
committer | Kent Fredric <kentnl@gentoo.org> | 2016-09-12 11:21:47 +1200 |
commit | cad6b4459b8ec143e79ae0616cb412628cd7ccb7 (patch) | |
tree | 2846f715290da4ec580ecc60121545aba7a51167 | |
parent | 1b4e49b414314d890524b33cde2eba0f8b772c4c (diff) | |
download | gentoo-cad6b4459b8ec143e79ae0616cb412628cd7ccb7.tar.gz gentoo-cad6b4459b8ec143e79ae0616cb412628cd7ccb7.tar.xz |
dev-perl/perl-headers: Added at 0.0.1
This is some work to restore the logic that was previously
shipped with dev-lang/perl before 5.24 and was trimmed
for lack of evidence of use, and the conflating design issues
that manifested from being installed during pkg_postinst
This should be at least as good as that, if not better.
Package-Manager: portage-2.3.0
-rw-r--r-- | dev-perl/perl-headers/Manifest | 1 | ||||
-rw-r--r-- | dev-perl/perl-headers/files/README.gentoo | 23 | ||||
-rw-r--r-- | dev-perl/perl-headers/metadata.xml | 12 | ||||
-rw-r--r-- | dev-perl/perl-headers/perl-headers-0.0.1.ebuild | 43 |
4 files changed, 79 insertions, 0 deletions
diff --git a/dev-perl/perl-headers/Manifest b/dev-perl/perl-headers/Manifest new file mode 100644 index 00000000000..cc5cd1d7d2e --- /dev/null +++ b/dev-perl/perl-headers/Manifest @@ -0,0 +1 @@ +DIST perl-headers-0.0.1.tar.gz 2141 SHA256 57ed0b2a90c0ede060e696dd18ad21d03bd36e430b774e02422975d7e5925953 SHA512 a9a44a957d863c6d99c0facb324a32e3fee55ec50e34481dbe37c09f6afe103b0cae234ca83d4d591a01d1e620d262b0e9beae53001db1fdde885f9a57234c7f WHIRLPOOL df5823605dc326ce7880530384d67bbe0a496b629b4618526b5f712be1ceabd65c223618937a080cc15fed0e712cb8e0f2ccccc93bb15bd48b7036e8f6556507 diff --git a/dev-perl/perl-headers/files/README.gentoo b/dev-perl/perl-headers/files/README.gentoo new file mode 100644 index 00000000000..5bbe5dc1845 --- /dev/null +++ b/dev-perl/perl-headers/files/README.gentoo @@ -0,0 +1,23 @@ +This package contains .ph files that are mostly generated by the perl h2ph +command by inspecting existing .h files on your system. + +Due to the nature of these files, they are likely to be incomplete, and many +of them may not even load in Perl, and many things that rely on C intrinsics +like "sizeof" or macro expansion may be very broken. + +It is strongly recommended you build this package with: + + USE="debug sizeof-warning" + +As this will give better context when things break, and will at least notify +you when some constant relies on a missing "sizeof" entry ( and where ). + +Missing "sizeof" entries and broken constants need a lot of love, so please +file bugs at https://github.com/gentoo-perl/perl-headers/issues ( or on +gentoo bugzilla ) if you find anything that you know how to fix. + +However, the logic is kinda broken in a lot of places, and there's not a lot +that can be done about it as we're reliant on the vernerable quality of h2ph, +and this package is provided mostly as a kindness to people who need it, and +were already relying on the equivalent logic that we shipped with perl itself +prior to 5.24 ( where it was horribly broken and nobody really noticed ) diff --git a/dev-perl/perl-headers/metadata.xml b/dev-perl/perl-headers/metadata.xml new file mode 100644 index 00000000000..fc800cc5edd --- /dev/null +++ b/dev-perl/perl-headers/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>perl@gentoo.org</email> + <name>Gentoo Perl Project</name> + </maintainer> + <use> + <flag name="debug">Add source locations in generated .ph files to assist with debugging when errors occur</flag> + <flag name="sizeof-warning">Include logic to warn when a .ph file tries to use a sizeof() that is unknown</flag> + </use> +</pkgmetadata> diff --git a/dev-perl/perl-headers/perl-headers-0.0.1.ebuild b/dev-perl/perl-headers/perl-headers-0.0.1.ebuild new file mode 100644 index 00000000000..f1659c016a3 --- /dev/null +++ b/dev-perl/perl-headers/perl-headers-0.0.1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit perl-functions flag-o-matic readme.gentoo-r1 + +MY_GITV="${PV}" + +DESCRIPTION="Generated .ph equivalents of system headers" +HOMEPAGE="https://github.com/gentoo-perl/${PN}" +SRC_URI="https://github.com/gentoo-perl/${PN}/archive/${MY_GITV}.tar.gz -> ${PN}-${MY_GITV}.tar.gz" + +LICENSE="|| ( Artistic GPL-1+ )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+debug +sizeof-warning" + +RDEPEND="dev-lang/perl:=" +DEPEND="${RDEPEND} + sys-kernel/linux-headers +" + +S="${WORKDIR}/${PN}-${MY_GITV}" + +src_compile() { + use sizeof-warning && append-cppflags "-DSIZEOF_WARNING=1" + emake H2PHARGS="$(usex debug " -h" "")" +} + +src_install() { + readme.gentoo_create_doc + perl_set_version + insinto "${ARCH_LIB}" + doins -r "${S}/headers/"* + doins -r "${S}/appended/"* + +} + +pkg_postinst() { + readme.gentoo_print_elog +} |