# Screwed up dependencies for gnome-power-manager?



## harishankar (May 11, 2010)

Why is Gnome power manager sysutils/gnome-power-manager trying to install docbook, docbook-dsssl, jade, jadetex and now its pulling tetex-source from the repository?

I cancelled it.

I thought it was a simple enough tool?


----------



## SirDice (May 11, 2010)

It has quite a lot of build dependencies. And no, it's not a simple tool. In any case, there's nothing FreeBSD specific about the build. If you have problems with it I suggest taking it up with the Gnome people.


----------



## harishankar (May 11, 2010)

SirDice said:
			
		

> It has quite a lot of build dependencies. And no, it's not a simple tool. In any case, there's nothing FreeBSD specific about the build. If you have problems with it I suggest taking it up with the Gnome people.



It's not in packages only in ports. That's why I had to try to build it. I'm a humble programmer and I don't know system specific stuff, but even I begin to doubt that Gnome power manager requires SGML tools, DocBook and JadeTeX. 

Check the dependencies mentioned in the Gnome project page it has only 3:

http://projects.gnome.org/gnome-power-manager/

The actual program only uses the HAL and ACPI functionality and is not really complicated.

I think this is FreeBSD specific probably because the port maintainer hasn't separated the documentation from the main program. Documentation shouldn't be necessary unless I specifically choose to install it.


----------



## SirDice (May 11, 2010)

harishankar said:
			
		

> Check the dependencies mentioned in the Gnome project page it has only 3:


Plus all the other Gnome dependencies.

Try building it with only those 3 installed and see how far you get.


----------



## kpedersen (May 11, 2010)

SirDice said:
			
		

> And no, it's not a simple tool



SirDice is correct, *nothing* from gnome is ever "a simple tool" haha.

These guys just pack in dependencies for fun.

When compiling ports or packages, as soon as I see the string *gnome-** I think to myself...



			
				Myself said:
			
		

> "Ooops Scotty, this isn't going to be as quick and easy as I first thought..."



And then I make a mad dash to the ^C before it begins to suck in the whole universe.


----------



## harishankar (May 11, 2010)

SirDice said:
			
		

> Plus all the other Gnome dependencies.
> 
> Try building it with only those 3 installed and see how far you get.



Every other Gnome dependency is installed on my system. Why a package needs SGML and docbook is only because the port includes the documentation as well.

Ports maintainers should take care to remove the documentation because we really don't need it unless we choose to install it.

And majority of Gnome project is available as packages in FreeBSD. Only gnome-power-manager is missing. 

What I find strange is that the port distribution forces you to install all the development tools including the documentation tools, but removing this would be better. Only those who need docs should have to bother to compile everything.


----------



## SirDice (May 11, 2010)

In that case I would suggest filing a PR, submit some patches and hope it gets added to the port.


----------



## harishankar (May 11, 2010)

SirDice said:
			
		

> In that case I would suggest filing a PR, submit some patches and hope it gets added to the port.



I will first check whether it is common practice to compile all ports in Gnome with the documentation or whether this is specific to gnome-power-manager.

Thanks for the help. I think I now realize why I am avoiding ports even more.


----------



## SirDice (May 11, 2010)

harishankar said:
			
		

> Thanks for the help. I think I now realize why I am avoiding ports even more.


There's a difference between run dependencies and build dependencies. The build dependencies are only needed to build the port. They can be removed once the build is done.


----------



## harishankar (May 11, 2010)

SirDice said:
			
		

> There's a difference between run dependencies and build dependencies. The build dependencies are only needed to build the port. They can be removed once the build is done.



I realize that, but some build dependencies are very heavy compared to run-time dependencies. I have used Gentoo in the past and I know how many days I left my system running to compile KDE. 

Even with a faster internet connection I would fear the process. With my slower net connection using ports is a big issue for me because the time gets tripled or quadrupled. 

I am going to take a look at PC BSD and see if it suits my needs better. Thing is I otherwise love the flexibility and power of FreeBSD and the way the base system is set up. Also I don't know whether developer tools are included in PC BSD.


----------



## SirDice (May 11, 2010)

harishankar said:
			
		

> I realize that, but some build dependencies are very heavy compared to run-time dependencies.


Yes and there's really nothing to do about it. Ever tried to compile GCC? Talk about a rather big build dependency. Things don't really work without one though.



> Even with a faster internet connection I would fear the process. With my slower net connection using ports is a big issue for me because the time gets tripled or quadrupled.


Compile time, yes, obviously. Building ports only adds maybe 5% extra ports as a build dependency. It really won't download that much more.


----------



## zeiz (May 11, 2010)

gnome-lite might be a solution.
btw gnome-power-manager exists as a package and if it currently doesn't show it could be because of problem with dpmsstr.h I experienced.


----------



## crsd (May 11, 2010)

`# make -DNO_INSTALL_MANPAGES install clean`


----------



## aragon (May 11, 2010)

There is a common define called NOPORTDOCS which some ports respect, but it looks like gnome-power-manager is not one of them.  By default documentation is always installed though.


----------



## crsd (May 11, 2010)

yep,
	
	



```
# echo /usr/ports/*/*/Makefile | xargs grep -l NOPORTDOCS | uniq | wc -l                                
    5060
# echo /usr/ports/*/*/Makefile | xargs grep -l NO_INSTALL_MANPAGES | uniq | wc -l                       
     155
```

NO_INSTALL_MANPAGES seems quite rarely used in ports, but is still useful.


----------

