Re: variant or platform

2007-07-22 Thread Weissmann Markus

On 15 Jul 2007, at 23:53, Anders F Björklund wrote:


Ryan Schmidt wrote:

Seems like all the current ports with x86 or intel as the  
arch are
either wrong or typos, though... darwin x86 should be darwin  
i386,


I still say that this needs to be examined and evaluated  
individually for each port. If nobody's complaining about these  
ports, then maybe whatever's being done in the darwin x86 platform  
selector isn't necessary for Intel Macs at all, and might in fact  
be harmful.


It's just 7 ports, but so far it all looks like they should be  
changed.


For example, mpfr has a section platform darwin x86, but it also  
has an identical section platform darwin i386, so the port  
maintainer, Vincent, should be asked why this is duplicated. I'm  
Cc'ing him on this email.


I have no idea what kind of Darwin system would return x86 in uname.
The list at http://wiki.tcl.tk/1649 only mentions i386 and i386...



OpenDarwin did return x86 while Mac OS X returns i386; so the 'x86'  
stuff is/was for OpenDarwin while 'i386' is the Mac OS X Intel stuff.
So please do NOT replace x86 by i386 by default - this is not an  
error to be corrected this way. If no one complains, we may just  
remove the x86 ones as there is no OpenDarwin distribution anymore.



And xgalaga has a section platform darwin x86 which should  
clearly be platform darwin i386, and I've changed that now, but  
the port doesn't build on Intel Macs anyway because it uses (and  
seems maybe to require) gcc 3.3.


See other email... There is no such i386 gcc-3.3 for Mac OS X 10.4 ?


and the one (1) port with darwin intel is just plain wrong IMHO.


Ah -- darwin intel -- that's why I didn't find it before. Got it  
now: it's libdnsres. I'm Cc'ing the maintainer, Mark, since he  
should have a say in this, but I agree, this should be platform  
darwin i386. I think he should also remove the unnecessary CFLAGS  
and LDFLAGS definitions.


Actually it should be platform darwin 8 i386, but most likely it
should be updating the config.sub and config.guess or so instead ?


They should most likely be *standardized* to be powerpc or i386,
even though the aliases ppc and x86 are theoretically valid too
(for example Darwin 6-7 was i386, Darwin 8-9 are i686, both: x86)


I don't know what you mean by all of this.


The triplets are:
i386-apple-darwin6
i386-apple-darwin7
i686-apple-darwin8
i686-apple-darwin9

Other operating systems, like Fedora, went through similar changes  
as well.
(whether arch actually returns i386 or i686 depends on some other  
factors)


I'm on darwin 8 now, and uname returns i386, and platform x86  
sections definitely do not get executed by MacPorts on an Intel  
Mac currently. If you're suggesting that MacPorts base could be  
changed so that x86 would also work on Intel Macs, then I again  
reiterate that I believe x86 is being used in several ports right  
now in an attempt to target non-Macs. If such a change were made  
to base, those ports would start failing on Intel Macs.


I meant that i386/i686/x86 are all the same thing, and i386 is  
the name.


Optimizations for certain processors are done elsewhere anyway,  
here it
is just talking about the generic architecture - Intel x86 or  
PowerPC ?



It's easy to tweak port.tcl to return i386 for any x86 or i686
machines from tcl_platform, just as it is currently returns  
powerpc
for the hopelessly silly `uname -m` return value of Power  
Macintosh...


It might have been clearer if we had tweaked i386, i686, and  
x86 to be just intel, but I'm not sure if we want to go to all  
the trouble to do that now.


I prefer the shorter x86 and ppc myself, but it doesn't matter much.

The current arch names of i386 and powerpc works just as well,
but if you want to introduce the extra alias intel for i386 then  
do...




If you want this done 100% correctly, I'd recommend ia32 (Intel  
Architecture 32), aa64 (AMD Architecture 64), ppc32 and ppc64 -  
and of course 'arm32'... ;)



The suggested port platform info command could help people  
determine

what values to put into their platform variants, but for the current
common target it's probably enough to make a list of available  
ones ?


