Skip site navigation (1)Skip section navigation (2)
Date:      30 Jan 2003 22:38:26 -0500
From:      Joe Marcus Clarke <marcus@FreeBSD.org>
To:        gnome@FreeBSD.org
Subject:   HEADS UP, RFC, and all that jazz: New GNOMENG updates
Message-ID:  <1043984306.30324.45.camel@shumai.marcuscom.com>

next in thread | raw e-mail | index | archive | help

--=-TfuDRVsLB817dvG6SXPo
Content-Type: multipart/mixed; boundary="=-Jg6iCZv2IYfGIC633PZy"


--=-Jg6iCZv2IYfGIC633PZy
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

With GNOME 2.2 closing in, it's becoming more and more evident we need
GNOME 2 support in GNOMENG.  Also, it would be nice to eradicate the old
GNOME infrastructure from the tree entirely.  Attached is my first round
draft of a GNOMENG that supports GNOME 2 (2.0 right now), as well as
adds some hooks for old-style GNOME ports to function in GNOMENG, and
adds some knowledge about GNOME desktop versions.

I would really appreciate if people could look this over, test it, and
send me your feedback.  I'm not 100% convinced this is the best way to
test for the GNOME desktops, but it seems to work in my tests.

This patch adds one new variable:

WITH_GNOME_DESKTOP

This variable can take one of two values: 1 or 2.  If you're using the
GNOME 2 desktop, define this to be 2 (in /etc/make.conf, for example).=20
Of course, define this to be 1 if you're using the GNOME 1 desktop.=20
This comes into play especially if the port in question _can_ use
libpanel (e.g. gaim).  If you define WITH_GNOME_DESKTOP to be 2, gaim
won't build the applet.

For ports that _use_ libpanel, they will be marked as BROKEN if
WITH_GNOME_DESKTOP is set to 2.

Again, this is just a first draft, but I would like to at least commit
the GNOME 2 additions relatively soon assuming no objections.  Thanks!

Joe

--=20
Joe Marcus Clarke
FreeBSD GNOME Team	::	marcus@FreeBSD.org
http://www.FreeBSD.org/gnome

--=-Jg6iCZv2IYfGIC633PZy
Content-Disposition: attachment; filename=bsd.gnomeng.mk.diff
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; name=bsd.gnomeng.mk.diff; charset=ISO-8859-1

--- bsd.gnomeng.mk.orig	Thu Jan 30 22:29:09 2003
+++ bsd.gnomeng.mk	Thu Jan 30 22:28:37 2003
@@ -25,6 +25,15 @@
 		gnomecanvas oaf gnomemimedata gconf gnomevfs libcapplet \
 		gnomeprint bonobo libgda gnomedb libglade gal glibwww gtkhtml \
 		libpanel
+_USE_GNOME_ALL+=3Dglib20 atk pango gtk20 linc libidl orbit2 libglade2 libx=
ml2 \
+		libxslt bonoboactivation libbonobo gconf2 gnomevfs2 gail \
+		libgnomecanvas libartlgpl2 libgnomeprint libgnomeprintui \
+		libgnome libbonoboui libgnomeui atspi libgailgnome \
+		libgtkhtml gnomedesktop libwnck vte libzvt librsvg2 eel2 \
+		gnomepanel
+
+# Set a reasonable (overrideable) configure target for GNOME apps.
+CONFIGURE_TARGET?=3D	--target=3D${MACHINE_ARCH}-unknown-freebsd${OSREL}
=20
 SCROLLKEEPER_DIR=3D	/var/db/scrollkeeper
 gnomehack_PRE_PATCH=3D	${FIND} ${WRKSRC} -name "Makefile.in*" | ${XARGS} $=
{REINPLACE_CMD} -e \
@@ -189,6 +198,146 @@
 libpanel_LIB_DEPENDS=3D	panel_applet.5:${PORTSDIR}/x11/libpanel
 libpanel_DETECT=3D	${X11BASE}/etc/appletsConf.sh
 libpanel_USE_GNOME_IMPL=3Dgnomelibs
