Bug 178678 - [patch] Cleanup and take maintainership for cad/gspiceui
Summary: [patch] Cleanup and take maintainership for cad/gspiceui
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Niclas Zeising
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-16 01:30 UTC by Kevin Zheng
Modified: 2013-05-20 16:00 UTC (History)
0 users

See Also:


Attachments
file.diff (3.77 KB, patch)
2013-05-16 01:30 UTC, Kevin Zheng
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Zheng 2013-05-16 01:30:00 UTC
Do quite a bit of cleanup work for cad/gspiceui. This means:
 - Trim Makefile header
 - Take maintainership
 - Install a nice-looking desktop icon (and bump PORTREVISION)
 - Remove LICENSE_FILE for standard license
 - Improve OPTIONS now that we have optionsng
 - Update pkg-descr and WWW

Fix: Apply the attached patch using `svn patch <file>`.

Patch attached with submission follows:
Comment 1 Niclas Zeising freebsd_committer freebsd_triage 2013-05-16 09:48:53 UTC
Responsible Changed
From-To: freebsd-ports-bugs->zeising

I'll take it.
Comment 2 Niclas Zeising freebsd_committer freebsd_triage 2013-05-16 09:55:19 UTC
Hi!
A couple of questions and comments.  You group the options, this is not
normally done unless you need to have at least one option, or exactly
one option, or similar.  For the backend options, do you mean that
exactly one (radio button) must be selected, or at least one?  For the
viewer option, I believe it's not needed to put it in a separate group.
Have a look at
http://www.freebsd.org/doc/en/books/porters-handbook/makefile-options.html#AEN2686
for details on how optionsNG works, more specifically radio- and
multiple choice groups.
Regards!
-- 
Niclas Zeising
Comment 3 Niclas Zeising freebsd_committer freebsd_triage 2013-05-16 09:55:57 UTC
State Changed
From-To: open->feedback

Waiting to hear back wrt. comments on patch.
Comment 4 Kevin Zheng 2013-05-16 21:41:58 UTC
Hi Niclas,

Thanks for taking a careful look at my submission.

On 05/16/2013 03:55, Niclas Zeising wrote:
> A couple of questions and comments.  You group the options, this is not
> normally done unless you need to have at least one option, or exactly
> one option, or similar.  For the backend options, do you mean that
> exactly one (radio button) must be selected, or at least one?  For the
> viewer option, I believe it's not needed to put it in a separate group.

The backend options simply pull in the respective simulators as a run
dependency. Support for both are compiled into the resulting binary no
matter what options are chosen. While it doesn't make sense to run it
without a simulator installed, I don't want to force the user to pick
one or the other so that I give them the opportunity to run their own
binary, as both the gnucap and ngspice binary are out of date.

The same goes with the VIEWER option. gspiceui supports both gwave and
gaw, except we don't have gaw in the ports tree yet. The idea was so
that I could add it once it arrived. For now, perhaps it's better to
take out that option group?

Thanks,
Kevin Zheng
Comment 5 Niclas Zeising freebsd_committer freebsd_triage 2013-05-20 12:35:47 UTC
Hello!
Sorry for not getting back to you sooner, I was elsewhere occupied
during the weekend.  Thank you for your explanation and comments.  I've
made some notes further down as well.

On 05/16/13 22:41, Kevin Zheng wrote:
> Hi Niclas,
> 
> Thanks for taking a careful look at my submission.
> 
> On 05/16/2013 03:55, Niclas Zeising wrote:
>> A couple of questions and comments.  You group the options, this is not
>> normally done unless you need to have at least one option, or exactly
>> one option, or similar.  For the backend options, do you mean that
>> exactly one (radio button) must be selected, or at least one?  For the
>> viewer option, I believe it's not needed to put it in a separate group.
> 
> The backend options simply pull in the respective simulators as a run
> dependency. Support for both are compiled into the resulting binary no
> matter what options are chosen. While it doesn't make sense to run it
> without a simulator installed, I don't want to force the user to pick
> one or the other so that I give them the opportunity to run their own
> binary, as both the gnucap and ngspice binary are out of date.