I'm not sure what you mean here? What suggested port platform  
info command?


I formalized the discussion we had earlier into a Trac ticket, #12302

Basically it returns something that would work if put as platform {}

--anders

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


---
Markus W. Weissmann
http://www.mweissmann.de/


___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


SoC: current status (Elias Pipping)

2007-07-22 Thread Elias Pipping
Hi,

here's the status:

merge.rb is a tool that's designed to merge an arbitrary amount of
single-architecture directory-trees into a single universal tree.

So, given the Coreutils scenario we have four directories - ppc, ppc64,
i386, and x86_64, each holding a destroot whose architecture matches
its name.  Here's where merge.rb comes into play. It's invoked via

  merge.rb ppc ppc64 i386 x86_64,

you can pass an architecture more than once (doesn't matter) or leave
one out (does matter), pass -v or --verbose for verbose output, perform
a dryrun, change input and output directories, etc.

That's all documented[1].

There are also a couple of test cases, among them Coreutils, the others
include OpenSSL and LibPNG - again, all documented[1].

merge.rb is written in Ruby.

That's a good thing because it makes the code easy to read (even if one
does not know Ruby at all) and maintain.  The code is concise, flexible
and extensible.

It's not a bad thing because it does not (need to) use MacPorts internals,
it could even be used if MacPorts was completely rewritten and none of
its current API remained.

I've set up a separate subversion repository[2] for merge.rb, from time
to time I also sync it with /users/pipping in the MacPorts repository.

The code is made available under the MIT license.[3]

[1] merge.rb's wiki: http://elias.binera.de/dokuwiki/doku.php
[2] merge.rb's repo: http://elias.svn.binera.de/bin/cgi/viewvc.cgi/
[3] merge.rb's license: http://www.opensource.org/licenses/mit-license.php

==

Up until now I've been working on merge.rb; I think it does what it's
supposed to do and it does it well.  Testing is appreciated.

If you've been asking yourself where those 'ppc', 'x86_64', etc.
directories are supposed to come from, that's part two.

merge.rb could run on a server, clients could upload their trees (built
via MacPorts) to the server, etc. - the infrastructure needs to be
controlled/used somehow.

There are a lot of open questions and that's why I'm asking for
feedback.

Given merge.rb would run on a server, how would it communicate/interact
with clients? Who would initiate merges or what would they be triggered
by, etc.  What would you want to be able to do with it?

Looking forward to hearing your ideas.


Kind regards,

Elias Pipping
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [27155] trunk/dports/python/py-psyco/Portfile

2007-07-22 Thread Ryan Schmidt

On Jul 21, 2007, at 23:00, [EMAIL PROTECTED] wrote:


Revision: 27155
  http://trac.macosforge.org/projects/macports/changeset/27155
Author:   [EMAIL PROTECTED]
Date: 2007-07-21 21:00:51 -0700 (Sat, 21 Jul 2007)

Log Message:
---
make sure we set that the platform only works on intel macs

Modified Paths:
--
trunk/dports/python/py-psyco/Portfile

Modified: trunk/dports/python/py-psyco/Portfile
===
--- trunk/dports/python/py-psyco/Portfile	2007-07-21 20:37:30 UTC  
(rev 27154)
+++ trunk/dports/python/py-psyco/Portfile	2007-07-22 04:00:51 UTC  
(rev 27155)

@@ -5,7 +5,7 @@

 namepy-psyco
 version 1.5.2
-revision1
+revision2
 categories  python
 platforms   darwin
 maintainers [EMAIL PROTECTED]
@@ -34,3 +34,5 @@
  ${destroot}${prefix}/share/doc/${name}
 file copy ${worksrcpath}/doc ${destroot}${prefix}/share/ 
doc/${name}/

 }
+
+platform darwin i386 {}


There was no need to upgrade the revision: if somebody already had it  
installed, they were obviously already on a compatible architecture.  
Nothing is gained from forcing them to rebuild it.


