Re: defining dependencies for ports

2006-07-17 Thread mh983


- Original Message 
From: Alex Zbyslaw [EMAIL PROTECTED]
To: mike [EMAIL PROTECTED]
Cc: freebsd-questions@freebsd.org
Sent: Monday, July 17, 2006 11:19:15 AM
Subject: Re: defining dependencies for ports

mike wrote:

 Thanks for the responses.  This is /exactly/ why I'm using ports 
 instead of packages, because I want to have things compiled with my 
 options.  However, the reason for my original post was that I'm having 
 a hard time customizing this, for java/Eclipse specifically.  I try 
 make config but it doesn't show anything.  So how do I go about 
 cutting out or changing some of the dependencies that I don't want if 
 there are no OPTIONS defined?
 And I can't find where these dependencies are even defined in this 
 case.  I grep everything in /usr/ports/java/eclipse and don't see 
 references to most of the dependencies.  Where are they defined if not 
 in the BUILD_DEPENDS, etc. variables of the Makefile?

What options you get for any port do depend on what the maintainer chose 
to put in.  If there is some option that eclipse itself has, but the 
port does not, then contacting the maintainer is where I might start.

Looking thought the eclipse Makefile you see things like:

.if defined(WITH_MOTIF)

or

.if !defined(WITHOUT_MOZILLA)

which tell you what is going to be looked for when the port is 
compiled.  Is that what you meant by dependencies?

So if using plain make you say something like make WITH_MOTIF=1 or 
make WITHOUT_MOZILLA=1.

Using portupgrade, you can add these to the MAKE_ARGS for java/eclipse 
in pkgtools.conf and have them used automatically every time you recompile.

Or there is

BUILD_DEPENDS=  ant:${PORTSDIR}/devel/apache-ant \
zip:${PORTSDIR}/archivers/zip

but usually they are not optional for a reason!

What, specifically, were you trying to do?

Not every port supports make config unfortunately.  I haven't done 
enough port hacking to know how easy it is to add this to any port, but 
can't believe it's that hard - of course, hard depends on your 
experience!  Comparing to a port which *does* support make config 
(mozilla, samba3, portupgrade) may help you do it for yourself; the 
Porters Handbook on the website may also have helpful info.

hth,

--Alex


Yes, that helps.  I did find the zip and ant dependencies.  When I had looked 
at the dependency tree on the web, there were a lot of others, such as glade 
which then requires python.  I didn't want glade or python, so I was kind of 
curious where this dependency was listed if not explicit in the Makefile.  I 
guess my question was more just in general than specifically for the Eclipse 
package.  From what you said, it sounds like it all just depends on how the 
port was written by the owner, if things are considered an option you can 
change or not.  Thanks for taking the time to actually go and look at the 
Makefile for this, that was above and beyond.

mike



___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: defining dependencies for ports

2006-07-19 Thread mh983


- Original Message 
From: Gerard Seibert [EMAIL PROTECTED]
To: freebsd-questions@freebsd.org
Cc: mike [EMAIL PROTECTED]
Sent: Monday, July 17, 2006 11:33:56 AM
Subject: Re: defining dependencies for ports

mike wrote:

 Alex Zbyslaw wrote:
  Owen G wrote:
 
  You are aware that there exists
  1. ports = source = must be compiled = make install (as above)
  2. packages = executable packages = precompiled = pkgadd -r . . .
 
   
 
  Whilst your description of ports and packages is correct...
 
  So unless you're running a custom kernel, there's no advantage of ports
  over packages.
 
  ...this is not.
 
  Ports are useful :
 
1) For any package with multiple compile-time options (e.g. apache) 
  where *you* want to choose those options rather than be stuck with the 
  ones the *package* was compiled with (c.f. Linux rpms)
 
2) If you want to be as up-to-date as possible - packages take time 
  to pre-compile and can lag the ports tree a little
 
