From cad6b4459b8ec143e79ae0616cb412628cd7ccb7 Mon Sep 17 00:00:00 2001 From: Kent Fredric Date: Mon, 12 Sep 2016 09:16:07 +1200 Subject: 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 --- dev-perl/perl-headers/Manifest | 1 + dev-perl/perl-headers/files/README.gentoo | 23 +++++++++++++ dev-perl/perl-headers/metadata.xml | 12 +++++++ dev-perl/perl-headers/perl-headers-0.0.1.ebuild | 43 +++++++++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 dev-perl/perl-headers/Manifest create mode 100644 dev-perl/perl-headers/files/README.gentoo create mode 100644 dev-perl/perl-headers/metadata.xml create mode 100644 dev-perl/perl-headers/perl-headers-0.0.1.ebuild (limited to 'dev-perl/perl-headers') diff --git a/dev-perl/perl-headers/Manifest b/dev-perl/perl-headers/Manifest new file mode 100644 index 000000000000..cc5cd1d7d2ed --- /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 000000000000..5bbe5dc18452 --- /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 000000000000..fc800cc5edd5 --- /dev/null +++ b/dev-perl/perl-headers/metadata.xml @@ -0,0 +1,12 @@ + + + + + perl@gentoo.org + Gentoo Perl Project + + + Add source locations in generated .ph files to assist with debugging when errors occur + Include logic to warn when a .ph file tries to use a sizeof() that is unknown + + 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 000000000000..f1659c016a32 --- /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 +} -- cgit v1.2.3-65-gdbad