You may also wish to check for compatible architecture in a different  
way. Your way currently handles only on Intel Mac OS X, but according  
to the project's web site, it works on any OS so long as it's the _86  
architecture. Consider doing it the way I've done it in the wine port:


http://trac.macosforge.org/projects/macports/browser/trunk/dports/x11/ 
wine/Portfile




___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [27155] trunk/dports/python/py-psyco/Portfile

2007-07-22 Thread Rainer Müller
Ryan Schmidt wrote:
 You may also wish to check for compatible architecture in a different
 way. Your way currently handles only on Intel Mac OS X, but according to
 the project's web site, it works on any OS so long as it's the _86
 architecture. Consider doing it the way I've done it in the wine port:
 
 http://trac.macosforge.org/projects/macports/browser/trunk/dports/x11/wine/Portfile
I see no reason why checking for darwin i386 could be wrong. Do we
really need to take care of other Operating Systems than Mac OS X? I
mean, it's called MacPorts now and is targeted on users of Mac OS X. Who
is using it on another system?

And also see the wine port again, LDFLAGS like -framework won't work
on other platforms... As platform is set to darwin, I think this is
okay, but contrary to your statement above.

Rainer

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [27155] trunk/dports/python/py-psyco/Portfile

2007-07-22 Thread Boyd Waters


On Jul 22, 2007, at 2:10 PM, Rainer Müller wrote:


Do we
really need to take care of other Operating Systems than Mac OS X? I
mean, it's called MacPorts now and is targeted on users of Mac OS  
X. Who

is using it on another system?


We use MacPorts for a large software system that is Mac and Linux at  
the moment, and our group is considering using MacPorts for managing  
our Linux dependencies, as well.


So we'd perhaps port MacPorts to Linux.


And also see the wine port again, LDFLAGS like -framework won't work
on other platforms... As platform is set to darwin, I think this is
okay, but contrary to your statement above.


Exactly what the platform tag is designed to do: we'd add platform  
linux stanzas to our ports, that would (of course) not have settings  
like -framework in them. Many (if not most) open-source packages  
already target linux successfully, so in most cases autoconf would  
determine the correct settings. I think.


We haven't started a Linux port in earnest yet.

Of course, I'm one of those nut jobs who tried to bring gentoo  
portage to Mac OS X about five years ago. Oy.


 - boyd

Boyd Waters
Scientific Programmer (no, really, that's what they call me)
National Radio Astronomy Observatory
Socorro, New Mexico


___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: SoC: current status (Elias Pipping)

2007-07-22 Thread Kevin Van Vechten

On Jul 22, 2007, at 9:35 AM, Elias Pipping wrote:


merge.rb is a tool that's designed to merge an arbitrary amount of
single-architecture directory-trees into a single universal tree.


Sounds great.


The code is made available under the MIT license.[3]


Why choose an MIT license when the rest of the MacPorts tree is BSD  
licensed?  The two licenses are functionally equivalent, but it's  
ideal to have unified licensing terms wherever possible.


- Kevin
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [27155] trunk/dports/python/py-psyco/Portfile

2007-07-22 Thread Landon Fuller

[from the correct e-mail address, this time]

On Jul 22, 2007, at 1:10 PM, Rainer Müller wrote:


Ryan Schmidt wrote:

You may also wish to check for compatible architecture in a different
way. Your way currently handles only on Intel Mac OS X, but  
according to

the project's web site, it works on any OS so long as it's the _86
architecture. Consider doing it the way I've done it in the wine  
port:


http://trac.macosforge.org/projects/macports/browser/trunk/dports/ 
x11/wine/Portfile

I see no reason why checking for darwin i386 could be wrong. Do we
really need to take care of other Operating Systems than Mac OS X? I
mean, it's called MacPorts now and is targeted on users of Mac OS  
X. Who

is using it on another system?


That's no reason to -intentionally- box yourself (or others) into a  
corner. The requirement is for 'x86', not for darwin, and as such,  
expressing a much broader dependency is incorrect.


-landonf



PGP.sig
Description: This is a digitally signed message part
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev