Re: Easy access to external repositories.

2015-06-01 Thread René J . V . Bertin
On Monday June 01 2015 13:07:45 Clemens Lang wrote:

 In the long term, this may become easier when (and if) we finish the 
 SAT-solving
   ^^^
Translation?

 would be nice to [...] allow per package
 priority. But I do not know of any other production package management
 system that has implemented such a thing.

Well, looking at Linux for inspiration doesn't mean we have to do everything 
like them ...
Linux (at least APT) allows versioned dependencies, and user selection of the 
version to be installed for packages that are provided with different versions 
(even through a standard GUI like Synaptic).
MacPorts doesn't have versioned dependencies, and introducing would be hard as 
far as I understand were there to be willingness (which there isn't, again 
AFAIU).
If it's easy and acceptable to implement port directory priorities as opposed 
or in addition to repository priorities, that could provide a comparable form 
of user selection of port versions. Not just from foreign repositories: it's 
also perfectly possible (and maybe even supported) to have the svn port 
repository configured as a source of ports that tend to be updated much more 
frequently than the ones in the standard rsync repo. At least that's the 
impression I have. If that's not really the case, a per-port priority mechanism 
would make it possible to use the svn repo as a source for beta-testing certain 
port updates before pushing them to all users.

Am I rambling again? :)

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


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 make it much easier for the average user to include an optional 3rd party 
 repository if they so wish.

 I'm not sure if 3rd party repositories are something for the average user, 
 when average is taken
 from a population where the majority don't know how to edit a configuration 
 file by hand.

That is why I propose updating the configuration files through a Portfile, such 
that the average user just has to run the following commands to get access to a 
3rd party repository:

  sudo port install name_of_3rd_party_repo
  sudo port sync

i.e. the same commands that an end user is already used to.


 The idea isn't bad, but I think there should first be changes to base that 
 make it clear
 when a 3rd party port masks an updated version in the standard repository, as 
 well as
 to let PortGroup files apply beyond the repository they're in (if that's not 
 the default repo).
 There are probably other things that could be considered as well to help the 
 average
 user AND the port maintainers who'll undoubtedly get to resolve issues 
 related to
 masked ports.

The precedence/ordering of Portfiles is already defined. It is the order in 
which the repository URLs appear in the sources.conf and archive_sites.conf 
files. Thus, masking of ports is deterministic and predictable. A simple policy 
of always appending 3rd party URLs to the end of the configuration files (i.e. 
the default public repository always takes precedence) can eliminate any worry 
that ports are masked from the default MacPorts repository. That is how I wrote 
my proposed Portfile. I should not and do not want to mask anything from the 
default repository.
Also, don't PortGroup files already work beyond the repository that they reside 
in. I believe I have been able to successfully use some PortGroups from the 
main public repository in my own Portfiles without problems.


 I see this kind of functionality more of a feature for a port/package manager 
 GUI,
 the way the Linux counterparts (synaptic, muon, etc) allow to manage the 
 source
 repositories.

OK, but MacPorts still does not have a production version of a GUI.
If we want to use Linux as an example, let us consider Fedora and what they do 
with YUM. From what I understand, my use case is typically handled by preparing 
a RPM that will install a repository configuration file under 
/etc/yum.repos.d/. After installing this RPM, the user gets access to all 
subsequent RPMs that are in that 3rd party repository. Replace Portfile for RPM 
and I believe my scheme is replicating what is done with YUM.
If you want, a nice improvement for MacPorts would be if (like YUM on Fedora) 
it doesn't just look for a file sources.conf, but also for a directory, e.g. 
/opt/local/etc/macports/sources.conf.d/ in which 3rd party repository 
configurations can be added or removed.


 PS2: How feasible would it be to add a possibility to override the normal 
 Portfile
 resolution on a port-by-port basis? That'd probably be required too for the 
 average
 user who would want to use a specific port (or 2) from a 3rd party repo but 
 not others
 that he wants to use from another repo (esp. when that other repo is the 
 official repo).

OK, so I would say that this kind of a game starts being an overkill for 
average users. I do not think YUM or APT do this. You add a whole 3rd party 
repository or you don't. If users want some blend (I think they are power users 
at that point), then they can already do this, but have to create their own 
intermediate repository. And 3rd party repositories should not be masking 
anything, be it Portfiles or RPMs or Debian packages, from default 
repositories. MacPorts already has the mechanism to enforce this.

Cheers

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


Re: Easy access to external repositories.

2015-06-01 Thread René J . V . Bertin
On Monday June 01 2015 11:35:59 Artur Szostak wrote:

 That is why I propose updating the configuration files through a Portfile, 
 such that the average user just has to run the following commands to get 
 access to a 3rd party repository:

You get me wrong. I'm not sure if it's a good idea to make things too easy to 
people who don't know how to follow instructions to edit a file by hand. Not 
because it's too difficult for them to *add* a foreign repo, but rather 
because of the issues that may come from using such a repo, and which will 
require them to follow instructions more complicated than simply adding the 
repo definition to sources.conf .

Does your Portfile undo the edits when you uninstall the port, including after 
having installed a random number of other repos and/or selfupdates (if 
sources.conf is ever touched during a MacPorts upgrade). How does it work with 
activation/deactivation?

Using a port to add other repos would probably be less of a hack if MacPorts 
had something like a sources.conf.d directory with files each containing a 
single repository definition. However, then you'd lose the simple priority rule 
and you'd need a separate mechanism to specify the order in which repositories 
are search, rather than the order in which they're listed in sources.conf.

In any case I think it would be better to convert that Portfile into a Tcl 
script that can be invoked as a standalone command (which can itself be 
installed through a port, of course). That will most likely make it more 
suitable for future evolution, whereas if you chose to use a Portfile now 
you'll remain stuck with that if you don't want to have to change user habits 
later on (a very bad idea with the user population targeted, I think).

 precedence) can eliminate any worry that ports are masked from the default 
 MacPorts repository. That is how I wrote my proposed Portfile. I should not 
 and do not want to mask anything from the default repository.

