dev-lang/perl: Clean up eblits a bit and remove obsolete .ph generation
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Thu, 12 May 2016 11:09:51 +0000 (13:09 +0200)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Sat, 14 May 2016 23:33:59 +0000 (01:33 +0200)
Package-Manager: portage-2.2.28

dev-lang/perl/files/eblits/pkg_postinst-v50240001.eblit [new file with mode: 0644]
dev-lang/perl/files/eblits/pkg_postrm-v50240001.eblit [new file with mode: 0644]
dev-lang/perl/files/eblits/pkg_setup-v50240001.eblit [new file with mode: 0644]
dev-lang/perl/perl-5.24.0.ebuild

diff --git a/dev-lang/perl/files/eblits/pkg_postinst-v50240001.eblit b/dev-lang/perl/files/eblits/pkg_postinst-v50240001.eblit
new file mode 100644 (file)
index 0000000..2603ef4
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+eblit-perl-pkg_postinst() {
+       dual_scripts
+
+       if [[ "${ROOT}" = "/" ]] ; then
+               local INC DIR file
+               INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
+               einfo "Removing old .ph files"
+               for DIR in ${INC} ; do
+                       if [[ -d "${DIR}" ]] ; then
+                               for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
+                                       rm -f "${file}"
+                                       einfo "<< ${file}"
+                               done
+                       fi
+               done
+               # Silently remove the now empty dirs
+               for DIR in ${INC} ; do
+                       if [[ -d "${DIR}" ]] ; then
+                               find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
+                       fi
+               done
+
+#              einfo "Converting C header files to the corresponding Perl format (ignore any error)"
+#              # Prefix note: unprefixed as this is all kernel/libc stuff that we never provide
+#              pushd /usr/include >/dev/null
+#                      h2ph -Q -a -d "${EPREFIX}"${ARCH_LIB} \
+#                              asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \
+#                              sys/socket.h sys/time.h wait.h sysexits.h
+#              popd >/dev/null
+
+       fi
+}
diff --git a/dev-lang/perl/files/eblits/pkg_postrm-v50240001.eblit b/dev-lang/perl/files/eblits/pkg_postrm-v50240001.eblit
new file mode 100644 (file)
index 0000000..ed98a86
--- /dev/null
@@ -0,0 +1,7 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+eblit-perl-pkg_postrm(){
+       dual_scripts
+}
diff --git a/dev-lang/perl/files/eblits/pkg_setup-v50240001.eblit b/dev-lang/perl/files/eblits/pkg_setup-v50240001.eblit
new file mode 100644 (file)
index 0000000..9ce8e99
--- /dev/null
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+eblit-perl-pkg_setup() {
+       case ${CHOST} in
+               *-freebsd*)   osname="freebsd" ;;
+               *-dragonfly*) osname="dragonfly" ;;
+               *-netbsd*)    osname="netbsd" ;;
+               *-openbsd*)   osname="openbsd" ;;
+               *-darwin*)    osname="darwin" ;;
+               *-interix*)   osname="interix" ;;
+               *-aix*)       osname="aix" ;;
+               *)            osname="linux" ;;
+       esac
+
+       myarch="${CHOST%%-*}-${osname}"
+       if use debug ; then
+               myarch+="-debug"
+       fi
+       if use ithreads ; then
+               mythreading="-multi"
+               myarch+="-thread"
+       fi
+
+       LIBPERL="libperl$(get_libname ${MY_PV} )"
+       PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}"
+       ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
+       SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}"
+       SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
+       VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}"
+       VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}"
+
+       if use ithreads ; then
+               echo ""
+               ewarn "THREADS WARNING"
+               ewarn "PLEASE NOTE: You are compiling ${MY_P} with interpreter-level threading enabled."
+               ewarn "Threading is not supported by all applications that compile against perl. You"
+               ewarn "use threading at your own discretion."
+       fi
+       check_rebuild
+       dual_scripts
+}
+
+check_rebuild() {
+       if has_version "<dev-lang/perl-${SHORT_PV}" ; then
+               echo ""
+               ewarn "UPDATE THE PERL MODULES:"
+               ewarn "After updating dev-lang/perl the installed Perl modules will"
+               ewarn "have to be re-installed. In most cases, this is done automatically"
+               ewarn "by the package manager, but you should still call perl-cleaner to"
+               ewarn "make sure your system is consistent."
+               ewarn "Use: perl-cleaner --all"
+       elif has_version dev-lang/perl ; then
+               if (   use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
+                  ( ! use ithreads &&   has_version dev-lang/perl[ithreads] ) || \
+                  (   use debug    && ! has_version dev-lang/perl[debug]    ) || \
+                  ( ! use debug    &&   has_version dev-lang/perl[debug]    ) ; then
+                       echo ""
+                       ewarn "TOGGLED USE-FLAGS WARNING:"
+                       ewarn "You changed one of the use-flags ithreads or debug."
+                       ewarn "You must rebuild all perl-modules installed."
+                       ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
+               fi
+       fi
+}
index bb88aec47c46f52bc4771883e6839a7c53ac5681..fc3da5483833414631fd054c4d93840c41662ede 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -118,9 +118,9 @@ src_install()       { eblit-run src_install   v50200001 ; }
 # FILESDIR might not be available during binpkg install
 # FIXME: version passing
 for x in setup {pre,post}{inst,rm} ; do
-       e="${FILESDIR}/eblits/pkg_${x}-v50220001.eblit"
+       e="${FILESDIR}/eblits/pkg_${x}-v50240001.eblit"
        if [[ -e ${e} ]] ; then
                . "${e}"
-               eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }"
+               eval "pkg_${x}() { eblit-run pkg_${x} v50240001 ; }"
        fi
 done