Skip site navigation (1)Skip section navigation (2)
Date:      7 Oct 2012 04:15:27 -0000
From:      Michael Gmelin <freebsd@grem.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/172427: [PATCH] polish/pl-gnugadu2: Converting port to new options framework
Message-ID:  <20121007041527.60481.qmail@mail.grem.de>
Resent-Message-ID: <201210070420.q974KHkE064208@freefall.freebsd.org>

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

>Number:         172427
>Category:       ports
>Synopsis:       [PATCH] polish/pl-gnugadu2: Converting port to new options framework
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 07 04:20:17 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Michael Gmelin
>Release:        FreeBSD 9.0-RELEASE amd64
>Organization:
Grem Equity GmbH
>Environment:
System: FreeBSD bsd64.grem.de 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC
>Description:
The patch below converts the port to use the new options framework[1]
and converts the Makefile header to the new format[2].

The patch is to be applied using:

patch -p0 -E </path/to/patchfile

Note that this patch used the following paradigm to detect plugins:

"If dependency is available and WITHOUT option is not set, set WITH
option". Basically exploiting the WITH/WITHOUT misfeature to allow
users to forcibly turn off plugins. I worked around that by
introducing an AUTODETECT option that's on by default but can be
disabled, so users can manually select the exact set of options they
want.

Not sure if this is the best way to solve this issue, but at least this
way it should be clear to the user what's happening.

No attempts have been made to fix any potential issues the port might
have beyond this scope (e.g. ABI version specifications in LIB_DEPENDS).

See also:
1. http://lists.freebsd.org/pipermail/freebsd-ports/2012-October/078676.html
2. http://lists.freebsd.org/pipermail/freebsd-ports/2012-August/077801.html


Generated with FreeBSD Port Tools 0.99_6 (mode: change, diff: suffix)
>How-To-Repeat:
>Fix:

--- pl-gnugadu2-2.3.0_11.patch begins here ---
diff -ruN --exclude=CVS ../gnugadu2.orig/Makefile ./Makefile
--- ../gnugadu2.orig/Makefile	2012-10-07 02:36:21.095235145 +0200
+++ ./Makefile	2012-10-07 04:06:10.315224836 +0200
@@ -1,9 +1,5 @@
-# Ports collection makefile for: gnugadu2
-# Date created:		12 january 2004
-# Whom: 		smyru@heron.pl
-#
-# $FreeBSD: ports/polish/gnugadu2/Makefile,v 1.57 2012/06/01 05:23:26 dinoex Exp $
-#
+# Created by: smyru@heron.pl
+# $FreeBSD: $
 
 PORTNAME=	gnugadu2
 PORTVERSION=	2.3.0
@@ -49,32 +45,41 @@
 CPPFLAGS+=	-I${LOCALBASE}/include
 LDFLAGS+=	-L${LOCALBASE}/lib
 
-OPTIONS=	TLEN	"Enable Tlen.pl network plugin"		off \
-		JABBER	"Enable Jabber loudmouth plugin"	off \
-		DBUS	"Enable D-Bus plugin"			off \
-		DOCKLET	"Enable fd.o docklet plugin"		on \
-		DOCKAPP	"Enable WindowMaker dockapp plugin"	off \
-		GTKSPELL	"Enable GTKSpell checker"	off \
-		XOSD	"Enable On-Screen-Display messages"	off \
-		ARTS	"Build with aRts sound server"		off \
-		ESOUND	"Build with esound sound server"	off
+OPTIONS_DEFINE=	ARTS AUTODETECT DBUS DOCKAPP DOCKLET ESOUND \
+		GTKSPELL JABBER TLEN XOSD
+OPTIONS_DEFAULT=AUTODETECT DOCKLET
 
-.include <bsd.port.pre.mk>
+AUTODETECT_DESC=Autodetect plugins
+DOCKLET_DESC=	Enable fd.o docklet plugin
+DOCKAPP_DESC=	Enable WindowMaker dockapp plugin
+GTKSPELL_DESC=	Enable GTKSpell checker
+TLEN_DESC=	Enable Tlen.pl network plugin
+XOSD_DESC=	Enable On-Screen-Display messages
 
-.if (${HAVE_GNOME:Mesound}!="") && !defined(WITHOUT_ESOUND)
-WITH_ESOUND=	yes
-.endif
+#.if ${${HAVE_GNOME:Mesound}!="" && empty(PORT_OPTIONS:MESOUND)
 
-# does not work with newer dbus versions
-.if exists(${LOCALBASE}/lib/libdbus-1.so) && !defined(WITHOUT_DBUS)
-WITH_DBUS=	yes
-.endif
+.include <bsd.port.pre.mk> # can't change this untile HAVE_GNOME has been fixed
 
