# USE/WANT/HAVE_GNOME question



## troberts (Mar 2, 2010)

I want my system to be as free of GNOME dependencies as possible. With things like NLS, IPV6, HAL, etc. all I need to do is put WITHOUT_NLS=true in my make.conf file, but I am not exactly sure how to go about eliminating GNOME. To help clarify things I will list two examples:

Claws-mail: In its Makefile there is 
	
	



```
USE_GNOME=gnomehack pkgconfig gtk20 glib20 atk libartlgpl2 pango libxml2
WANT_GNOME=yes

.if ${HAVE_GNOME:Mgnomeprint} != "" || defined(WITH_GNOMEPRINT)
PLIST_SUB+=		GNOMEPRINT=""
USE_GNOME+=		libgnomeprint libgnomeprintui libgnomecanvas
CONFIGURE_ARGS+=	--enable-gnomeprint
.else
PLIST_SUB+=		GNOMEPRINT="@comment "
CONFIGURE_ARGS+=	--disable-gnomeprint
.endif
```

Firefox35: In its Makefile there is 
	
	



```
WANT_GNOME=yes

.if ${HAVE_GNOME:Mlibgnomeui}!=""
USE_GNOME+=	libgnomeui
MOZ_OPTIONS+=	--enable-gnomeui
.else
MOZ_OPTIONS+=	--disable-gnomeui
.endif
```

While Claws-mail checks for gnomeprint and Firefox35 checks for libgnomeui, they both use HAVE_GNOME. Would putting WITHOUT_GNOME=true in the make.conf file make HAVE_GNOME become "false" making Claws-mail use the --disable-gnomeprint option and Firefox35 use the --disable-gnomeui option? If not, what do I need to do to get HAVE_GNOME return "false"?


----------



## graudeejs (Mar 2, 2010)

Firefox required Gnome AFAIK, you can't avoid the evil


----------



## DutchDaemon (Mar 2, 2010)

I have a non-GNOME system, and I have no special settings to prevent it:


```
$ pkg_info | wc -l
     613

$ pkg_info | grep -i gnome
atk-1.28.0          A GNOME accessibility toolkit (ATK)
gconf2-2.28.0_1     A configuration database system for GNOME
gnome-mime-data-2.18.0_3 A MIME and Application database for GNOME
gnome-vfs-2.24.2_1  GNOME Virtual File System
gnome_subr-1.0      Common startup and shutdown subroutines used by GNOME scrip
gnomehier-2.3_12    A utility port that creates the GNOME directory tree
gstreamer-plugins-gnomevfs-0.10.25_1,3 Gstreamer gnomevfs plugin
libglade2-2.6.4_2   GNOME glade library
libxml2-2.7.6_1     XML parser library for GNOME
libxslt-1.1.26      The XSLT C library for GNOME
py26-libxml2-2.7.6  Python interface for XML parser library for GNOME
system-tools-backends-2.8.3_1 Backend system admin scripts for gnome-system-tools
```

So that's all the GNOME stuff that was pulled in by over 600 non-GNOME ports. Is it worth losing sleep over, really?


----------



## aragon (Mar 3, 2010)

Unfortunately grepping pkg_info's output for "gnome" is not an accurate way of seeing what gnome components are installed.  To the point though, it's impossible to setup even a vaguely useful desktop without at least some gnome components... unless all you want is xterm and terminal apps. (and even there glib might be needed)


----------



## DutchDaemon (Mar 3, 2010)

@aragon

I know, but the proportion of Gnome-related ports on a non-Gnome system is negligible on any reasonably 'loaded' system (I bet it's much less than 5% of the number of total ports), and they're usually smaller 'lib' and 'util' ports, no massive core ports, so space-wise it's peanuts.


----------



## Brandybuck (Mar 3, 2010)

Most of the stuff with "gnome" in the name or description are not really a part of GNOME. It gets kind of confusing, but as a rule of thumb I wouldn't consider anything that doesn't require libgnome or libgnomeui to be a part of GNOME.


----------



## troberts (Mar 4, 2010)

DutchDaemon said:
			
		

> So that's all the GNOME stuff that was pulled in by over 600 non-GNOME ports. Is it worth losing sleep over, really?


No, I will not lose sleep over it.

Looking closer at the Makefile it seems to me that if libgnomeui is installed then it will compile it into Firefox (assumes GNOME is installed?), but if it is not then compiling continues as if it doesn't exist. Since I had to reinstall my system and libgnomeui was not installed, Firefox does not list it as a dependency; however, I did use WITHOUT_GNOME=true in the make statement, but I do not know if that would have worked if libgnomeui had been installed. 

I could either move the --disable-gnomeui into the MOZ_OPTIONS section of the Makefile and delete the if statement, or delete the if statement except for MOZ_OPTIONS+=--disable-gnomeui, but that would be an inconvenience at the very least. 

While I am not trying to LFS my FBSD, the if statements do exist and it would be nice to not have things compiled into the application that are not needed. Is there a way to make HAVE_GNOME have a "false" value or is there nothing I can do?


----------



## DutchDaemon (Mar 4, 2010)

A quick scan of /usr/ports/Mk/bsd.gnome.mk (and some other files where GNOME is referenced, like bsd.gecko.mk and bsd.xorg.mk) seems to suggest there's only this target for what you want:

WITHOUT_GNOME="yes"

I don't know the range of this setting, but it's worth keeping around, I guess. 

Unfortunately, setting things like USE_GNOME or HAVE_GNOME to _any_ value (even 'false') will simply activate them, which is the opposite of what you want (a.k.a. DONT_WANT="yes").


----------