Ok, that makes sense.
> 
> The same goes with the VIEWER option. gspiceui supports both gwave and
> gaw, except we don't have gaw in the ports tree yet. The idea was so
> that I could add it once it arrived. For now, perhaps it's better to
> take out that option group?

Ok, I understand.
I just wanted some clarification, in case you had misunderstood the
various group options, or meant radio buttons or so instead.
I now understand better the decisions you made while working with the
port, and I don't believe you need to change anything.  I will look
through the patch again and work on getting it in the ports tree.
Regards!
-- 
Niclas Zeising
Comment 6 Niclas Zeising freebsd_committer freebsd_triage 2013-05-20 12:37:15 UTC
State Changed
From-To: feedback->open

Feedback recieved.
Comment 7 dfilter service freebsd_committer freebsd_triage 2013-05-20 15:58:00 UTC
Author: zeising
Date: Mon May 20 14:57:46 2013
New Revision: 318603
URL: http://svnweb.freebsd.org/changeset/ports/318603

Log:
  Do quite a bit of cleanup work for cad/gspiceui. This means:
  - Trim Makefile header
  - Take maintainership
  - Install a nice-looking desktop icon (and bump PORTREVISION)
  - Remove LICENSE_FILE for standard license
  - Improve OPTIONS now that we have optionsng
  - Update pkg-descr and WWW
  
  Pass maitanership to submitter
  
  PR:		ports/178678
  Submitted by:	Kevin Zheng <kevinz5000@gmail.com>

Modified:
  head/cad/gspiceui/Makefile
  head/cad/gspiceui/pkg-descr

Modified: head/cad/gspiceui/Makefile
==============================================================================
--- head/cad/gspiceui/Makefile	Mon May 20 14:51:33 2013	(r318602)
+++ head/cad/gspiceui/Makefile	Mon May 20 14:57:46 2013	(r318603)
@@ -1,29 +1,31 @@
-# New ports collection makefile for:	gspiceui
-# Date created:		30 April 2006
-# Whom:			Stanislav Sedov <ssedov@mbsd.msk.ru>
-#
+# Created by: Stanislav Sedov <ssedov@mbsd.msk.ru>
 # $FreeBSD$
-#
 
 PORTNAME=	gspiceui
 PORTVERSION=	1.0.00
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	cad
 MASTER_SITES=	SF/${PORTNAME}/gSpiceUI/${PORTNAME}-v${PORTVERSION}
 DISTNAME=	${PORTNAME}-v${PORTVERSION}
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	GUI frontend for gnucap/ng-spice circuit simulators
+MAINTAINER=	kevinz5000@gmail.com
+COMMENT=	GUI frontend to gnucap and ngspice circuit simulators
 
 LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/License
 
-RUN_DEPENDS=	gwave:${PORTSDIR}/cad/gwave
+RUN_DEPENDS=	# none if no options are set
 
-OPTIONS_DEFINE=	NGSPICE GNUCAP EXAMPLES DOCS
-OPTIONS_DEFAULT=	NGSPICE
-NGSPICE_DESC=	Use ng-spice as backend
-GNUCAP_DESC=	Use gnucap as backend
+OPTIONS_DEFINE=	DOCS EXAMPLES
+OPTIONS_GROUP=	BACKEND VIEWER
+
+OPTIONS_GROUP_BACKEND=	GNUCAP NGSPICE
+OPTIONS_GROUP_VIEWER=	GWAVE
+
+GNUCAP_DESC=	Depend on gnucap as a simulation backend
+NGSPICE_DESC=	Depend on ngspice as a simulation backend
+GWAVE_DESC=	Depend on gwave waveform viewer
+
+OPTIONS_DEFAULT=	NGSPICE GWAVE
 
 USE_WX=		2.6+
 WX_UNICODE=	yes