And yet that is exactly what a foreign repo can be useful for, but you'd have a 
point in preventing that kind of usage to (sub)average users.
Though it'd also make it impossible to push an update to a port from the 
official repo that hasn't been updated in ages, and that can act as an 
alternative for another port (there are -devel ports in that situation).

 Also, don't PortGroup files already work beyond the repository that they 
 reside in. I believe I have been able to successfully use some PortGroups 
 from the main public repository in my own Portfiles without problems.

Yes, as I said PortGroups apply to their local repository except when they're 
in the default repository, which is where PortGroup definitions are expected to 
be found if they're not in the local repo. 

 If you want, a nice improvement for MacPorts would be if (like YUM on Fedora) 
 it doesn't just look for a file sources.conf, but also for a directory, e.g. 
 /opt/local/etc/macports/sources.conf.d/ in which 3rd party repository 
 configurations can be added or removed.

I reached the same conclusion above (but see the caveat). This makes it easier 
to add, add, remove, add again, remove again etc. because each addition is in 
an independent file.

 OK, so I would say that this kind of a game starts being an overkill for 
 average users. I do not think YUM or APT do this. You add a whole 3rd party 
 repository or you don't.

No, they don't. But I think there are many more foreign repos out there for 
Linux, often set up specifically to add (or replace!) just a few packages. 
Ubuntu at least makes it easy to create new PPAs once you've gone through the 
process to make your first, and its mechanism contains both a security layer 
you cannot (easily) circumvent and a way to roll back any changes you made by 
adding a ppa (ppa-purge). Also, I wouldn't be surprised if the user population 
using Linux is more savvy overall than the one using Mac OS X.
(I'm all for not under-estimating one's users, but there are times that means 
you cannot over-estimate their left-handedness enough ;)).

The thing with MacPorts is that at least until now there is nothing to 
streamline the use of other repositories. I think that practice will show that 
many users who build their own repo start out doing so because they miss a 
port, but end up adding ports that override the ones from the official repo 
because of requirements of their own ports, or simple of their own workflow. 
That's how mine has been growing, to a point where it also contains copies of 
patched files from base.
And it's available online via git, so probably a candidate to be added through 
whatever easy mechanism is going to be implemented, as long as that doesn't 
include a vetting/filtering feature.

 And 3rd party repositories should not be masking anything, be it Portfiles or 
 RPMs or Debian packages, from default repositories.

I don't agree with that, and a quick look on Ubuntu's LaunchPad will show you 
there are many PPAs that do 

Re: Easy access to external repositories.

2015-06-01 Thread Clemens Lang
Hi,

- On 1 Jun, 2015, at 11:27, Artur Szostak aszos...@partner.eso.org wrote:

 At the moment there does not appear to be any defined mechanism for an end 
 user
 to easily select or de-select optional 3rd party repositories. In a ticket I
 opened some time ago (https://trac.macports.org/ticket/46954), I proposed a 
 way
 to use a Portfile to update the configuration files sources.conf,
 archive_sites.conf and pubkeys.conf in a controlled manner, to allow inclusion
 of such a 3rd party repository. I would like the Portfile in that ticket to be
 added to MacPorts, which I believe would make it much easier for the average
 user to include an optional 3rd party repository if they so wish.
 
 Could we get the core developers to have a look at this solution and get some
 consensus on the idea. It would be nice to get some closure on the ticket.
 Thanks.

I'm in favor of simplifying the inclusion of 3rd party repositories. The 
Portfile
proposed in the ticket is hack, but since we don't have a standard mechanism to
do this at the moment, I think we should accept it.

The problem I currently see with an automated approach to add a new repository
is the order or priority selection. How would you easily decide (in a user
interface) whether the new repository supersedes the standard one or not?

In the long term, this may become easier when (and if) we finish the SAT-solving
based GSoC project currently running, because that would allow us to have
multiple versions of the same port provided from different repositories along
with proper priorities.

-- 
Clemens Lang
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 I'm in favor of simplifying the inclusion of 3rd party repositories. The 
 Portfile
 proposed in the ticket is hack, but since we don't have a standard mechanism 
 to
 do this at the moment, I think we should accept it.

I thought it was a rather clean way to deal with my use case :-)

But sure, what would make it nicer is what I alluded to in a previous email. 
How about having MacPorts do what YUM does and read additional 3rd party 
repository configuration files from a directory. Something like 
${prefix}/local/etc/macports/sources.conf.d/, and 
${prefix}/etc/macports/archive_sites.conf.d/ etc. Then I do not have to modify 
${prefix}/local/etc/macports/sources.conf, but rather just add or remove a 
configuration file from /etc/macports/sources.conf.d/. That would be as clean 
as it gets I think and how other package managements systems deal with this use 
case.
Of course the implementer would have to define what the prioritisation order 
would be for the files under this directory. But I would have the standard 
MacPorts repository always take precedence over 3rd party ones by default.


 The problem I currently see with an automated approach to add a new repository
 is the order or priority selection. How would you easily decide (in a user
 interface) whether the new repository supersedes the standard one or not?

Should the user interface not simply expose the rules that are already encoded 
in the core system? Specifically URLs declared first in the configuration files 
take precedence over URLs declared further down.


 In the long term, this may become easier when (and if) we finish the 
 SAT-solving
 based GSoC project currently running, because that would allow us to have
 multiple versions of the same port provided from different repositories along
 with proper priorities.

