Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 512184 - php-ext-pecl-r2.eclass is not compatible with EAPI >= 4 where DOCS can be an array
Summary: php-ext-pecl-r2.eclass is not compatible with EAPI >= 4 where DOCS can be an ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on: 561486 561490 561594 561616 561640 561656 567712 567800 570620
Blocks:
  Show dependency tree
 
Reported: 2014-06-02 17:51 UTC by Thomas Deutschmann (RETIRED)
Modified: 2016-07-09 16:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
php-ext-source-r3.eclass (php-ext-source-r3.eclass,11.32 KB, text/plain)
2016-05-02 00:22 UTC, Michael Orlitzky
Details
php-ext-pecl-r3.eclass (php-ext-pecl-r3.eclass,2.95 KB, text/plain)
2016-05-02 00:23 UTC, Michael Orlitzky
Details
php-ext-source-r3.eclass (php-ext-source-r3.eclass,11.93 KB, text/plain)
2016-05-26 21:17 UTC, Michael Orlitzky
Details
php-ext-pecl-r3.eclass (php-ext-pecl-r3.eclass,2.88 KB, text/plain)
2016-05-26 21:18 UTC, Michael Orlitzky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2014-06-02 17:51:08 UTC
Hi,

according to http://devmanual.gentoo.org/ebuild-writing/eapi/ since EAPI 4, DOCS can be an array. But it seems like that php-ext-pecl-r2_src_install from php-ext-pecl-r2.eclass doesn't support a DOCS array:

# ebuild my-pecl-extension-1.0.ebuild clean unpack
>>> Unpacking source...
>>> Unpacking my-pecl-extension-1.0.tar.bz2 to /var/tmp/portage/dev-php/my-pecl-extension-1.0/work
>>> Source unpacked in /var/tmp/portage/dev-php/my-pecl-extension-1.0/work

# tree /var/tmp/portage/dev-php/my-pecl-extension-1.0/work
/var/tmp/portage/dev-php/my-pecl-extension-1.0/work
└── my-pecl-extension-1.0
    ├── ChangeLog
    ├── config.m4
    ├── CREDITS
    ├── LICENSE
    ├── README.md
    ├── my-pecl-extension.c
    └── my-pecl-extension.h

1 directory, 7 files

# cat my-pecl-extension-1.0.ebuild
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="5"
PHP_EXT_NAME="my-pecl-extension"
PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="no"
DOCS=( "README.md" "ChangeLog" "CREDITS" "LICENSE" )

USE_PHP="php5-5 php5-3 php5-4"

inherit php-ext-pecl-r2

SRC_URI="http://example.org/distfiles/${P}.tar.bz2"
KEYWORDS="~amd64 ~x86"

DESCRIPTION="My PECL extension"
LICENSE="PHP-3"
SLOT="0"
IUSE=""

DEPEND=""
RDEPEND=""


# ebuild my-pecl-extension-1.0.ebuild clean install

# tree /var/tmp/portage/dev-php/my-pecl-extension-1.0/image
[...]
└── usr
    └── share
        └── doc
            └── my-pecl-extension-1.0
                ├── CREDITS
                └── README.md.bz2

But I am expecting something like

[...]
└── usr
    └── share
        └── doc
            └── my-pecl-extension-1.0
                ├── ChangeLog.bz2
                ├── CREDITS
                ├── LICENSE.bz2
                └── README.md.bz2



Reproducible: Always




# emerge --info                                                                                                                                                      [255/255]Portage 2.2.10 (default/linux/amd64/13.0, gcc-4.8.2, glibc-2.19, 3.14.4-gentoo x86_64)
=================================================================
System uname: Linux-3.14.4-gentoo-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.2
KiB Mem:     4050276 total,   3094652 free
KiB Swap:    1048572 total,   1048572 free
Timestamp of tree: Mon, 02 Jun 2014 15:15:01 +0000
ld GNU ld (GNU Binutils) 2.24
app-shells/bash:          4.2_p47
dev-lang/python:          2.7.6-r1, 3.3.5, 3.4.0
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.14.1
sys-devel/binutils:       2.24-r2
sys-devel/gcc:            4.8.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.14 (virtual/os-headers)
sys-libs/glibc:           2.19
ABI="amd64"
ABI_X86="64"
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=core-avx-i -mno-movbe -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx2 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-s
ize=64 --param l2-cache-size=8192 -mtune=generic"
CFLAGS_amd64="-m64"
CFLAGS_x32="-mx32"
CFLAGS_x86="-m32"
CHOST="x86_64-pc-linux-gnu"
CHOST_amd64="x86_64-pc-linux-gnu"
CHOST_x32="x86_64-pc-linux-gnux32"
CHOST_x86="i686-pc-linux-gnu"
Comment 1 Michael Orlitzky gentoo-dev 2016-05-02 00:21:37 UTC
I haven't forgotten about this, but every time I come back to it, it takes too long to re-test everything for the changes to the existing eclass.

Instead, I think the smart thing to do is to revbump the eclasses, and then update ebuilds as time permits. I've started work on the -r3 revisions of the eclasses. I'll leave them here for now -- if anyone wants to review them, please do. After some more testing, I'll post them to gentoo-dev.
Comment 2 Michael Orlitzky gentoo-dev 2016-05-02 00:22:40 UTC
Created attachment 432888 [details]
php-ext-source-r3.eclass
Comment 3 Michael Orlitzky gentoo-dev 2016-05-02 00:23:10 UTC
Created attachment 432890 [details]
php-ext-pecl-r3.eclass
Comment 4 Michael Orlitzky gentoo-dev 2016-05-26 21:17:34 UTC
Created attachment 435488 [details]
php-ext-source-r3.eclass
Comment 5 Michael Orlitzky gentoo-dev 2016-05-26 21:18:42 UTC
Created attachment 435490 [details]
php-ext-pecl-r3.eclass

Here are two newer versions. I fixed some other little issues, but tried to remain mostly compatible. I wrote a short migration guide here:

https://wiki.gentoo.org/wiki/Project:PHP/Php-ext-source-r3_migration_guide
Comment 6 Michael Orlitzky gentoo-dev 2016-07-09 16:51:22 UTC
Ok, the two new eclasses are finally in the tree, supporting both PATCHES and DOCS. Here's the php-ext-source-r3 commit:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28e082bab8a150597abb570f5a4bead7db0ff601

And the php-ext-pecl-r3 one:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcec0f660c82ecc991ddffd5b86348b9500c6b43

Migration should be easy, assuming the move to EAPI=6 isn't too hard for you. The migration guide I posted in a previous comment is still valid.