Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 58931 - Patch: perl
Summary: Patch: perl
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Mac OSX (show other bugs)
Hardware: PPC All
: High normal (vote)
Assignee: osx porters
URL:
Whiteboard:
Keywords:
: 62334 (view as bug list)
Depends on:
Blocks: 57640 57677
  Show dependency tree
 
Reported: 2004-07-30 13:46 UTC by Joe Jezak (RETIRED)
Modified: 2006-04-12 10:52 UTC (History)
5 users (show)

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


Attachments
Fixes libperl on OSX (libperl-5.8.4-r1.ebuild.diff,2.43 KB, patch)
2004-07-30 13:47 UTC, Joe Jezak (RETIRED)
Details | Diff
Fixes perl on OSX (perl-5.8.4.ebuild.diff,1.64 KB, patch)
2004-07-30 13:47 UTC, Joe Jezak (RETIRED)
Details | Diff
List of files blocking the merge (perl.blocked,38.31 KB, text/plain)
2004-10-07 22:09 UTC, Joe Jezak (RETIRED)
Details
Unified diff for libperl (libperl-5.8.4-r1.ebuild.patch,3.99 KB, patch)
2004-10-07 22:13 UTC, Joe Jezak (RETIRED)
Details | Diff
Unified diff for perl (perl-5.8.4.ebuild.patch,2.61 KB, patch)
2004-10-07 22:14 UTC, Joe Jezak (RETIRED)
Details | Diff
Provides the correct lib ending for .so or .dylib (get_libname.patch,402 bytes, patch)
2005-08-06 09:01 UTC, Joe Jezak (RETIRED)
Details | Diff
Fix for latest libperl using the get_libname patch (libperl-5.8.7.patch,4.22 KB, patch)
2005-08-06 09:01 UTC, Joe Jezak (RETIRED)
Details | Diff
Fix for latest perl using the get_libname patch (perl-5.8.7.patch,2.94 KB, patch)
2005-08-06 09:02 UTC, Joe Jezak (RETIRED)
Details | Diff
Fix for latest libperl using the get_libname patch (libperl-5.8.7.ebuild.patch,4.53 KB, patch)
2005-08-06 13:31 UTC, Kito (RETIRED)
Details | Diff
65242: Fix for latest perl using the get_libname patch (perl-5.8.7.patch,3.55 KB, patch)
2005-08-06 13:37 UTC, Kito (RETIRED)
Details | Diff
Fix for latest perl using the get_libname patch (perl-5.8.7.patch,3.54 KB, patch)
2005-08-08 11:31 UTC, Kito (RETIRED)
Details | Diff
eutils patch to provide the correct lib suffix for .so or .dylib (get_libname.patch,408 bytes, patch)
2005-08-08 11:36 UTC, Kito (RETIRED)
Details | Diff
libperl-5.8.7.ebuild.patch (libperl-5.8.7.ebuild.patch,2.53 KB, patch)
2005-08-12 08:47 UTC, Kito (RETIRED)
Details | Diff
perl-5.8.7.ebuild.patch (perl-5.8.7.ebuild.patch,1.38 KB, patch)
2005-08-12 08:59 UTC, Kito (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Jezak (RETIRED) gentoo-dev 2004-07-30 13:46:18 UTC
I didn't get too much response from the mailing list on this, so I've decided to post a bug about this.

Below is the text from my mailing list post:

There were two major problems with the ebuilds preventing it from building:
1. The slotting system incorrectly assumed that we were dealing with
.so files, so that needed to be fixed.  I used some global variables
to get this fixed.  It looks fine on ppc as well, so I think it's okay.
2. As far as I can tell, the -soname patch basically adds versioning
to .so libraries.  With dylib, we already get versioning, so as long
as programs that depend on libperl depend on 5.8.0, we should be okay
to just drop that patch for OSX.  If any one needs more explanation,
or has concerns that this is completely wrong please let me know.

So it builds now, but there are a few issues remaining:
1. There are a few errors at the end of the ebuild, it looks like
preplib and preplib.so need to have some OSX modifications, probably
just using ranlib instead of ldconfig, but I haven't looked at it yet.
2. Perl installs to /usr, overwriting the apple install.  I didn't
even notice at first, so there's no apparent ill effects, yet I'm
still a little wary about just going ahead and doing this.  Does
anyone have any suggestions or comments on this?
3. It would be pretty easy to change the behaviour of #2 to maybe
install in /usr/local, but we would have to adapt to this.  I'm really
not sure what the "right" answer is.
4. Perl modules still don't work quite right, they get installed into
/usr instead of / like perl is expecting.  I haven't had a chance to
look at this yet.

Thanks!
Comment 1 Joe Jezak (RETIRED) gentoo-dev 2004-07-30 13:47:27 UTC
Created attachment 36479 [details, diff]
Fixes libperl on OSX
Comment 2 Joe Jezak (RETIRED) gentoo-dev 2004-07-30 13:47:50 UTC
Created attachment 36480 [details, diff]
Fixes perl on OSX
Comment 3 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-08-31 01:19:12 UTC
*** Bug 62334 has been marked as a duplicate of this bug. ***
Comment 4 Joe Jezak (RETIRED) gentoo-dev 2004-10-07 22:09:52 UTC
Created attachment 41338 [details]
List of files blocking the merge
Comment 5 Joe Jezak (RETIRED) gentoo-dev 2004-10-07 22:13:27 UTC
Created attachment 41339 [details, diff]
Unified diff for libperl
Comment 6 Joe Jezak (RETIRED) gentoo-dev 2004-10-07 22:14:07 UTC
Created attachment 41340 [details, diff]
Unified diff for perl
Comment 7 Hasan Khalil (RETIRED) gentoo-dev 2005-01-23 12:58:22 UTC
This depends on bug 67162. Will take a look at it when 67162 has gotten somewhere. Until then, this 
bug should remain frozen.
Comment 8 Kito (RETIRED) gentoo-dev 2005-07-18 11:51:51 UTC
Reopening to get this in the tree for Darwin and the progressive profiles.
Comment 9 Joe Jezak (RETIRED) gentoo-dev 2005-08-06 09:01:03 UTC
Created attachment 65240 [details, diff]
Provides the correct lib ending for .so or .dylib
Comment 10 Joe Jezak (RETIRED) gentoo-dev 2005-08-06 09:01:49 UTC
Created attachment 65241 [details, diff]
Fix for latest libperl using the get_libname patch
Comment 11 Joe Jezak (RETIRED) gentoo-dev 2005-08-06 09:02:30 UTC
Created attachment 65242 [details, diff]
Fix for latest perl using the get_libname patch
Comment 12 Kito (RETIRED) gentoo-dev 2005-08-06 13:31:24 UTC
Created attachment 65257 [details, diff]
Fix for latest libperl using the get_libname patch

add userland conditional and fix install_name
Comment 13 Kito (RETIRED) gentoo-dev 2005-08-06 13:37:49 UTC
Created attachment 65259 [details, diff]
65242: Fix for latest perl using the get_libname patch

minor fixes
Comment 14 Michael Cummings (RETIRED) gentoo-dev 2005-08-08 10:54:39 UTC
(In reply to comment #13)
> Created an attachment (id=65259) [edit]
> 65242: Fix for latest perl using the get_libname patch
> 
> minor fixes

Just not sure that this block is right (the rest of it looks good)

Shouldn't this be an elseif (elsif? whatever, you know what I mean :) instead of
if...else [ if ...else...]

@@ -139,10 +139,13 @@
 
 	if [[ ${KERNEL} == "FreeBSD" && "${ELIBC}" = "FreeBSD" ]]; then
 		osname="freebsd"
+	else if [[ ${USERLAND} == "Darwin" ]]; then
+		osname="darwin"
 	else
 		# Default setting
 		osname="linux"
 	fi
+	fi
 
Comment 15 Kito (RETIRED) gentoo-dev 2005-08-08 11:31:57 UTC
Created attachment 65463 [details, diff]
Fix for latest perl using the get_libname patch

changed extra if block
Comment 16 Kito (RETIRED) gentoo-dev 2005-08-08 11:36:03 UTC
Created attachment 65464 [details, diff]
eutils patch to provide the correct lib suffix for .so or .dylib

s/ppc-macos/userland_Darwin
Comment 17 Kito (RETIRED) gentoo-dev 2005-08-08 13:09:45 UTC
Comment on attachment 65464 [details, diff]
eutils patch to provide the correct lib suffix for .so or .dylib

inCVS multilib.eclass
Comment 18 Michael Cummings (RETIRED) gentoo-dev 2005-08-10 02:26:25 UTC
I have working ebuilds for both libperl(gotcha:) and perl based on the last
libname patch, but one question - userland_darwin isn't a use flag...
Comment 19 Kito (RETIRED) gentoo-dev 2005-08-10 06:52:18 UTC
its a use-expanded variable set in in the profiles along with kernel and elibc. it should be userland_Darwin 
(uppercase `D`), GNU systems have userland_gnu, elibc_glibc
Comment 20 Michael Cummings (RETIRED) gentoo-dev 2005-08-10 07:48:39 UTC
/usr/portage/profiles $ grep -risl userland_dar *
/usr/portage/profiles $

hence my confusion :) But if you all say its cool, I'll go with it. 
Comment 21 Kito (RETIRED) gentoo-dev 2005-08-10 08:00:16 UTC
% grep -r USERLAND . 
./make.defaults:USE_EXPAND="LINGUAS USERLAND KERNEL ELIBC"
./make.defaults:USERLAND="Darwin"

Yeah, portage adds the `userland_` part of it. You will still get some QA warnings as the use-expanded 
vars haven't been silenced in portage quite yet.
Comment 22 Michael Cummings (RETIRED) gentoo-dev 2005-08-12 03:22:55 UTC
patch(variation i think) applied to libperl and perl. eat it up yum.
Comment 23 Kito (RETIRED) gentoo-dev 2005-08-12 06:37:42 UTC
${coredir}/libperl$(get_libname).${PERLSLOT}

Stuff like that won't work, as dylibs need the version to come before the suffix, libfoo.1.dylib as opposed 
to the ELF convention of libfoo.so.1

That was the motivation for the get_libname function, to handle that transparently, so the version should 
be passed to the function as well:
  LIBPERL="libperl$(get_libname ${PERLSLOT}.${SHORT_PV})"

Also need to skip the regexp-nossp.patch for Darwin/OS X. 
Comment 24 Kito (RETIRED) gentoo-dev 2005-08-12 08:47:29 UTC
Created attachment 65764 [details, diff]
libperl-5.8.7.ebuild.patch

Almost there...
Comment 25 Kito (RETIRED) gentoo-dev 2005-08-12 08:59:18 UTC
Created attachment 65765 [details, diff]
perl-5.8.7.ebuild.patch
Comment 26 Michael Cummings (RETIRED) gentoo-dev 2005-08-14 13:23:16 UTC
patches posted
Comment 27 Kito (RETIRED) gentoo-dev 2005-08-14 13:51:10 UTC
working great. Thanks mcummings!