@@ -31,19 +33,27 @@ USE_GCC=	4.6+
 USE_GMAKE=	yes
 MAKE_JOBS_SAFE=	yes
 
+DESKTOP_ENTRIES=	"GSpiceUI" "Circuit Simulator GUI" \
+			"${PREFIX}/share/pixmaps/gspiceui-48x48.xpm" \
+			"gspiceui" "Science;Electronics;" false
+
 MAN1=		gspiceui.1
 PORTDOCS=	*
 PORTEXAMPLES=	*
-PLIST_FILES=	bin/gspiceui
+PLIST_FILES=	bin/gspiceui share/pixmaps/gspiceui-48x48.xpm
 
 .include <bsd.port.options.mk>
 
+.if ${PORT_OPTIONS:MGNUCAP}
+RUN_DEPENDS+=	gnucap:${PORTSDIR}/cad/gnucap
+.endif
+
 .if ${PORT_OPTIONS:MNGSPICE}
 RUN_DEPENDS+=	ngspice:${PORTSDIR}/cad/ngspice_rework
 .endif
 
-.if ${PORT_OPTIONS:MGNUCAP}
-RUN_DEPENDS+=	gnucap:${PORTSDIR}/cad/gnucap
+.if ${PORT_OPTIONS:MGWAVE}
+RUN_DEPENDS+=	gwave:${PORTSDIR}/cad/gwave
 .endif
 
 post-patch:
@@ -53,10 +63,13 @@ post-patch:
 		 s|$$(WXCFG)|$$(WX_CONFIG)|g ; \
 		 s|$$(CC)|$$(CXX)|g' ${WRKSRC}/src/Makefile
 	@${REINPLACE_CMD} -e \
-		's|share/gspiceui|share/doc/gspiceui|g' ${WRKSRC}/src/main/HelpTasks.cpp
+		's|share/gspiceui|${DOCSDIR}|g' \
+		${WRKSRC}/src/main/HelpTasks.cpp
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/bin/gspiceui ${PREFIX}/bin
+	${INSTALL_DATA} ${WRKSRC}/src/icons/gspiceui-48x48.xpm \
+	    ${PREFIX}/share/pixmaps
 	${INSTALL_MAN} ${WRKSRC}/gspiceui.1 ${MANPREFIX}/man/man1
 .if ${PORT_OPTIONS:MDOCS}
 	@${MKDIR} ${DOCSDIR}

Modified: head/cad/gspiceui/pkg-descr
==============================================================================
--- head/cad/gspiceui/pkg-descr	Mon May 20 14:51:33 2013	(r318602)
+++ head/cad/gspiceui/pkg-descr	Mon May 20 14:57:46 2013	(r318603)
@@ -1,16 +1,6 @@
-This port provides a GUI for two freely available SPICE electronic circuit
-simulation engines: GNU-Cap and Ng-Spice.
+GSpiceUI (GNU Spice GUI) is intended to provide a graphical frontend to freely
+available circuit simulators, including gnucap and ngspice. It can use
+gnetlist to import schematics or net list files and gwave to display
+simulation results.
 
-Current features:
-	Import gschem schematic files using gentlist. 
-	Load and parse circuit description (net list) files. 
-	Provides a GUI interface for GNU-Cap OP, DC, AC and Transient
-		analyses and generates appropriate simulator commands
-		based on user input. 
-	Provides a GUI interface for Ng-Spice DC, AC and Transient
-		analyses and generates appropriate simulator commands
-		based on user input. 
-	The raw output may be viewed for any processes initiated by gspiceui. 
-	Formatting of simulator output so that it may be plotted using gwave.
-
-WWW: http://www.geda.seul.org/tools/gspiceui/index.html
+WWW: http://sourceforge.net/projects/gspiceui/
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 8 Niclas Zeising freebsd_committer freebsd_triage 2013-05-20 15:58:12 UTC
State Changed
From-To: open->closed

Committed. Thanks!