+libpanel_GNOME_DESKTOP=3D1
+
+glib20_LIB_DEPENDS=3D	glib-2.0.0:${PORTSDIR}/devel/glib20
+glib20_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/glib-2.0.pc
+
+atk_LIB_DEPENDS=3D	atk-1.0.0:${PORTSDIR}/devel/atk
+atk_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/atk.pc
+atk_USE_GNOME_IMPL=3D	glib20
+
+pango_LIB_DEPENDS=3D	pango-1.0.0:${PORTSDIR}/x11-toolkits/pango
+pango_DETECT=3D		${X11BASE}/libdata/pkgconfig/pango.pc
+pango_USE_GNOME_IMPL=3D	glib20
+
+gtk20_LIB_DEPENDS=3D	gtk-x11-2.0.0:${PORTSDIR}/x11-toolkits/gtk20
+gtk20_DETECT=3D		${X11BASE}/libdata/pkgconfig/gtk+-x11-2.0.pc
+gtk20_USE_GNOME_IMPL=3D	atk pango
+
+linc_LIB_DEPENDS=3D	linc.1:${PORTSDIR}/net/linc
+linc_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/linc.pc
+linc_USE_GNOME_IMPL=3D	glib20
+
+libidl_LIB_DEPENDS=3D	IDL-2.0:${PORTSDIR}/devel/libIDL
+libidl_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/libIDL-2.0.pc
+libidl_USE_GNOME_IMPL=3D	glib20
+
+orbit2_LIB_DEPENDS=3D	ORBit-2.0:${PORTSDIR}/devel/ORBit2
+orbit2_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/ORBit-2.0.pc
+orbit2_USE_GNOME_IMPL=3D	libidl linc
+
+libglade2_LIB_DEPENDS=3D	glade-2.0.0:${PORTSDIR}/devel/libglade2
+libglade2_DETECT=3D	${X11BASE}/libdata/pkgconfig/libglade-2.0.pc
+libglade2_USE_GNOME_IMPL=3Dlibxml2 gtk20
+
+libxml2_LIB_DEPENDS=3D	xml2.5:${PORTSDIR}/textproc/libxml2
+libxml2_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/libxml-2.0.pc
+
+libxslt_LIB_DEPENDS=3D	xslt.1:${PORTSDIR}/textproc/libxslt
+libxslt_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/libxslt.pc
+libxslt_USE_GNOME_IMPL=3D	libxml2
+
+bonoboactivation_LIB_DEPENDS=3D	bonobo-activation.4:${PORTSDIR}/devel/bono=
bo-activation
+bonoboactivation_DETECT=3D	${LOCALBASE}/libdata/pkgconfig/bonobo-activatio=
n-2.0.pc
+bonoboactivation_USE_GNOME_IMPL=3Dlibxml2 orbit2
+
+libbonobo_LIB_DEPENDS=3D	bonobo-2.0:${PORTSDIR}/devel/libbonobo
+libbonobo_DETECT=3D	${LOCALBASE}/libdata/pkgconfig/libbonobo-2.0.pc
+libbonobo_USE_GNOME_IMPL=3Dbonoboactivation
+
+gconf2_LIB_DEPENDS=3D	gconf-2.5:${PORTSDIR}/devel/gconf2
+gconf2_DETECT=3D		${X11BASE}/libdata/pkgconfig/gconf-2.0.pc
+gconf2_USE_GNOME_IMPL=3D	orbit2 libxml2 gtk20
+
+gnomevfs2_LIB_DEPENDS=3D	gnomevfs-2.0:${PORTSDIR}/devel/gnomevfs2
+gnomevfs2_DETECT=3D	${X11BASE}/libdata/pkgconfig/gnome-vfs-2.0.pc
+gnomevfs2_USE_GNOME_IMPL=3Dgconf2 libbonobo
+
+gail_LIB_DEPENDS=3D	gailutil.17:${PORTSDIR}/x11-toolkits/gail
+gail_DETECT=3D		${X11BASE}/libdata/pkgconfig/gail.pc
+gail_USE_GNOME_IMPL=3D	libgnomecanvas
+
+libgnomecanvas_LIB_DEPENDS=3D	gnomecanvas-2.0:${PORTSDIR}/graphics/libgnom=
ecanvas
+libgnomecanvas_DETECT=3D		${X11BASE}/libdata/pkgconfig/libgnomecanvas-2.0.=
pc
+libgnomecanvas_USE_GNOME_IMPL=3D	libglade2 libartlgpl2
+
+libartlgpl2_LIB_DEPENDS=3D	art_lgpl_2.5:${PORTSDIR}/graphics/libart_lgpl2
+libartlgpl2_DETECT=3D		${LOCALBASE}/libdata/pkgconfig/libart-2.0.pc
+
+libgnomeprint_LIB_DEPENDS=3D	gnomeprint-2.0:${PORTSDIR}/print/libgnomeprin=
t
+libgnomeprint_DETECT=3D		${X11BASE}/libdata/pkgconfig/libgnomeprint-2.0.pc
+libgnomeprint_USE_GNOME_IMPL=3D	libbonobo libartlgpl2 gtk20
+
+libgnomeprintui_LIB_DEPENDS=3D	gnomeprintui-2.0:${PORTSDIR}/x11-toolkits/l=
ibgnomeprintui
+libgnomeprintui_DETECT=3D		${X11BASE}/libdata/pkgconfig/libgnomeprintui-2.=
0.pc
+libgnomeprintui_USE_GNOME_IMPL=3D	libgnomeprint libgnomecanvas
+
+libgnome_LIB_DEPENDS=3D	gnome-2.0:${PORTSDIR}/x11/libgnome
+libgnome_DETECT=3D	${X11BASE}/libdata/pkgconfig/libgnome-2.0.pc
+libgnome_USE_GNOME_IMPL=3Dlibxslt gnomevfs2
+
+libbonoboui_LIB_DEPENDS=3D	bonoboui-2.0:${PORTSDIR}/x11-toolkits/libbonobo=
ui
+libbonoboui_DETECT=3D		${X11BASE}/libdata/pkgconfig/libbonoboui-2.0.pc
+libbonoboui_USE_GNOME_IMPL=3D	libgnomecanvas libgnome
+
+libgnomeui_LIB_DEPENDS=3D		gnomeui-2.0:${PORTSDIR}/x11-toolkits/libgnomeui
+libgnomeui_DETECT=3D		${X11BASE}/libdata/pkgconfig/libgnomeui-2.0.pc
+libgnomeui_USE_GNOME_IMPL=3D	libbonoboui
+
+atspi_LIB_DEPENDS=3D	spi.1:${PORTSDIR}/x11-toolkits/at-spi
+atspi_DETECT=3D		${X11BASE}/libdata/pkgconfig/cspi-1.0.pc
+atspi_USE_GNOME_IMPL=3D	gail libbonobo
+
+libgailgnome_RUN_DEPENDS=3D	${X11BASE}/lib/gtk-2.0/modules/libgail-gnome.s=
o
+libgailgnome_DETECT=3D		${X11BASE}/libdata/pkgconfig/libgail-gnome.pc
+libgailgnome_USE_GNOME_IMPL=3D	libgnomeui atspi
+
+libgtkhtml_LIB_DEPENDS=3D	gtkhtml-2.0:${PORTSDIR}/www/libgtkhtml
+libgtkhtml_DETECT=3D	${X11BASE}/libdata/pkgconfig/libgtkhtml-2.0.pc
+libgtkhtml_USE_GNOME_IMPL=3Dlibxslt gnomevfs2 gail
+
+gnomedesktop_LIB_DEPENDS=3D	gnome-desktop-2.0:${PORTSDIR}/x11/gnomedesktop
+gnomedesktop_DETECT=3D		${X11BASE}/libdata/pkgconfig/gnome-desktop-2.0.pc
+gnomedesktop_USE_GNOME_IMPL=3D	libgnomeui
+gnomedesktop_GNOME_DESKTOP=3D	2
+
+libwnck_LIB_DEPENDS=3D	wnck-1.4:${PORTSDIR}/x11-toolkits/libwnck
+libwnck_DETECT=3D		${X11BASE}/libdata/pkgconfig/libwnck-1.0.pc
+libwnck_USE_GNOME_IMPL=3D	gtk20
+
+vte_LIB_DEPENDS=3D	vte.4:${PORTSDIR}/x11-toolkits/vte
+vte_DETECT=3D		${X11BASE}/libdata/pkgconfig/vte.pc
+vte_USE_GNOME_IMPL=3D	gtk20
+
+libzvt_LIB_DEPENDS=3D	zvt-2.0.0:${PORTSDIR}/x11-toolkits/libzvt
+libzvt_DETECT=3D		${X11BASE}/libdata/pkgconfig/libzvt-2.0.pc
+libzvt_USE_GNOME_IMPL=3D	gtk20
+
+librsvg2_LIB_DEPENDS=3D	rsvg-2.2:${PORTSDIR}/graphics/librsvg2
+librsvg2_DETECT=3D	${X11BASE}/libdata/pkgconfig/librsvg-2.0.pc
+librsvg2_USE_GNOME_IMPL=3Dlibartlgpl2 libxml2 gtk20
+
+eel2_LIB_DEPENDS=3D	eel-2.2:${PORTSDIR}/x11-toolkits/eel2
+eel2_DETECT=3D		${X11BASE}/libdata/pkgconfig/eel-2.0.pc
+eel2_USE_GNOME_IMPL=3D	gnomevfs2 libgnomeui gail
+
+gnomepanel_LIB_DEPENDS=3D	panel-applet-2.0:${PORTSDIR}/x11/gnomepanel
+gnomepanel_DETECT=3D	${X11BASE}/libdata/pkgconfig/libpanelapplet-2.0.pc
+gnomepanel_USE_GNOME_IMPL=3Dlibwnck gnomedesktop
+gnomepanel_GNOME_DESKTOP=3D2
+
+# End component definition section
+
+# Hack USE_GNOME to the new GNOMENG style for port mataintainers that
+# didn't do so themselves.  This will allow us to get rid of the old
+# GNOME porting infrastructure more quickly.
+
+.if defined(USE_GNOME)
+. if ${USE_GNOME}=3D=3D"yes"
+USE_GNOME=3Dgnomeprefix gnomehack gtkhtml libpanel
+. endif
+.endif
=20
 # This section defines tests for optional software.  These work off four
 # types of variables:  WANT_GNOME, WITH_GNOME, HAVE_GNOME and USE_GNOME.