-.if exists(${LOCALBASE}/lib/libgtkspell.so) && !defined(WITHOUT_GTKSPELL)
-WITH_GTKSPELL=	yes
+.if ${PORT_OPTIONS:MAUTODETECT}
+#detect arts
+.if exists(${LOCALBASE}/lib/libartsc.so) && !${PORT_OPTIONS:MARTS}
+PORT_OPTIONS+=	ARTS
+.endif
+#detect dbus - only works with old versions
+.if exists(${LOCALBASE}/lib/libdbus-1.so)  && !${PORT_OPTIONS:MDBUS}
+PORT_OPTIONS+=	DBUS
+.endif
+#detect esound
+.if ${HAVE_GNOME:Mesound}!="" && !${PORT_OPTIONS:MESOUND}
+PORT_OPTIONS+=	ESOUND
+.endif
+#detect gtkspell
+.if exists(${LOCALBASE}/lib/libgtkspell.so) && !${PORT_OPTIONS:MGTKSPELL}
+PORT_OPTIONS+=	GTKSPELL
+.endif
 .endif
 
-.if defined(WITH_TLEN)
+.if ${PORT_OPTIONS:MTLEN}
 LIB_DEPENDS+=	tlen.1:${PORTSDIR}/polish/libtlen
 CONFIGURE_ARGS+=	--with-tlen
 PLIST_SUB+=	TLEN:=""
@@ -83,7 +88,7 @@
 PLIST_SUB+=	TLEN:="@comment "
 .endif
 
-.if defined(WITH_JABBER)
+.if ${PORT_OPTIONS:MJABBER}
 LIB_DEPENDS+=	loudmouth-1.0:${PORTSDIR}/net-im/loudmouth
 CONFIGURE_ARGS+=	--with-jabber
 PLIST_SUB+=	JABBER:=""
@@ -92,7 +97,7 @@
 PLIST_SUB+=	JABBER:="@comment "
 .endif
 
-.if defined(WITHOUT_DOCKLET)
+.if !${PORT_OPTIONS:MDOCKLET}
 CONFIGURE_ARGS+=	--without-docklet-system-tray
 PLIST_SUB+=	DOCKLET:="@comment "
 .else
@@ -100,7 +105,7 @@
 PLIST_SUB+=	DOCKLET:=""
 .endif
 
-.if defined(WITH_DOCKAPP)
+.if ${PORT_OPTIONS:MDOCKAPP}
 CONFIGURE_ARGS+=	--with-docklet_dockapp
 PLIST_SUB+=	DOCKAPP:=""
 .else
@@ -108,14 +113,14 @@
 PLIST_SUB+=	DOCKAPP:="@comment "
 .endif
 
-.if defined(WITH_GTKSPELL)
+.if ${PORT_OPTIONS:MGTKSPELL}
 LIB_DEPENDS+=	gtkspell.0:${PORTSDIR}/textproc/gtkspell
 CONFIGURE_ARGS+=	--with-gtkspell
 .else
 CONFIGURE_ARGS+=	--without-gtkspell
 .endif
 
-.if defined(WITH_DBUS)
+.if ${PORT_OPTIONS:MDBUS}
 LIB_DEPENDS+=	dbus-1.3:${PORTSDIR}/devel/dbus
 CONFIGURE_ARGS+=	--with-dbus \
 			--with-dbus-dir=${PREFIX}/share/dbus-1/services
@@ -125,7 +130,7 @@
 PLIST_SUB+=	DBUS:="@comment "
 .endif
 
-.if defined(WITH_ESOUND)
+.if ${PORT_OPTIONS:MESOUND}
 PKGNAMESUFFIX=	-esound
 USE_GNOME+=	esound
 CONFIGURE_ARGS+=	--with-esd
@@ -135,7 +140,7 @@
 PLIST_SUB+=	ESOUND:="@comment "
 .endif
 
-.if defined(WITH_ARTS)
+.if ${PORT_OPTIONS:MARTS}
 LIB_DEPENDS+=	artsc.0:${PORTSDIR}/audio/arts
 CONFIGURE_ARGS+=	--with-arts
 PLIST_SUB+=	ARTS:=""
@@ -144,7 +149,7 @@
 PLIST_SUB+=	ARTS:="@comment "
 .endif
 
-.if defined(WITH_XOSD)
+.if ${PORT_OPTIONS:MXOSD}
 LIB_DEPENDS+=	xosd.4:${PORTSDIR}/misc/xosd
 CONFIGURE_ARGS+=	--with-xosd
 PLIST_SUB+=	XOSD:=""
--- pl-gnugadu2-2.3.0_11.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



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