Hmm.. well, that would be nice to try solve the generic problem and allow per 
package priority. But I do not know of any other production package management 
system that has implemented such a thing. So I would have to say that this is 
probably years away from stable production. Just look at the MacPorts GUI app, 
that got started as a GSoC project in 2009 and is still announced as only a 
beta product (https://trac.macports.org/wiki/MacPortsGUI).
Per repository prioritisation is already implemented in MacPorts, and a SAT 
solver should be able to easily go from per repository prioritisation to per 
package prioritisation when it arrives in the future.

Cheers

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


Re: Easy access to external repositories.

2015-06-01 Thread René J . V . Bertin
On Monday June 01 2015 09:27:11 Artur Szostak wrote:

Hi,

make it much easier for the average user to include an optional 3rd party 
repository if they so wish.

I'm not sure if 3rd party repositories are something for the average user, when 
average is taken from a population where the majority don't know how to edit a 
configuration file by hand.

The idea isn't bad, but I think there should first be changes to base that make 
it clear when a 3rd party port masks an updated version in the standard 
repository, as well as to let PortGroup files apply beyond the repository 
they're in (if that's not the default repo). There are probably other things 
that could be considered as well to help the average user AND the port 
maintainers who'll undoubtedly get to resolve issues related to masked ports.

I see this kind of functionality more of a feature for a port/package manager 
GUI, the way the Linux counterparts (synaptic, muon, etc) allow to manage the 
source repositories.

PS: `port search foo` already lists the various versions of ports matching foo 
that are known, so the base functionality is already there.

PS2: How feasible would it be to add a possibility to override the normal 
Portfile resolution on a port-by-port basis? That'd probably be required too 
for the average user who would want to use a specific port (or 2) from a 3rd 
party repo but not others that he wants to use from another repo (esp. when 
that other repo is the official repo).

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


Easy access to external repositories.

2015-06-01 Thread Artur Szostak
Dear MacPorts developers,

At the moment there does not appear to be any defined mechanism for an end user 
to easily select or de-select optional 3rd party repositories. In a ticket I 
opened some time ago (https://trac.macports.org/ticket/46954), I proposed a way 
to use a Portfile to update the configuration files sources.conf, 
archive_sites.conf and pubkeys.conf in a controlled manner, to allow inclusion 
of such a 3rd party repository. I would like the Portfile in that ticket to be 
added to MacPorts, which I believe would make it much easier for the average 
user to include an optional 3rd party repository if they so wish.

Could we get the core developers to have a look at this solution and get some 
consensus on the idea. It would be nice to get some closure on the ticket.
Thanks.

Kind regards.

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


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 I tried to write the Portfile so that when one tries to uninstall it, it
 will undo whatever was done during installation.

 So is there 1 Portfile per external repository?

That is what I was thinking, yes.
One could have more than one repository per Portfile if you really want. But I 
think it is reasonable to have 1 Portfile per external repository in most cases.


 Did you handle deactivation or did you simply make it impossible.

The update of the configuration files is handled during the activation phase 
and rolled-back during deactivation.
So it should all be handled. Deactivating the port should get you back to the 
same state as if the port was never installed in the first place. If this is 
not the case then I should fix it :-)
Of course, a user could always break something by making some very weird 
modifications to the configuration files directly. But I think I have handled 
all reasonable scenarios.


 I still think that whatever can be done with a Portfile in this domain can 
 also (and better) be done with a dedicated script, a la add-port-repository.

OK, so add-port-repository would ship with the MacPorts core?


 I doubt that. AFAIK MacPorts uses indices (portindex files) internally, and 
 I find
 it difficult to believe that it'd be hard to get this right without long 
 periods of testing.
 Anyway I think that those port priorities would be optional, fall back to the 
 default
 priority if they don't compute, and at least in a 1st implementation only 
 concern
 from what repository a given port is installed. That's not particularly hard 
 to implement:

 if port has priority setting
   set prefdir to port preferred repository
   if prefdir = default set prefdir to default repository # redundant but 
 what the heck
   set portdir to port preferred repository if it exists
 set portdir to default repository if unset

Are we still talking about the same thing? I was thinking that implementing the 
SAT-solver based solution might take a while.

Cheers

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


Re: Easy access to external repositories.

2015-06-01 Thread David Strubbe
A general question: what is the purpose of adding a repo for the ESO
software, as opposed to just committing the individual Portfiles that exist
in that repo to the standard MacPorts repo?

David

On Mon, Jun 1, 2015 at 11:44 AM, René J.V. rjvber...@gmail.com wrote:

 On Monday June 01 2015 15:56:32 Thibaut Paumard wrote:

  One usual and easy solution to this problem is to use lexicographic
  order and let the files start with a number: e.g.
