I am running an x86 system, without GNOME installed. I also do not have gnomeuimm installed (any version): zephyr # qpkg -fp gnomeuimm zephyr # and I have -gnome in my USE flags. A quick look through the configure script seems to suggest that libgnomeuimm is *required* for workrave 1.4.0, although I could be wrong here. The workrave homepage also seems to say that GNOME is required: "The GNU/Linux version depends on Gnome" Please note that this problem currently exists in the "stable branch" (ie, not ~x86), and should be fixed ASAP. Reproducible: Always Steps to Reproduce: emerge --info : Portage 2.0.49-r13-2 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.20-gentoo-r7) ================================================================= System uname: 2.4.20-gentoo-r7 i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.4.3.10p1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS=" http://ftp.rucus.ru.ac.za/pub/linux/gentoo http://zazu.ru.ac.za/ http://zion.ru.ac.za/ ftp://ftp.rucus.ru.ac.za/pub/FreeBSD/ ftp://ftp.is.co.za/linux/distributions/gentoo/ http://194.83.57.2/sites/www.ibiblio.org/gentoo/ http://212.219.56.152/sites/www.ibiblio.org/gentoo/ http://212.219.56.162/sites/www.ibiblio.org/gentoo/ http://194.83.57.3/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.rucus.ru.ac.za/gentoo-portage" USE="x86 oss avi crypt encode foomaticdb gif imlib jpeg libg++ libwww mad mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gdbm slang readline aalib java X sdl pam ssl perl python oggvorbis gtk opengl mozilla 3dnow acpi acpi4linux autofs dvd evo fbcon gphoto2 gtk2 gtkhtml lirc maildir mng moznocompose moznoirc moznomail mozsvg offensive S3TC samba sse tiff v4l vim-with-x xosd -apm -arts -cups -gpm -kde -gnome -mikmod -motif -qt -svga -berkdb -tcpd"
OK, so I was wrong in assuming that it was the dependency list. workrave 1.4 can indeed be compiled without gnome, but it needs a "--disable-gnome", not a "--enable-gnome" flag to configure, as the current ebuild specifies. A fixed ebuild is on its way.
Created attachment 19578 [details] proposed new ebuild for workrave The 1.4.0-r1 ebuild said something along the lines of: # This is the first workrave ebuild with gnome support, # which should be considered experimental. The next # step should be converting to the gnome2 eclass. Here is an ebuild based on the gnome2 eclass. It handles the gnome dependency correctly. I have changed the names of the "no-exercise" and "no-experimental" USE flags to "experimental" and "exercise", as I find the "no-bla" format confusing and non-intuitive. Also, it makes configuration using "use_enable" easier. I changed the DESCRIPTION slightly, and fixed up some depency version problems too.
Thanks for the note on --disable-gnome. This has been fixed now. Now, allow me to comment on some of the other things you included in your proposed ebuild: The local USE flags `no-excercises' and `no-experimental' exist because the default is to have those features enabled. That is, most users tend to want them if they do a plain `emerge'. The way your ebuild works, the user would have to do something like ``USE="exercises experimental" emerge workrave'' to have those features enabled. Notice that `distribution' is an example of a feature that we do not want enabled by default, and that is why it is not prefixed with `no-'. (You can also take a look at bug #28308 for the reason why `exercises' is enabled by default.) About the DESCRIPTION, we tend to prefer short descriptions for the ebuilds (ie. strings under 80 chars). It is not an official rule, though. Your DEPEND/RDEPEND corrections make sense and I tweaked them to reflect the dependencies claimed in workrave's configure.ac. It is also kind of a policy to use configure.(ac|in) scripts to build our (R)DEPEND lists. All in all, you raised valid issues and your work has been very helpful. Thanks.
Hi, Thanks for the fixes. There is still however a bug in your ebuild, as far as I can tell. If USE flags are -gnome and -xml2, and the user does not have gnome-base/gconf-2 or dev-libs/gdome2 installed, the configure script will fail on a gconf dependency. configure.ac contains the following: if test "x$config_with_registry" = "xno" -a "x$config_with_xml" = "xno" -a "x$config_with_gconf" = "xno" ; then if test "x$platform_win32" = "xyes" ; then config_with_registry=yes else config_with_gconf=yes fi fi which is why my ebuild contained: xml2? ( dev-libs/gdome2 ) : ( !gnome? ( >=gnome-base/gconf-2 ) ) I am, unfortunately, unable to test this. Regards Russell
Woops, and I missed that you have "dev-util/pkgconfig" in both the RDEPENDs and the DEPENDs. configure.ac doesn't seem to contain any information about pkgconfig, and I certainly can't think of a reason why it would be a run-time dependency! dev-util/pkgconfig should only be in the DEPEND, not RDEPEND.
Right, should be fixed now. Thank you again.
Hi again, I don't see a probable case where it will break anything, so I'm not going to reopen the bug, but there is still a logic flaw in the way you have done the RDEPEND. If both gnome and xml2 are in the USE flags, gconf will not be enabled (or in the RDEPEND list). This may have an effect on users who are upgrading from a previous ebuild, and have their information stored in the gconf database, and then all of a sudden have their information stored in a config.xml instead. The information will not be migrated across, and may be lost. Additionally, workrave seems to favour gconf as its method of storing configuration information (as evidenced from the snippet from the configure.ac which I pasted in an earlier comment). This is not reflected in the current ebuild. I'd just like to know whether formats like !xml2? ( !gnome? ( >=gnome-base/gconf-2 ) ) are not supported or not encouraged in ebuilds (they seem to be supported from my testing), and if they are not encouraged, why are they not encouraged? For personal reasons, if you have some time, I'd like to know why you have not used the gnome2 eclass based ebuild which I submitted (especially since you left the comment about the ebuild needing to be gnome2.eclass'ified in the current ebuild!). This isn't a critisism of what you have done, but something which I'd like to learn from :) Thanks
Hello. Sorry about the delay. I've corrected the behavior you mention in your last comment. Thanks for the note. > I'd just like to know whether formats like > !xml2? ( !gnome? ( >=gnome-base/gconf-2 ) ) > are not supported or not encouraged in ebuilds There's nothing wrong with that kind of ``DEPEND atoms''. :) > I'd like to know why you have > not used the gnome2 eclass based ebuild which I submitted As of 1.4.0., the gnome2 eclass doesn't really add anything to the ebuild. Incidentally, workrave 1.4.1 have been released, so a new ebuild for it will be committed soon. Thanks.