Panther (OS X 10.3) comes with perl 5.8.1-RC3, and the perl-module eclass requires perl >= 5.8.2. So I added the macos keyword to dev-lang/perl-5.8.4-r1 (at the time of writing this bug report, it's the latest perl ebuild that's not in portage.mask) and emerged it. I had to install perl with FEATURES="-collision-protect" because in the install process, somehow it created /usr/bin/perl before the merge step and so the merge step detected a collision on /usr/bin/perl and refused to merge. I'll submit a separate bug report on this one once I narrow down the cause. Perl appeared to install just fine. However, once I tried to install the dev-perl/XML-Parser module, I discovered that it was trying to install into /Network/Library instead of /System/Library. Very strange. The README.macosx file in the Perl distribution source clued me in to what was going on: "Using an installation prefix of '/usr' will result in a directory layout that mirrors that of Apple's default Perl, with core modules stored in '/System/Library/Perl/${version}', CPAN modules stored in '/Library/Perl/${version}', and the addition of '/Network/Library/Perl/${version}' to @INC for modules that are stored on a file server and used by many Macs." The file in the Perl distribution where those defaults can be found is hints/darwin.sh. I'm calling the severity of this one "Major" because it makes it very difficult to install any Perl modules. Reproducible: Always Steps to Reproduce: 1. Add macos keyword to perl ebuild 2. emerge -av perl 3. emerge -av some-perl-module Actual Results: some-perl-module tries to install into /Network/Library/Perl/5.8.4, and fails with the error "/Network: read-only filesystem". (That may not be the exact error message). Expected Results: Installed into /System/Library instead of /Network/Library. Portage 20040726 (default-macos-10.3, gcc-3.3, unavailable, 7.5.0 Power Macintosh powerpc) ================================================================= System uname: 7.5.0 Power Macintosh powerpc macos-20040726 distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled] Autoconf: Automake: Binutils: ACCEPT_KEYWORDS="macos" AUTOCLEAN="yes" CFLAGS="-O2 -pipe" CHOST="powerpc-apple-darwin" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="collision-protect cvs keepwork" GENTOO_MIRRORS="http://gentoo.osuosl.org/" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="macos apache2 jpeg perl"
Created attachment 37682 [details, diff] perl-5.8.4-macos-install-dirs.patch Here's a patch changing the default location from /Network/Library to /System/Library for installation of perl modules via MakeMaker.
Created attachment 37683 [details, diff] perl-5.8.4-r1.ebuild.patch And here's a patch to the perl-5.8.4-r1 ebuild, to make it include the default-directory-change patch.
Also see bug #57677 for some changes that need to be made to the perl-module.eclass file to install modules in /System/Library instead of /usr/System/Library.
marking as a dep based on eclass changes necessary, not for the specifics of the package
In prefix this bug looks obsolete to me. I.e. the paths are fine, as we have our own perl.