10_macports.conf
  is the default, most third party repositories should have a name

 Which also means that you have to rename all files if you want to change
 order.

 It would be easier to use a separate file in sources.conf.d, say
 sources.conf.d/order which lists the files in the desired order of
 priority, possibly with tags like nosync .
 Of course then you're back to rewriting a file like with sources.conf
 itself, but one with a simpler format, and less crucial. For instance, base
 could reject the file and use only sources.conf if there's some form of
 corruption.

  I tried to write the Portfile so that when one tries to uninstall it, it
  will undo whatever was done during installation.

 So is there 1 Portfile per external repository? Did you handle
 deactivation or did you simply make it impossible (which would probably be
 the best thing to do but I don't know if it can be done).

 I still think that whatever can be done with a Portfile in this domain can
 also (and better) be done with a dedicated script, a la add-port-repository.

 All this got me wandering to wondering about hacking a version of APT on
 top of the port command ... no, I don't think I just admitted that :)

  I was just thinking that since this [per-port priorities] hasn't been
 done before, it is going to
  have a higher risk and likely take longer to bring to market.

 I doubt that. AFAIK MacPorts uses indices (portindex files) internally,
 and I find it difficult to believe that it'd be hard to get this right
 without long periods of testing.
 Anyway I think that those port priorities would be optional, fall back to
 the default priority if they don't compute, and at least in a 1st
 implementation only concern from what repository a given port is installed.
 That's not particularly hard to implement:

 if port has priority setting
   set prefdir to port preferred repository
   if prefdir = default set prefdir to default repository # redundant but
 what the heck
   set portdir to port preferred repository if it exists
 set portdir to default repository if unset

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

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


Re: Easy access to external repositories.

2015-06-01 Thread René J . V . Bertin
On Monday June 01 2015 15:56:32 Thibaut Paumard wrote:

 One usual and easy solution to this problem is to use lexicographic
 order and let the files start with a number: e.g.
   10_macports.conf
 is the default, most third party repositories should have a name

Which also means that you have to rename all files if you want to change order.

It would be easier to use a separate file in sources.conf.d, say 
sources.conf.d/order which lists the files in the desired order of priority, 
possibly with tags like nosync .
Of course then you're back to rewriting a file like with sources.conf itself, 
but one with a simpler format, and less crucial. For instance, base could 
reject the file and use only sources.conf if there's some form of corruption.

 I tried to write the Portfile so that when one tries to uninstall it, it
 will undo whatever was done during installation.

So is there 1 Portfile per external repository? Did you handle deactivation or 
did you simply make it impossible (which would probably be the best thing to do 
but I don't know if it can be done).

I still think that whatever can be done with a Portfile in this domain can also 
(and better) be done with a dedicated script, a la add-port-repository.

All this got me wandering to wondering about hacking a version of APT on top of 
the port command ... no, I don't think I just admitted that :)

 I was just thinking that since this [per-port priorities] hasn't been done 
 before, it is going to
 have a higher risk and likely take longer to bring to market.

I doubt that. AFAIK MacPorts uses indices (portindex files) internally, and I 
find it difficult to believe that it'd be hard to get this right without long 
periods of testing.
Anyway I think that those port priorities would be optional, fall back to the 
default priority if they don't compute, and at least in a 1st implementation 
only concern from what repository a given port is installed. That's not 
particularly hard to implement:

if port has priority setting
  set prefdir to port preferred repository
  if prefdir = default set prefdir to default repository # redundant but what 
the heck
  set portdir to port preferred repository if it exists
set portdir to default repository if unset

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


Re: [MacPorts] #43758: eero-devel @3.2.2012-11-18: Cannot stat: .../lang/eero-devel/files/llvm-bin, No such file or directory

2015-06-01 Thread Vincent Habchi

 On 18 May 2015, at 05:42, MacPorts nore...@macports.org wrote:
 
 #43758: eero-devel @3.2.2012-11-18: Cannot stat: 
 .../lang/eero-devel/files/llvm-
 bin, No such file or directory
 ---+-
  Reporter:  ryandesign@…  |  Owner:  vince@…
  Type:  defect| Status:  closed
  Priority:  Normal|  Milestone:
 Component:  ports |Version:  2.2.1
 Resolution:  fixed |   Keywords:
  Port:  eero-devel|
 ---+-
 Changes (by ryandesign@…):
 
 * status:  new = closed
 * resolution:   = fixed
 
 
 Comment:
 
 Yes, the (10.7 and later) buildbots built this version successfully.

Sorry for being very late on this. Blame my Internet provider. This port should 
be unplugged anyway, as the developer has tossed it. He said eero became 
irrelevant the day Swift was released.

Vincent

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


Re: Easy access to external repositories.

2015-06-01 Thread Clemens Lang
Hi,

 But sure, what would make it nicer is what I alluded to in a previous email. 
 How
 about having MacPorts do what YUM does and read additional 3rd party 
 repository
 configuration files from a directory. Something like
 ${prefix}/local/etc/macports/sources.conf.d/, and
 ${prefix}/etc/macports/archive_sites.conf.d/ etc. Then I do not have to modify
 ${prefix}/local/etc/macports/sources.conf, but rather just add or remove a
 configuration file from /etc/macports/sources.conf.d/. That would be as clean
 as it gets I think and how other package managements systems deal with this 
 use
 case.

Good point, we should implement this.


 Of course the implementer would have to define what the prioritisation order
 would be for the files under this directory. But I would have the standard
 MacPorts repository always take precedence over 3rd party ones by default.

The file could just contain priority metadata to do this correctly.


 Should the user interface not simply expose the rules that are already encoded
 in the core system? Specifically URLs declared first in the configuration 
 files
 take precedence over URLs declared further down.

Yes -- but an ordered list with operations to re-order it is hard to represent 
in
a command line interface :(


 Hmm.. well, that would be nice to try solve the generic problem and allow per
 package priority. But I do not know of any other production package management
 system that has implemented such a thing.

Most Linux package managers have priorities associated with repositories. We're
currently planning to use libsolv, which is also used by yum and provides this
feature.


 So I would have to say that this is probably years away from stable 
 production.

I wouldn't say year*s*, but a year is probably a realistic estimate, so this is
not a valid short-term solution, which is why I'm in favor of committing your
Portfile.


 Just look at the MacPorts GUI app, that got started as a GSoC project in 2009
 and is still announced as only a beta product
 (https://trac.macports.org/wiki/MacPortsGUI).

Yes, we've previously had problems getting our GSoC projects integrated. We've
made process adjustments that should improve this situation, though.

-- 
Clemens Lang
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: Easy access to external repositories.

2015-06-01 Thread Thibaut Paumard
Le 01/06/2015 15:26, Clemens Lang a écrit :
 
 Of course the implementer would have to define what the prioritisation order
 would be for the files under this directory. But I would have the standard
 MacPorts repository always take precedence over 3rd party ones by default.
 
 The file could just contain priority metadata to do this correctly.
 

Hi,

One usual and easy solution to this problem is to use lexicographic
order and let the files start with a number: e.g.
  10_macports.conf
is the default, most third party repositories should have a name
starting with 20_, the local admin is free to move or add files in the
range 00_ to 10_.

Regards, Thibaut.


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


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 That is why I propose updating the configuration files through a Portfile, 
 such that the
 average user just has to run the following commands to get access to a 3rd 
 party repository:

 You get me wrong. I'm not sure if it's a good idea to make things too easy to 
 people who
 don't know how to follow instructions to edit a file by hand. Not because 
 it's too difficult
 for them to *add* a foreign repo, but rather because of the issues that may 
 come from
 using such a repo, and which will require them to follow instructions more 
 complicated
 than simply adding the repo definition to sources.conf .

Yes, well... I have to find some way to keep my average users happy :-)
Actually, I think it would be kind of useful and a time saver, even for people 
who know what they are doing when updating the configuration files.


 Does your Portfile undo the edits when you uninstall the port, including 
 after having installed
 a random number of other repos and/or selfupdates (if sources.conf is ever 
 touched during
 a MacPorts upgrade). How does it work with activation/deactivation?

I tried to write the Portfile so that when one tries to uninstall it, it will 
undo whatever was done during installation. Also the Portfile should only 
remove what it actually added and nothing else. I have tested this a number of 
times and it seems to work. I of course welcome independent testing.


 Using a port to add other repos would probably be less of a hack if MacPorts 
 had something
 like a sources.conf.d directory with files each containing a single 
 repository definition.
 However, then you'd lose the simple priority rule and you'd need a separate 
 mechanism to
 specify the order in which repositories are search, rather than the order in 
 which they're
 listed in sources.conf.

Yes, I know. With the sub-directory option, whoever implements it will have to 
think about a prioritisation scheme. If nothing specific is implemented it will 
end up being the order as defined by the file-system. An alternative (probably 
better alternative) would be to have a priority number either encoded in the 
file or filename.
But I leave it to a core MacPorts developer to think about those details 
further.


 In any case I think it would be better to convert that Portfile into a Tcl 
 script that can be
 invoked as a standalone command (which can itself be installed through a 
 port, of course).
 That will most likely make it more suitable for future evolution, whereas if 
 you chose to use
 a Portfile now you'll remain stuck with that if you don't want to have to 
 change user habits
 later on (a very bad idea with the user population targeted, I think).

I thought about standalone scripts already. But came to the conclusion that the 
following command is the cleanest and safest way to add a 3rd party repository 
from the end user's perspective:

  sudo port install 3rd_party_repo_name

And then to disable the repository with:

  sudo port uninstall 3rd_party_repo_name


 precedence) can eliminate any worry that ports are masked from the default 
 MacPorts
 repository. That is how I wrote my proposed Portfile. I should not and do 
 not want to
 mask anything from the default repository.

 And yet that is exactly what a foreign repo can be useful for, but you'd have 
 a point in
 preventing that kind of usage to (sub)average users.
 Though it'd also make it impossible to push an update to a port from the 
 official repo
 that hasn't been updated in ages, and that can act as an alternative for 
 another port
 (there are -devel ports in that situation).

 And 3rd party repositories should not be masking anything, be it Portfiles 
 or RPMs or
 Debian packages, from default repositories.

 I don't agree with that, and a quick look on Ubuntu's LaunchPad will show you 
 there are
 many PPAs that do exactly that.

OK, so you indicated two additional use cases:
1) Overriding ports from the default repository.
2) Allowing the equivalent of PPAs.