3) If require the source code (for maintaining local patches; 
  because another port or some other local software needs it)
 
  I'm not aware that a custom kernel has any relevance whatsoever.  
  Perhaps you meant unless you have used some cpu-specific compile flag 
  in make.conf but I don't think even that would make a difference.
 
  Also, ports and packages are managed much more easily with a tool like 
  portupgrade or portmanager.  I prefer the former because it has never 
  core-dumped on me, and feels more robust and well maintained.
 
  If you have multiple machines you keep in sync, then portupgrade -p or 
  pkg_create -b can be used to create local packages with *your* 
  compile-time options that other local machines can use.
 
  --Alex
 
 Thanks for the responses.  This is /exactly/ why I'm using ports instead 
 of packages, because I want to have things compiled with my options.  
 However, the reason for my original post was that I'm having a hard time 
 customizing this, for java/Eclipse specifically.  I try make config 
 but it doesn't show anything.  So how do I go about cutting out or 
 changing some of the dependencies that I don't want if there are no 
 OPTIONS defined? 
 
 And I can't find where these dependencies are even defined in this 
 case.  I grep everything in /usr/ports/java/eclipse and don't see 
 references to most of the dependencies.  Where are they defined if not 
 in the BUILD_DEPENDS, etc. variables of the Makefile?
 
 thanks again.  I'm learning a lot in this process.

 Check out the java/eclipse Makefile. It has build options in it that are
 configurable. You can do that either by entering them on the command
 line, or by placing them in the /etc/make.conf file like this:
 
 # java/eclipse section
 .if $(.CURDIR:M*/java/eclipse)
 # Your options are placed here.
 # I usually place them one per line for easier reading
 .endif
 
 I like the /etc/make.conf option myself since I do not have to remember
 to enter the options if I update the port. Also, both portupgrade and
 portmanager will honor any instructions in the /etc/make.conf file.
 Unlike Mike, I prefer 'portmanager' since it seems to do a more through
 update of a ports dependencies, etc., but that is just my opinion.
 
 Ciao
 
 -- 
 Gerard Seibert
 [EMAIL PROTECTED]

Sorry, I wonder if I could ask one more clarification about these dependencies 
without being too annoying.

Following are the listed dependencies for the java/eclipse package.  But all of 
these are not in the Makefile. How does the ports system come up with the other 
dependencies?  For example, this tree shows devel/ORBit2 as a direct dependent 
of java/eclipse.  How did it find that?

I'm not trying to pick apart the dependencies of this package, I would just 
like to understand how this whole ports thing works.  From what I remember of 
trying Gentoo, I had much more control over how the package got built, and I'm 
curious if I can have that same control here.  Thanks for all who have read and 
responded.

java/eclipse 
 |--- accessibility/atk 
 | |--- devel/gettext 
 | | |--- converters/libiconv 
 | | |--- devel/libtool15 
 | |--- devel/glib20 
 | | |--- devel/gmake 
 | | |--- devel/pkg-config 
 | | |--- lang/perl5.8 
 | |--- devel/libtool15 
 | |--- devel/pkg-config 
 |--- archivers/unzip 
 |--- archivers/zip 
 |--- audio/esound 
 | |--- audio/libaudiofile 
 |--- devel/ORBit2 
 | |--- devel/libIDL 
 | | |--- devel/bison 
 | | | |--- devel/m4 
 | |--- devel/popt 
 |--- devel/apache-ant 
 | |--- java/diablo-jdk15 
 | | |--- java/javavmwrapper 
 | | |--- x11/xorg-libraries 
 | | | |--- devel/imake-6 
 | | | |--- graphics/libdrm 
 | | | |--- print/freetype2 
 | | | |--- x11-fonts/fontconfig 
 | | | | 

Re: defining dependencies for ports

2006-07-19 Thread mh983
RW wrote:

 I already answered this in the main thread - this one is a second thread 
 created when Owen G answered a list digest (I do wish people wouln't do 
 that). 
 
  I was only guessing at the time, but my guess looks right:
... 
 I think the problem is that as time goes by more and more GTK ports are 
 becoming increasingly Gnomified.

Terribly sorry about missing your other post.  I use digest mode too, but as of 
today I stopped because it's evil.

Thanks for the response.  I think the output from that webbased dependency list 
is misleading as many of those dependencies are gone once you exclude gnome, 
but the output makes it look like they are direct dependents of eclipse.

Thanks for taking the time to explain this.  Hope my response ends up on the 
right thread.

mike





___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]