@@ -225,18 +374,28 @@
 # ... Do some other things ...
 # .endif
=20
+# We also check each component to see if it has a desktop requirement.  If
+# it does, and its requirement disagrees with the user's chosen desktop,
+# do not add the component to the HAVE_GNOME list.
+
 _USE_GNOME_SAVED:=3D${USE_GNOME}
 HAVE_GNOME?=3D
 .if (defined(WANT_GNOME) && !defined(WITHOUT_GNOME))
 . for component in ${_USE_GNOME_ALL}
-.    if exists(${${component}_DETECT})
+.      if defined(WITH_GNOME_DESKTOP) && defined(${component}_GNOME_DESKTO=
P)
+.         if ${WITH_GNOME_DESKTOP}=3D=3D${${component}_GNOME_DESKTOP}
 HAVE_GNOME+=3D	${component}
-.    elif defined(WITH_GNOME)
-.      if ${WITH_GNOME}=3D=3D"yes" || ${WITH_GNOME:M${component}}!=3D"" ||=
 \
-         ${WITH_GNOME}=3D=3D"1"
+.         endif
+.      else
+.         if exists(${${component}_DETECT})
 HAVE_GNOME+=3D	${component}
-.      endif
-.    endif
+.         elif defined(WITH_GNOME)
+.            if ${WITH_GNOME}=3D=3D"yes" || ${WITH_GNOME:M${component}}!=
=3D"" || \
+                ${WITH_GNOME}=3D=3D"1"
+HAVE_GNOME+=3D	${component}
+.            endif
+.         endif
+.       endif
 . endfor
 .elif defined(WITHOUT_GNOME)
 .  if ${WITHOUT_GNOME}!=3D"yes" && ${WITHOUT_GNOME}!=3D"1"