I think that both of these are possible with the existing MacPorts using my 
scheme, if not very clean.
And you are right, my statement about repositories should not be masking 
anything from default repositories is too strong for these two cases. I was 
only thinking that this should not be done by default. I don't want to 
eliminate the possibility of overriding the default repositories. There should 
be some mechanism for that and you clearly show there are use cases for it. I 
would just avoid doing that by default for my use case.


 MacPorts already has the mechanism to enforce this.

 Oh? Good thing it's weak enough not to cause me any grey hairs :)

I was thinking about the order of the URLs in sources.conf. That does enforce 
the default repository to always be taken first if you add additional URLs to 
the end of the file, no?

Cheers

Artur
___
macports-dev mailing list
macports-dev@lists.macosforge.org

RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 Well, looking at Linux for inspiration doesn't mean we have to do everything 
 like them ...
 Linux (at least APT) allows versioned dependencies, and user selection of the 
 version to
 be installed for packages that are provided with different versions (even 
 through a
 standard GUI like Synaptic).

Sure. I was just thinking that since this hasn't been done before, it is going 
to have a higher risk and likely take longer to bring to market. So the SAT 
solver approach would be nice, but probably not feasible within the next year, 
or two, or however long it would take to bring to production grade.
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: Easy access to external repositories.

2015-06-01 Thread Clemens Lang


- On 1 Jun, 2015, at 14:35, René J.V. Bertin rjvber...@gmail.com wrote:

 On Monday June 01 2015 13:07:45 Clemens Lang wrote:
 In the long term, this may become easier when (and if) we finish the 
 SAT-solving
   ^^^
 Translation?

http://en.wikipedia.org/wiki/Boolean_satisfiability_problem
http://www.mancoosi.org/papers/leberre-sat-beyond.pdf

Basically, the problem of resolving dependencies can be mapped to a SAT problem,
which can be solved and optimized using a standard SAT solver.

-- 
Clemens Lang
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 Hmm.. well, that would be nice to try solve the generic problem and allow per
 package priority. But I do not know of any other production package 
 management
 system that has implemented such a thing.
 
 Most Linux package managers have priorities associated with repositories. 
 We're
 currently planning to use libsolv, which is also used by yum and provides this
 feature.

OK, but the Linux package managers do it on the per repository level, not the 
per package level, right?
My understanding is that you were thinking about going to the per package level 
with the prioritisation.


 So I would have to say that this is probably years away from stable 
 production.

 I wouldn't say year*s*, but a year is probably a realistic estimate, so this 
 is
 not a valid short-term solution, which is why I'm in favor of committing your
 Portfile.

So if its mimicking what YUM does, yeah, true, it should be quicker.
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 Did you handle deactivation or did you simply make it impossible.

 The update of the configuration files is handled during the activation
 phase and rolled-back during deactivation.
 So it should all be handled. Deactivating the port should get you back
 to the same state as if the port was never installed in the first place.
 If this is not the case then I should fix it :-)
 Of course, a user could always break something by making some very
 weird modifications to the configuration files directly. But I think I have
 handled all reasonable scenarios.

 Yeah? How do you handle

 % port install repositoryA
 % port install repositoryB
 % port deactivate|uninstall repositoryA

 Do you roll back to the state from before installing repo A, removing
 repo B at the same time?

No, repositoryB stays in place. I only remove what was added during port 
install repositoryA.

I append configuration strings to the files during pre-activate and use 
reinplace with appropriate regular expressions to remove what was previously 
added during post-deactivate. Have a look at the Portfile for details:
https://trac.macports.org/attachment/ticket/46954/Portfile.2

Of course, if MacPorts was reading configuration directories like has been 
discussed already, then this could all be cleaner, because I just install and 
remove whole files rather than modify existing ones.

Cheers

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


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 A general question: what is the purpose of adding a repo for the ESO software,
 as opposed to just committing the individual Portfiles that exist in that 
 repo to
 the standard MacPorts repo?

In short, for some of the same reasons that repositories like Fedora EPEL and 
other 3rd party repositories exist.

In our case: we have a community of astronomers that have requested a 
distribution mechanism for ESO software via MacPorts, which they are familiar 
with. However, our software is only relevant to astronomers (a few hundred 
users), rather than the much larger community that the default MacPorts 
repository it trying to target. So I thought that taking an optional extra 
repository approach (kind of like Fedora EPEL) would be the most appropriate.
Another issue would be any differences between our release cycle at ESO versus 
the default MacPorts repository one. I just don't know how compatible these are 
at the moment. For the time being, it is lower risk for our astronomers for ESO 
to maintain its own package repository, which it has full control over.
Would it nevertheless make sense to push our changes to the default MacPorts 
repository in the future? Perhaps. We have considered it and will likely 
revisit this idea again down the line.

All this has been working fine except for one issue: many of our astronomers 
get a bit lost when trying to setup our repository in the sources.conf, 
archive_sites.conf etc. So I thought the best would be to use a Portfile to 
setup our ESO repository automatically if (and only if) requested by the user. 
Thus, making the repository optional. This would be a similar idea to what I 
see with RPMs used to setup 3rd party YUM repositories.
Ultimately my goal is that the astronomy user should be able to do the 
following from a freshly installed MacPorts system:

  sudo port install esorepo
  sudo port sync
  sudo port install ESO specific package

These would be commands that they are familiar with and can understand.


Kind regards.

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


Re: Easy access to external repositories.

2015-06-01 Thread René J . V . Bertin
On Monday June 01 2015 16:57:39 Artur Szostak wrote:

  Did you handle deactivation or did you simply make it impossible.
 
 The update of the configuration files is handled during the activation phase 
 and rolled-back during deactivation.
 So it should all be handled. Deactivating the port should get you back to the 
 same state as if the port was never installed in the first place. If this is 
 not the case then I should fix it :-)
 Of course, a user could always break something by making some very weird 
 modifications to the configuration files directly. But I think I have handled 
 all reasonable scenarios.

Yeah? How do you handle 

% port install repositoryA
% port install repositoryB
% port deactivate|uninstall repositoryA

Do you roll back to the state from before installing repo A, removing repo B at 
the same time?

That's just the easiest case, there are probably more complicated scenarios 
where the user didn't touch any configuration file directly ...

 OK, so add-port-repository would ship with the MacPorts core?

Not necessarily, it could be installed through a port itself (cf. port-depgraph 
or port-whatsnew, 
http://svn.macports.org/repository/macports/contrib/port-whatsnew).


 Are we still talking about the same thing? I was thinking that implementing 
 the SAT-solver based solution might take a while.

Ah, the general implementation of that, sure, that's possible. I was just 
talking about the implementation of per-port priorities on top of the current 
(or revamped) per-repo priorities. And I could be wrong :)

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


Re: Easy access to external repositories.

2015-06-01 Thread David Strubbe
 In our case: we have a community of astronomers that have requested a
 distribution mechanism for ESO software via MacPorts, which they are
 familiar with. However, our software is only relevant to astronomers (a few
 hundred users), rather than the much larger community that the default
 MacPorts repository it trying to target.


A few hundred users may well be more than the majority of ports have,
actually!


 So I thought that taking an optional extra repository approach (kind of
 like Fedora EPEL) would be the most appropriate.
 Another issue would be any differences between our release cycle at ESO
 versus the default MacPorts repository one. I just don't know how
 compatible these are at the moment. For the time being, it is lower risk
 for our astronomers for ESO to maintain its own package repository, which
 it has full control over.
 Would it nevertheless make sense to push our changes to the default
 MacPorts repository in the future? Perhaps. We have considered it and will
 likely revisit this idea again down the line.


If you are the maintainer, you should be able to have as much control as
you wish over the Portfiles and the release cycle. There is no release
cycle for ports really, you can just update them whenever you please.

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


Re: Easy access to external repositories.

2015-06-01 Thread Rainer Müller
On 2015-06-01 15:26, Clemens Lang wrote:
 But sure, what would make it nicer is what I alluded to in a previous email. 
 How
 about having MacPorts do what YUM does and read additional 3rd party 
 repository
 configuration files from a directory. Something like
 ${prefix}/local/etc/macports/sources.conf.d/, and
 ${prefix}/etc/macports/archive_sites.conf.d/ etc. Then I do not have to 
 modify
 ${prefix}/local/etc/macports/sources.conf, but rather just add or remove a
 configuration file from /etc/macports/sources.conf.d/. That would be as clean
 as it gets I think and how other package managements systems deal with this 
 use
 case.
 
 Good point, we should implement this.