@@ -263,8 +422,17 @@
 .  endfor
 . endfor
=20
-# Then use already expanded USE_GNOME_IMPL to expand USE_GNOME
+# Then use already expanded USE_GNOME_IMPL to expand USE_GNOME.
+# Also, check to see if each component has a desktop requirement.  If it d=
oes,
+# and if the user's chosen desktop is not of the same version, mark the
+# port as broken.
 . for component in ${USE_GNOME}
+.      if defined(WITH_GNOME_DESKTOP) && defined(${component}_GNOME_DESKTO=
P)
+.         if ${WITH_GNOME_DESKTOP}!=3D${${component}_GNOME_DESKTOP}
+BROKEN=3D	${PORTNAME} wants to use the GNOME ${${component}_GNOME_DESKTOP}=
=20
+BROKEN+=3Ddesktop, but you wish to use the GNOME ${WITH_GNOME_DESKTOP} des=
ktop
+.         endif
+.      endif
 .  if ${_USE_GNOME_ALL:M${component}}=3D=3D""
 BROKEN=3D	"Unknown component ${component}"
 .  endif

--=-Jg6iCZv2IYfGIC633PZy--

--=-TfuDRVsLB817dvG6SXPo
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQA+Oe+yb2iPiv4Uz4cRAgasAJ98Dgjsv0zBNER2IJSO1Z+wXGdkngCcCW49
Jk6G4UTs7cExgOi3Nzjc8qM=
=EFWc
-----END PGP SIGNATURE-----

--=-TfuDRVsLB817dvG6SXPo--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-gnome" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1043984306.30324.45.camel>