Furthermore, it would probably be better to have only one file for
everything we configure separately in sources.conf, archive_sites.conf,
and pubkeys.conf at the moment. This would make it easier to add an
additional ports tree with binary archives.

 Just look at the MacPorts GUI app, that got started as a GSoC project in 2009
 and is still announced as only a beta product
 (https://trac.macports.org/wiki/MacPortsGUI).
 
 Yes, we've previously had problems getting our GSoC projects integrated. We've
 made process adjustments that should improve this situation, though.

We still have other branches of GSoC projects lying around that were
finished to 90%, but then nobody integrated and merged the code back to
trunk. Often the students promise to finish their work even after the
summer, but it rarely happens.

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


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
 If you are the maintainer, you should be able to have as much control
 as you wish over the Portfiles and the release cycle. There is no release
 cycle for ports really, you can just update them whenever you please.

That will be useful input when we discuss it again at ESO.

One other thing that came to mind: how could we control the binary package 
archive? How does one make sure binary packages are available at the same time 
as the Portfile is updated?
Currently we release prebuilt binary packages together with any Portfile 
updates at the same time to our repository. But that is because we control the 
FTP that stores all these files.

Regards.

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


Re: [136972] trunk/dports/gis/cgal/Portfile

2015-06-01 Thread Ryan Schmidt

 On Jun 1, 2015, at 11:13 AM, vi...@macports.org wrote:
 
 Revision
 136972
 Author
 vi...@macports.org
 Date
 2015-06-01 09:13:16 -0700 (Mon, 01 Jun 2015)
 Log Message
 
 cgal: bump to 4.6
 Modified Paths
 
   • trunk/dports/gis/cgal/Portfile
 Diff
 
 Modified: trunk/dports/gis/cgal/Portfile (136971 = 136972)
 
 --- trunk/dports/gis/cgal/Portfile2015-06-01 15:02:56 UTC (rev 136971)
 +++ trunk/dports/gis/cgal/Portfile2015-06-01 16:13:16 UTC (rev 136972)

 -master_siteshttps://gforge.inria.fr/frs/download.php/latestfile/2743/
 +master_sites
 https://gforge.inria.fr/frs/download.php/file/34705/CGAL-4.6.tar.xz

Should just be:

master_siteshttps://gforge.inria.fr/frs/download.php/file/34705/
 

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


Re: [136972] trunk/dports/gis/cgal/Portfile

2015-06-01 Thread Vincent Habchi
Ryan,

 On 01 Jun 2015, at 19:24, Ryan Schmidt ryandes...@macports.org wrote:
 master_siteshttps://gforge.inria.fr/frs/download.php/file/34705/

Thanks. Done in r136973. Sorry for the flub.
Vincent


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


Re: Easy access to external repositories.

2015-06-01 Thread David Strubbe
Provided the licenses for your software and its dependencies would make the
binaries redistributable, the binaries will be built automatically for the
default variants by the buildslaves (using various recent versions of OSX)
after a commit of a Portfile to the MacPorts repository, and then those
binaries will be available for users when they run 'port install'.

David

On Mon, Jun 1, 2015 at 2:24 PM, Artur Szostak aszos...@partner.eso.org
wrote:

   If you are the maintainer, you should be able to have as much control
  as you wish over the Portfiles and the release cycle. There is no
 release
  cycle for ports really, you can just update them whenever you please.

 That will be useful input when we discuss it again at ESO.

 One other thing that came to mind: how could we control the binary package
 archive? How does one make sure binary packages are available at the same
 time as the Portfile is updated?
 Currently we release prebuilt binary packages together with any Portfile
 updates at the same time to our repository. But that is because we control
 the FTP that stores all these files.

 Regards.

 Artur

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


Re: Easy access to external repositories.

2015-06-01 Thread Brandon Allbery
On Mon, Jun 1, 2015 at 4:54 PM, Artur Szostak aszos...@partner.eso.org
wrote:

 What is the duty cycle or delay for the buildslaves to build these
 packages?
 I have seen a number of occasions where MacPorts cannot seem to find the
 binary for a Portfile from the default repository and builds the package
 locally.


Most often that's because there is a license conflict. (Some of these don't
actually exist; for example, ports that require ld64 for linking often
falsely claim a license conflict as a result. Those are getting cleaned up
as they are found.)

-- 
brandon s allbery kf8nh   sine nomine associates
allber...@gmail.com  ballb...@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: Easy access to external repositories.

2015-06-01 Thread David Strubbe
The buildslaves begin shortly after each commit. The delay, if any, is
probably a few minutes. Of course depending on how long it takes to build
the ports it may take a while to finish, and may have been busy building
other ports already when you commit.

When it cannot get the binary, that may be because of license issues,
because the build failed on the buildslave, or because you are using
non-default variants (and probably other reasons too).

On Mon, Jun 1, 2015 at 4:54 PM, Artur Szostak aszos...@partner.eso.org
wrote:

  Our software is all open source (GPL) so thats not the problem.
 What is the duty cycle or delay for the buildslaves to build these
 packages?
 I have seen a number of occasions where MacPorts cannot seem to find the
 binary for a Portfile from the default repository and builds the package
 locally.

  --
 *From:* dstru...@gmail.com [dstru...@gmail.com] on behalf of David
 Strubbe [dstru...@macports.org]
 *Sent:* 01 June 2015 21:06
 *To:* Artur Szostak
 *Cc:* MacPorts Development
 *Subject:* Re: Easy access to external repositories.

   Provided the licenses for your software and its dependencies would make
 the binaries redistributable, the binaries will be built automatically for
 the default variants by the buildslaves (using various recent versions of
 OSX) after a commit of a Portfile to the MacPorts repository, and then
 those binaries will be available for users when they run 'port install'.

  David


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


Fwd: Re: cloudflare/zlib on OS X

2015-06-01 Thread René J . V . Bertin
FYI,

I was (most likely) right: without that 1 file with a GPL license the 
CloudFlare patches won't change the zlib license.

R.

--  Forwarded Message  --

Subject: Re: cloudflare/zlib on  OS X
Date: Monday June 01 2015, 19:55:45
From: Vlad Krasnov v...@cloudflare.com
To: René J.V. Bertin rjvber...@gmail.com

We didn’t change the license.
I am sure if you remove the other files, the original zlib license will apply.


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


RE: Easy access to external repositories.

2015-06-01 Thread Artur Szostak
Our software is all open source (GPL) so thats not the problem.
What is the duty cycle or delay for the buildslaves to build these packages?
I have seen a number of occasions where MacPorts cannot seem to find the binary 
for a Portfile from the default repository and builds the package locally.


From: dstru...@gmail.com [dstru...@gmail.com] on behalf of David Strubbe 
[dstru...@macports.org]
Sent: 01 June 2015 21:06
To: Artur Szostak
Cc: MacPorts Development
Subject: Re: Easy access to external repositories.

Provided the licenses for your software and its dependencies would make the 
binaries redistributable, the binaries will be built automatically for the 
default variants by the buildslaves (using various recent versions of OSX) 
after a commit of a Portfile to the MacPorts repository, and then those 
binaries will be available for users when they run 'port install'.

David

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


Re: cloudflare/zlib on OS X

2015-06-01 Thread Lawrence Velázquez
On Jun 1, 2015, at 5:11 PM, René J.V. Bertin rjvber...@gmail.com wrote:

 I was (most likely) right: without that 1 file with a GPL license the 
 CloudFlare patches won't change the zlib license.

Where do they explicitly license their contributions under the zlib license?

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


Re: cloudflare/zlib on OS X

2015-06-01 Thread René J . V . Bertin
On Monday June 01 2015 18:00:29 Lawrence Velázquez wrote:

 Where do they explicitly license their contributions under the zlib license?

They don't explicitly change the licensing of the files they modify. If those 
files each carry a zlib license they will still carry that license after 
applying the patch.

CloudFlare are the only ones who could accuse someone of stealing their code, 
applying the wrong license etc. I forwarded a statement from a CloudFlare 
employee using his work address that they didn't change a license. What more 
could you want?!

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


Re: GSoC Project: Revitalizing Pallet

2015-06-01 Thread Kyle Sammons
Hey Ian, René, and Kevin,


 Well, Kyle, if you are interested, I could send you the code of Fossick
 and a
 specification/design document.  You would be welcome to re-use any of it or
 any of the ideas contained in it


 Thanks for the offer, Ian! I'm working on getting the darn thing to
compile on modern versions of OS X first, then I'll be considering
different options and moving forward there. I'll definitely keep your offer
in mind, and I'll make sure to reach out to the community before I do
anything too crazy to make sure it's what we really want/need. :)

I think that such a GUI should not be alone. It must be complemented (and
 maybe even preceded) by a launcher, akin to the tools providing Start
 Button like functionality on Linux desktops, but that would sit in the
 Dock on OS X.


Interesting idea, René. I'll make sure to keep it in mind!

It would be great if Pallet developed into a viable, ongoing GUI client for
 the MacPorts project. My guess is that it will need a lot of work, and
 ongoing maintenance from a single owner or team, to get there.


From what I can tell, you're pretty much on the money, Kevin. It'll be a
lot of work, and hopefully either myself, or some other fearless
developers, will be able to keep it up and maintain it after the summer is
over.


Thanks!,
-Kyle
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: cloudflare/zlib on OS X

2015-06-01 Thread Jeremy Lavergne
Did you verify that this employ is actually empowered to dictate the company's 
licensing?

On Jun 1, 2015, at 8:52 PM, René J.V. Bertin wrote:

 They don't explicitly change the licensing of the files they modify. If those 
 files each carry a zlib license they will still carry that license after 
 applying the patch.
 
 CloudFlare are the only ones who could accuse someone of stealing their code, 
 applying the wrong license etc. I forwarded a statement from a CloudFlare 
 employee using his work address that they didn't change a license. What more 
 could you want?!

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


Re: GSoC Project: Revitalizing Pallet

2015-06-01 Thread Ian Wadham
Hi Kyle,

On 02/06/2015, at 11:15 AM, Kyle Sammons wrote:
 Ian wrote:
 Well, Kyle, if you are interested, I could send you the code of Fossick and a
 specification/design document.  You would be welcome to re-use any of it or
 any of the ideas contained in it
 
 Thanks for the offer, Ian! I'm working on getting the darn thing to compile 
 on modern versions of OS X first, then I'll be considering different options 
 and moving forward there. I'll definitely keep your offer in mind, and I'll 
 make sure to reach out to the community before I do anything too crazy to 
 make sure it's what we really want/need. :)

Watch out for the evolutionary changes in Cocoa/OSX/ObjectiveC across
successive versions of OS X !!!  I was particularly having problems figuring out
exactly what to write and for which OS X, in the light of *major* changes in:

- Dynamic storage management (DIY vs. garbage-collect vs. 
reference-counting),
- The GUI designer (Interface Builder) and its relationships (or links) to 
generated
   and hand-written chunks of code.

Fundamental stuff.  It did not help that I was also teaching myself Objective 
C… :-)
nor that I have been designing and coding for various GUI and forms designers 
for
about 40 years now.  Each one is or was unique in its own way.

Maybe Pallet won't even work with newer versions of Xcode, even if you can 
compile
it.  Pallet code is quite old now.  I was (and still am) using Lion (OS X 
10.7.5) and Xcode
4.6.1 and do not remember any particular problems compiling Pallet.

Cheers, Ian W.

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